Class BaseArc2D
java.lang.Object
org.web3d.vrml.renderer.common.nodes.AbstractNode
org.web3d.vrml.renderer.common.nodes.geom2d.BaseArc2D
- All Implemented Interfaces:
VRMLNode,FrameStateListener,VRMLGeometryNodeType,VRMLNodeType
An abstract implementation of the BaseArc2D
- Version:
- $Id: BaseArc2D.java 12346 2015-09-04 01:03:17Z brutzman $
- Author:
- Terry Norbraten, NPS MOVES
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intIndex of the end angleprotected static final intIndex of the arc radiusprotected static final intIndex of the start angleprotected floatprotected floatprotected floatFields inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
errorReporter, FIELD_METADATA, fieldLocalData, hasChanged, inSetup, isDEF, isStatic, LAST_NODE_INDEX, layerIds, nodeName, pMetadata, refCounts, removedLayerIds, stateManager, STATIC_SCENE_GRAPH, vfMetadata, vrmlMajorVersion, vrmlMinorVersion -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstruct a default instance of this class with the bind flag set to false and no time information set (effective value of zero).protectedBaseArc2D(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a listener for local color changes.voidAdd a listener for texture coordinate generation mode changes.getFieldDeclaration(int index) Get the declaration of the field at the given index.intgetFieldIndex(String fieldName) Get the index of the given field name.getFieldValue(int index) Get the value of a field.int[]Get the list of indices that correspond to fields that contain nodes i.e. MFNode and SFNode).intGet the number of fields defined for this node.intGet the number of texture coordinate sets contained by this nodeintGet the primary type of this node.getTexCoordGenMode(int setNum) Get the texture coordinate generation mode.booleanSpecified whether this node has alpha values in the local colour information.booleanSpecified whether this node has color information.booleanisCCW()Get the value of the CCW field.booleanSpecifies whether this node requires lighting.booleanisSolid()Get the value of the solid field.voidRemove a listener for local color changes.voidRemove a listener for texture coordinate generation mode changes.voidsetTextureCount(int count) Set the number of textures that were found on the accompanying Appearance node.voidsetValue(int index, float value) Set the value of the field at the given index as a float.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, throwInitOnlyWriteException, throwInputOnlyWriteException, throwInvalidNodeException, throwInvalidProtoException, throwOutputOnlyWriteException, updateRefCount, updateRefsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.web3d.vrml.nodes.FrameStateListener
allEventsCompleteMethods inherited from interface org.web3d.vrml.lang.VRMLNode
getSecondaryType, getUserData, getVRMLNodeName, isDEF, setErrorReporter, setUserData, setVersionMethods 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
-
Field Details
-
FIELD_START_ANGLE
protected static final int FIELD_START_ANGLEIndex of the start angle- See Also:
-
FIELD_END_ANGLE
protected static final int FIELD_END_ANGLEIndex of the end angle- See Also:
-
FIELD_RADIUS
protected static final int FIELD_RADIUSIndex of the arc radius- See Also:
-
vfStartAngle
protected float vfStartAngle -
vfEndAngle
protected float vfEndAngle -
vfRadius
protected float vfRadius
-
-
Constructor Details
-
BaseArc2D
protected BaseArc2D()Construct a default instance of this class with the bind flag set to false and no time information set (effective value of zero). -
BaseArc2D
Construct a new instance of this node based on the details from the given node. If the node is not the same type, an exception will be thrown.- Parameters:
node- The node to copy- Throws:
IllegalArgumentException- Incorrect Node Type
-
-
Method Details
-
getPrimaryType
public int getPrimaryType()Description copied from interface:VRMLNodeGet the primary type of this node. Replaces the instanceof mechanism for use in switch statements.- Specified by:
getPrimaryTypein interfaceVRMLNode- Returns:
- The primary type
-
getFieldIndex
Description copied from interface:VRMLNodeGet the index of the given field name. If the name does not exist for this node then return a value of -1.- Specified by:
getFieldIndexin interfaceVRMLNode- Parameters:
fieldName- The name of the field we want the index from- Returns:
- The index of the field name or -1
-
getNumFields
public int getNumFields()Description copied from interface:VRMLNodeGet the number of fields defined for this node.- Specified by:
getNumFieldsin interfaceVRMLNode- Returns:
- The number of fields.
-
getNodeFieldIndices
public int[] getNodeFieldIndices()Description copied from interface:VRMLNodeGet the list of indices that correspond to fields that contain nodes i.e. MFNode and SFNode). Used for blind scene graph traversal without needing to spend time querying for all fields etc. If a node does not have any fields that contain nodes, this shall return null. The field list covers all field types, regardless of whether they are readable or not at the VRML-level.- Specified by:
getNodeFieldIndicesin interfaceVRMLNode- Returns:
- The list of field indices that correspond to SF/MFnode fields or null if none
-
getFieldDeclaration
Description copied from interface:VRMLNodeGet the declaration of the field at the given index. This allows for reverse lookup if needed. If the field does not exist, this will give a value of null.- Specified by:
getFieldDeclarationin interfaceVRMLNode- Parameters:
index- The index of the field to get information- Returns:
- A representation of this field's information
-
isSolid
public boolean isSolid()Description copied from interface:VRMLGeometryNodeTypeGet the value of the solid field.- Specified by:
isSolidin interfaceVRMLGeometryNodeType- Returns:
- true This object is solid (ie single sided)
-
isCCW
public boolean isCCW()Description copied from interface:VRMLGeometryNodeTypeGet the value of the CCW field. If the node does not have one, this will return true.- Specified by:
isCCWin interfaceVRMLGeometryNodeType- Returns:
- true if the vertices are CCW ordered
-
isLightingEnabled
public boolean isLightingEnabled()Description copied from interface:VRMLGeometryNodeTypeSpecifies whether this node requires lighting.- Specified by:
isLightingEnabledin interfaceVRMLGeometryNodeType- Returns:
- true Should lighting be enabled
-
setTextureCount
public void setTextureCount(int count) Description copied from interface:VRMLGeometryNodeTypeSet the number of textures that were found on the accompanying Appearance node. Used to set the number of texture coordinates that need to be passed in to the renderer when no explicit texture coordinates were given.- Specified by:
setTextureCountin interfaceVRMLGeometryNodeType- Parameters:
count- The number of texture coordinate sets to add
-
getNumSets
public int getNumSets()Description copied from interface:VRMLGeometryNodeTypeGet the number of texture coordinate sets contained by this node- Specified by:
getNumSetsin interfaceVRMLGeometryNodeType- Returns:
- the number of texture coordinate sets
-
getTexCoordGenMode
Description copied from interface:VRMLGeometryNodeTypeGet the texture coordinate generation mode. The values are constants defined in the X3D Spec under TextureCoordinateGenerator. NULL is returned if the texture coordinates are not generated.- Specified by:
getTexCoordGenModein interfaceVRMLGeometryNodeType- Parameters:
setNum- The set which this tex gen mode refers.- Returns:
- The mode or NULL
-
hasLocalColors
public boolean hasLocalColors()Description copied from interface:VRMLGeometryNodeTypeSpecified whether this node has color information. If so, then it will be used for diffuse terms instead of materials.- Specified by:
hasLocalColorsin interfaceVRMLGeometryNodeType- Returns:
- true Use local color information for diffuse lighting.
-
hasLocalColorAlpha
public boolean hasLocalColorAlpha()Description copied from interface:VRMLGeometryNodeTypeSpecified whether this node has alpha values in the local colour information. If so, then it will be used to override the material's transparency value.- Specified by:
hasLocalColorAlphain interfaceVRMLGeometryNodeType- Returns:
- true when the local color value has inbuilt alpha
-
addLocalColorsListener
Description copied from interface:VRMLGeometryNodeTypeAdd a listener for local color changes. Nulls and duplicates will be ignored.- Specified by:
addLocalColorsListenerin interfaceVRMLGeometryNodeType- Parameters:
l- The listener.
-
removeLocalColorsListener
Description copied from interface:VRMLGeometryNodeTypeRemove a listener for local color changes. Nulls will be ignored.- Specified by:
removeLocalColorsListenerin interfaceVRMLGeometryNodeType- Parameters:
l- The listener.
-
addTexCoordGenModeChanged
Description copied from interface:VRMLGeometryNodeTypeAdd a listener for texture coordinate generation mode changes. Nulls and duplicates will be ignored.- Specified by:
addTexCoordGenModeChangedin interfaceVRMLGeometryNodeType- Parameters:
l- The listener.
-
removeTexCoordGenModeChanged
Description copied from interface:VRMLGeometryNodeTypeRemove a listener for texture coordinate generation mode changes. Nulls will be ignored.- Specified by:
removeTexCoordGenModeChangedin interfaceVRMLGeometryNodeType- Parameters:
l- The listener.
-
setValue
public void setValue(int index, float value) throws InvalidFieldException, InvalidFieldValueException Description copied from interface:VRMLNodeTypeSet the value of the field at the given index as a float. This would be used to set SFFloat field types.- Specified by:
setValuein interfaceVRMLNodeType- Overrides:
setValuein classAbstractNode- Parameters:
index- The index of destination field to setvalue- The new value to use for the node- Throws:
InvalidFieldException- The field index is not knownInvalidFieldValueException- The value provided is not in range or not appropriate for this field
-
getFieldValue
Description copied from interface:VRMLNodeTypeGet 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:
getFieldValuein interfaceVRMLNodeType- Overrides:
getFieldValuein classAbstractNode- Parameters:
index- The index of the field to change.- Returns:
- The class representing the field value
- Throws:
InvalidFieldException- The field index is not known
-