diff --git a/src/java/org/web3d/vrml/renderer/common/nodes/texture/BaseImageTexture.java b/src/java/org/web3d/vrml/renderer/common/nodes/texture/BaseImageTexture.java index 9b0b1ff1105143e7a2b56deb928f566f4883db0a..6aa99a6f08361a210a4f4e7e186e7890b0f5be7b 100644 --- a/src/java/org/web3d/vrml/renderer/common/nodes/texture/BaseImageTexture.java +++ b/src/java/org/web3d/vrml/renderer/common/nodes/texture/BaseImageTexture.java @@ -26,7 +26,9 @@ import org.web3d.vrml.nodes.VRMLSingleExternalNodeType; import org.web3d.vrml.nodes.VRMLFieldData; import org.web3d.vrml.nodes.VRMLUrlListener; import org.web3d.vrml.nodes.VRMLContentStateListener; + import org.web3d.vrml.renderer.common.nodes.BaseTexture2DNode; + import org.web3d.vrml.util.URLChecker; /** @@ -129,17 +131,14 @@ public class BaseImageTexture extends BaseTexture2DNode new VRMLFieldDeclaration(FieldConstants.FIELD, "SFNode", "textureProperties"); - fieldDecl[FIELD_AUTOREFRESH] = new VRMLFieldDeclaration(FieldConstants.FIELD, "SFTime", "autoRefresh"); - fieldDecl[FIELD_AUTOREFRESHTIMELIMIT] = new VRMLFieldDeclaration(FieldConstants.FIELD, "SFTime", "autoRefreshTimeLimit"); - fieldDecl[FIELD_LOAD] = new VRMLFieldDeclaration(FieldConstants.FIELD, "SFBool", @@ -159,7 +158,7 @@ public class BaseImageTexture extends BaseTexture2DNode fieldMap.put("repeatS", FIELD_REPEATS); fieldMap.put("repeatT", FIELD_REPEATT); fieldMap.put("textureProperties", FIELD_TEXTURE_PROPERTIES); - + fieldMap.put("autoRefresh",FIELD_AUTOREFRESH); fieldMap.put("autoRefreshTimeLimit",FIELD_AUTOREFRESHTIMELIMIT); fieldMap.put("load",FIELD_LOAD); @@ -219,7 +218,7 @@ public class BaseImageTexture extends BaseTexture2DNode index = node.getFieldIndex("load"); field = node.getFieldValue(index); vfLoad = field.booleanValue; - } + } catch(VRMLException ve) { throw new IllegalArgumentException(ve.getMessage()); } @@ -292,7 +291,7 @@ public class BaseImageTexture extends BaseTexture2DNode fireFieldChanged(FIELD_LOAD); } } - + /** * Get a string for caching this object. Null means do not cache this * texture. @@ -365,7 +364,7 @@ public class BaseImageTexture extends BaseTexture2DNode public void setWorldUrl(String url) { if((url == null) || (url.isEmpty())) return; - + worldURL = url; } @@ -417,7 +416,7 @@ public class BaseImageTexture extends BaseTexture2DNode return vfURL; } - + //---------------------------------------------------------- // Methods overriding BaseTexture2DNode abstract class. //---------------------------------------------------------- @@ -634,17 +633,24 @@ public class BaseImageTexture extends BaseTexture2DNode @Override public VRMLFieldData getFieldValue(int index) throws InvalidFieldException { VRMLFieldData fieldData = fieldLocalData.get(); - + fieldData.clear(); switch(index) { case FIELD_URL: - fieldData.clear(); fieldData.stringArrayValues = vfURL; fieldData.dataType = VRMLFieldData.STRING_ARRAY_DATA; fieldData.numElements = vfURL.length; break; + case FIELD_AUTOREFRESH: + fieldData.doubleValue = vfAutoRefresh; + fieldData.dataType = VRMLFieldData.DOUBLE_DATA; + break; + case FIELD_AUTOREFRESHTIMELIMIT: + fieldData.doubleValue = vfAutoRefreshTimeLimit; + fieldData.dataType = VRMLFieldData.DOUBLE_DATA; + break; default: - return(super.getFieldValue(index)); + return super.getFieldValue(index); } return fieldData; @@ -723,7 +729,7 @@ public class BaseImageTexture extends BaseTexture2DNode public void setValue(int index, double value) throws InvalidFieldException { - switch(index) + switch(index) { case FIELD_AUTOREFRESH: setAutoRefresh(value);