Class NRNormal
- All Implemented Interfaces:
VRMLNode
,FrameStateListener
,VRMLGeometricPropertyNodeType
,VRMLNodeType
,VRMLNormalNodeType
,NRVRMLNode
The normal node does not occupy a space in the Java 3D scene graph as it is part of the GeometryArray class. This is used as a VRML construct only. When VRML changes the values here, we pass them back courtesy of the listeners to the children nodes.
Vectors are held internally as a flat array of values. The point list returned will always be flat. We do this because Java3D takes point values into the geometry classes as a single flat array. The array returned will always contain exactly the number of points specified even though internally we may do other things.
The effect of this is that point values may be routed out of this node as a flat array of points rather than a 2D array. Receiving nodes should check for this version as well. This implementation will handle being routed either form.
- Version:
- $Revision: 1.3 $
- Author:
- Alan Hudson
-
Field Summary
Fields inherited from class org.web3d.vrml.renderer.common.nodes.render.BaseNormal
FIELD_VECTOR, LAST_NORMAL_INDEX, numVector, vfVector
Fields 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
ConstructorsConstructorDescriptionNRNormal()
Empty constructorNRNormal
(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Methods inherited from class org.web3d.vrml.renderer.common.nodes.render.BaseNormal
getFieldDeclaration, getFieldIndex, getFieldValue, getNodeFieldIndices, getNumFields, getNumNormals, getPrimaryType, getVector, getVectorRef, sendRoute, setValue, setVector
Methods inherited from class org.web3d.vrml.renderer.common.nodes.BaseGeometricPropertyNode
addComponentListener, fireComponentChanged, removeComponentListener
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, 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, 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.FrameStateListener
allEventsComplete
Methods inherited from interface org.web3d.vrml.nodes.VRMLGeometricPropertyNodeType
addComponentListener, removeComponentListener
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.VRMLNodeType
addNodeListener, clearRemovedLayerIds, getFieldValue, 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, setValue, updateRefCount
-
Constructor Details
-
NRNormal
public NRNormal()Empty constructor -
NRNormal
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
- The node is not the same type
-