Class OGLHAnimSegment
java.lang.Object
org.web3d.vrml.renderer.common.nodes.AbstractNode
org.web3d.vrml.renderer.common.nodes.BaseGroupingNode
org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimSegment
org.web3d.vrml.renderer.ogl.nodes.hanim.OGLHAnimSegment
- All Implemented Interfaces:
VRMLNode,FrameStateListener,VRMLBoundedNodeType,VRMLChildNodeType,VRMLGroupingNodeType,VRMLHAnimNodeType,VRMLNodeType,VRMLWorldRootChildNodeType,OGLVRMLNode
OpenGL implementation of a HAnimSegment node.
- Version:
- $Revision: 2.1 $
- Author:
- Justin Couch
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<VRMLPointingDeviceSensorNodeType> A sensor node if we have one set.Fields inherited from class org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimSegment
COORD_NODE_MSG, COORD_PROTO_MSG, DISPLACEMENT_NODE_MSG, DISPLACEMENT_PROTO_MSG, FIELD_CENTER_OF_MASS, FIELD_COORD, FIELD_DISPLACERS, FIELD_MASS, FIELD_MOMENTS_OF_INERTIA, FIELD_NAME, fieldDecl, fieldMap, hanimFactory, hanimImpl, LAST_DISPLACER_INDEX, NUM_FIELDS, numMomentsOfInertia, pCoord, vfCenterOfMass, vfCoord, vfDisplacers, vfMass, vfMomentsOfInertia, vfNameFields inherited from class org.web3d.vrml.renderer.common.nodes.BaseGroupingNode
childCount, FIELD_ADDCHILDREN, FIELD_BBOX_CENTER, FIELD_BBOX_DISPLAY, FIELD_BBOX_SIZE, FIELD_CHILDREN, FIELD_REMOVECHILDREN, FIELD_VISIBLE, hasBindables, LAST_GROUP_INDEX, shareCount, USE_BIND_MSG, vfBboxCenter, vfBboxDisplay, vfBboxSize, vfChildren, vfVisibleFields 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
ConstructorsConstructorDescriptionConstruct a default instance of this node.OGLHAnimSegment(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddChildNode(VRMLNodeType node) Add a single child node to the list of available children.protected voidClear the child node list of all children - both VRML and OpenGL.org.j3d.aviatrix3d.SceneGraphObjectGet the OpenGL scene graph object representation of this node.voidnotifyExternProtoLoaded(int index, VRMLNodeType node) Notify a node that an ExternProto has resolved.protected voidremoveChildNode(VRMLNodeType node) Remove the given node from this grouping node.voidsetHAnimFactory(org.j3d.geom.hanim.HAnimFactory fac) Set the current node factory to use.voidNotification that the construction phase of this node has finished.Methods inherited from class org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimSegment
addDisplacerNode, clearDisplacers, getFieldDeclaration, getFieldIndex, getFieldValue, getHAnimObject, getNodeFieldIndices, getNumFields, sendRoute, setCenterOfMass, setCoord, setMomentsOfInertia, setValue, setValue, setValue, setValue, setValueMethods inherited from class org.web3d.vrml.renderer.common.nodes.BaseGroupingNode
addChild, containsBindableNodes, copy, getBboxCenter, getBboxDisplay, getBboxSize, getChildren, getChildrenSize, getPrimaryType, getVisible, isShared, setBboxCenter, setBboxDisplay, setBboxSize, setChildren, setChildren, setDEF, setShared, setValue, setVisible, updateRefCountMethods 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, removeNodeListener, setErrorReporter, setFrameStateManager, setMetadataObject, setUserData, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setVersion, throwInitOnlyWriteException, throwInputOnlyWriteException, throwInvalidNodeException, throwInvalidProtoException, throwOutputOnlyWriteException, 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
getFieldDeclaration, getFieldIndex, getNodeFieldIndices, getNumFields, getPrimaryType, getSecondaryType, getUserData, getVRMLNodeName, isDEF, setErrorReporter, setUserData, setVersionMethods inherited from interface org.web3d.vrml.nodes.VRMLNodeType
addNodeListener, clearRemovedLayerIds, getFieldValue, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, hasFieldChanged, isSetupFinished, removeNodeListener, sendRoute, setDEF, setFrameStateManager, setMetadataObject, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, updateRefCount
-
Field Details
-
sensorList
A sensor node if we have one set. Only valid during construction
-
-
Constructor Details
-
OGLHAnimSegment
public OGLHAnimSegment()Construct a default instance of this node. The defaults are set by the VRML specification. -
OGLHAnimSegment
Construct a new instance of this node based on the details from the given node. If the node is not a group node, an exception will be thrown.- Parameters:
node- The node to copy- Throws:
IllegalArgumentException- The node is not a HAnimSegment node
-
-
Method Details
-
setHAnimFactory
public void setHAnimFactory(org.j3d.geom.hanim.HAnimFactory fac) Set the current node factory to use. If this is set again, replace the current implementation node with a new one from this new instance. This may be needed at times when the user makes a change that forces the old way to be incompatible and thus needing a different implementation.- Specified by:
setHAnimFactoryin interfaceVRMLHAnimNodeType- Overrides:
setHAnimFactoryin classBaseHAnimSegment- Parameters:
fac- The new factory instance to use
-
getSceneGraphObject
public org.j3d.aviatrix3d.SceneGraphObject getSceneGraphObject()Get the OpenGL scene graph object representation of this node. This will need to be cast to the appropriate parent type when being used. Default implementation returns null.- Specified by:
getSceneGraphObjectin interfaceOGLVRMLNode- Returns:
- The OpenGL representation.
-
setupFinished
public void setupFinished()Notification that the construction phase of this node has finished. If the node would like to do any internal processing, such as setting up geometry, then go for it now.- Specified by:
setupFinishedin interfaceVRMLNodeType- Overrides:
setupFinishedin classBaseHAnimSegment
-
notifyExternProtoLoaded
Description copied from interface:VRMLNodeTypeNotify a node that an ExternProto has resolved. This will verify the objects type and add it to the render sceneGraph.- Specified by:
notifyExternProtoLoadedin interfaceVRMLNodeType- Overrides:
notifyExternProtoLoadedin classAbstractNode- Parameters:
index- The field indexnode- The node resolved
-
clearChildren
protected void clearChildren()Clear the child node list of all children - both VRML and OpenGL.- Overrides:
clearChildrenin classBaseGroupingNode
-
addChildNode
Add a single child node to the list of available children. This auto matically deals with DEF/USE and adds links and branchgroups where appropriate. When nodes are null, we do not add them to the GL representation, only to the vfChildren list.- Overrides:
addChildNodein classBaseGroupingNode- Parameters:
node- The node to view- Throws:
InvalidFieldValueException- This is a bindable node shared
-
removeChildNode
Remove the given node from this grouping node. If the node is not a child of this node, the request is silently ignored.- Overrides:
removeChildNodein classBaseGroupingNode- Parameters:
node- The node to remove
-