Xj3D 2.0 VRML/X3D Code API

org.web3d.vrml.renderer.common.nodes
Class BaseTexture3DNode

java.lang.Object
  extended by org.web3d.vrml.renderer.common.nodes.AbstractNode
      extended by org.web3d.vrml.renderer.common.nodes.BaseTextureNode
          extended by org.web3d.vrml.renderer.common.nodes.BaseTexture3DNode
All Implemented Interfaces:
VRMLNode, FrameStateListener, VRMLAppearanceChildNodeType, VRMLNodeType, VRMLTexture3DNodeType, VRMLTextureNodeType

public abstract class BaseTexture3DNode
extends BaseTextureNode
implements VRMLTexture3DNodeType

Base implementation of a 3D texture object.

Performs the VRML field handling for REPEAT_S, REPEAT_T and REPEAT_R

The node is defined by the X3DTexture3DNode type, which is defined as:

 X3DTexture3DNode : X3DTextureNode {
   SFNode [in,out] metadata NULL [X3DMetadataObject]
   SFBool []       repeatS  FALSE
   SFBool []       repeatT  FALSE
   SFBool []       repeatR  FALSE
 }
 

Version:
$Revision: 1.10 $
Author:
Justin Couch

Field Summary
protected static int FIELD_REPEATR
          Index of the repeatR field
protected static int FIELD_REPEATS
          Index of the repeatS field
protected static int FIELD_REPEATT
          Index of the repeatT field
protected static int LAST_3DTEXTURE_INDEX
          Last valid index used in this class
protected  int textureDepth
          The number of 2D image slices that the user has defined
protected  boolean vfRepeatR
          field SFBool repeatR TRUE
protected  boolean vfRepeatS
          field SFBool repeatS TRUE
protected  boolean vfRepeatT
          field SFBool repeatT TRUE
 
Fields inherited from class org.web3d.vrml.renderer.common.nodes.BaseTextureNode
listenerList
 
Fields inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
BAD_NODE_MSG, errorReporter, FIELD_METADATA, fieldLocalData, hasChanged, INIT_ONLY_WRITE_MSG, inSetup, isDEF, isStatic, LAST_NODE_INDEX, layerIds, METADATA_NODE_MSG, METADATA_PROTO_MSG, nodeName, pMetadata, refCounts, removedLayerIds, stateManager, vfMetadata, vrmlMajorVersion, vrmlMinorVersion
 
Constructor Summary
BaseTexture3DNode(java.lang.String name)
          Default constructor for the node.
 
Method Summary
protected  void copy(VRMLTexture3DNodeType node)
          Set the fields of the grouping node that has the fields set based on the fields of the passed in node.
 int getDepth()
          Get the depth of the texture.
 VRMLFieldData getFieldValue(int index)
          Get the value of a field.
 boolean getRepeatR()
          Get the value of field repeatR.
 boolean getRepeatS()
          Get the value of field repeatS.
 boolean getRepeatT()
          Get the value of field repeatT.
 int getTextureType()
          Get the texture type of this texture.
 void setValue(int index, boolean value)
          Set the value of the field at the given index as an boolean.
 
Methods inherited from class org.web3d.vrml.renderer.common.nodes.BaseTextureNode
addTextureListener, fireTextureImageChanged, fireTextureParamsChanged, getCacheString, removeTextureListener
 
Methods inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
addNodeListener, allEventsComplete, checkNodeType, checkSecondaryType, checkSecondaryType, clearRemovedLayerIds, fireFieldChanged, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, getSecondaryType, getUserData, getVRMLNodeName, hasFieldChanged, isDEF, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, sendRoute, setDEF, setErrorReporter, setFrameStateManager, setMetadataObject, setupFinished, setUserData, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setVersion, updateRefCount, updateRefs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.web3d.vrml.nodes.VRMLTextureNodeType
addTextureListener, getCacheString, removeTextureListener
 
Methods inherited from interface org.web3d.vrml.nodes.VRMLNodeType
addNodeListener, clearRemovedLayerIds, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, hasFieldChanged, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, sendRoute, setDEF, setFrameStateManager, setMetadataObject, setupFinished, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, updateRefCount
 
Methods inherited from interface org.web3d.vrml.lang.VRMLNode
getFieldDeclaration, getFieldIndex, getNodeFieldIndices, getNumFields, getPrimaryType, getSecondaryType, getUserData, getVRMLNodeName, isDEF, setErrorReporter, setUserData, setVersion
 
Methods inherited from interface org.web3d.vrml.nodes.FrameStateListener
allEventsComplete
 

Field Detail

FIELD_REPEATS

protected static final int FIELD_REPEATS
Index of the repeatS field

See Also:
Constant Field Values

FIELD_REPEATT

protected static final int FIELD_REPEATT
Index of the repeatT field

See Also:
Constant Field Values

FIELD_REPEATR

protected static final int FIELD_REPEATR
Index of the repeatR field

See Also:
Constant Field Values

LAST_3DTEXTURE_INDEX

protected static final int LAST_3DTEXTURE_INDEX
Last valid index used in this class

See Also:
Constant Field Values

vfRepeatS

protected boolean vfRepeatS
field SFBool repeatS TRUE


vfRepeatT

protected boolean vfRepeatT
field SFBool repeatT TRUE


vfRepeatR

protected boolean vfRepeatR
field SFBool repeatR TRUE


textureDepth

protected int textureDepth
The number of 2D image slices that the user has defined

Constructor Detail

BaseTexture3DNode

public BaseTexture3DNode(java.lang.String name)
Default constructor for the node. The repeat flags are set to TRUE.

Parameters:
name - The name of the type of node
Method Detail

copy

protected void copy(VRMLTexture3DNodeType node)
Set the fields of the grouping node that has the fields set based on the fields of the passed in node. This will not copy any children nodes, only the local fields.

Parameters:
node - The grouping node to copy info from

getDepth

public int getDepth()
Get the depth of the texture. This is the number of 2D slices that are provided (by the user) and should always be a multiple of 2.

Specified by:
getDepth in interface VRMLTexture3DNodeType
Returns:
A positive multiple of 2 or zero if none defined.

getTextureType

public int getTextureType()
Get the texture type of this texture. Valid entries are defined in the vrml.lang.TextureConstants.

Specified by:
getTextureType in interface VRMLTextureNodeType
Returns:
TextureConstants.TYPE_SINGLE_3D

getRepeatS

public boolean getRepeatS()
Get the value of field repeatS. The field is not writable. Default value is true.

Specified by:
getRepeatS in interface VRMLTexture3DNodeType
Returns:
The current value of repeatS

getRepeatT

public boolean getRepeatT()
Get the value of field repeatT. The field is not writable. Default value is true.

Specified by:
getRepeatT in interface VRMLTexture3DNodeType
Returns:
The current value of repeatT

getRepeatR

public boolean getRepeatR()
Get the value of field repeatR. The field is not writable. Default value is true.

Specified by:
getRepeatR in interface VRMLTexture3DNodeType
Returns:
The current value of repeatR

getFieldValue

public VRMLFieldData getFieldValue(int index)
                            throws InvalidFieldException
Get the value of a field. If the field is a primitive type, it will return a class representing the value. For arrays or nodes it will return the instance directly.

Specified by:
getFieldValue in interface VRMLNodeType
Overrides:
getFieldValue in class AbstractNode
Parameters:
index - The index of the field to change.
Returns:
The class representing the field value
Throws:
InvalidFieldException - The field index is not known

setValue

public void setValue(int index,
                     boolean value)
              throws InvalidFieldException
Set the value of the field at the given index as an boolean. This would be used to set SFBool field types.

Specified by:
setValue in interface VRMLNodeType
Overrides:
setValue in class AbstractNode
Parameters:
index - The index of destination field to set
value - The new value to use for the node
Throws:
InvalidFieldException - The field index is not know

Xj3D 2.0 VRML/X3D Code API

Copyright © 2001 - 2006 Web3D Consortium