Class OGLHAnimHumanoid
java.lang.Object
org.web3d.vrml.renderer.common.nodes.AbstractNode
org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimHumanoid
org.web3d.vrml.renderer.ogl.nodes.hanim.OGLHAnimHumanoid
- All Implemented Interfaces:
VRMLNode
,FrameStateListener
,VRMLBoundedNodeType
,VRMLChildNodeType
,VRMLHAnimHumanoidNodeType
,VRMLHAnimNodeType
,VRMLNodeType
,VRMLWorldRootChildNodeType
,OGLVRMLNode
OpenGL implementation of a HAnimHumanoid node.
This implementation looks like the standard group node but
- Version:
- $Revision: 2.4 $
- Author:
- Justin Couch
-
Field Summary
Fields inherited from class org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimHumanoid
CHILD_NODE_MSG, CHILD_PROTO_MSG, COORD_NODE_MSG, COORD_PROTO_MSG, FIELD_BBOX_CENTER, FIELD_BBOX_DISPLAY, FIELD_BBOX_SIZE, FIELD_CENTER, FIELD_INFO, FIELD_JOINTS, FIELD_NAME, FIELD_ROTATION, FIELD_SCALE, FIELD_SCALE_ORIENTATION, FIELD_SEGMENTS, FIELD_SITES, FIELD_SKELETON, FIELD_SKIN, FIELD_SKIN_COORD, FIELD_SKIN_NORMAL, FIELD_TRANSLATION, FIELD_VERSION, FIELD_VIEWPOINTS, FIELD_VISIBLE, hanimFactory, hanimImpl, HANIMSITE_NODE_MSG, INITONLY_FIELD_MSG, JOINT_NODE_MSG, JOINT_PROTO_MSG, LAST_HUMANOID_INDEX, nodeTmp, NORMAL_NODE_MSG, NORMAL_PROTO_MSG, NUM_FIELDS, numInfo, pSkinCoord, pSkinNormal, SEGMENT_NODE_MSG, SEGMENT_PROTO_MSG, shareCount, SITE_NODE_MSG, SITE_PROTO_MSG, vfBboxCenter, vfBboxDisplay, vfBboxSize, vfCenter, vfInfo, vfJoints, vfName, vfRotation, vfScale, vfScaleOrientation, vfSegments, vfSites, vfSkeleton, vfSkin, vfSkinCoord, vfSkinNormal, vfTranslation, vfVersion, vfViewpoints, vfVisible, VIEWPOINT_NODE_MSG, VIEWPOINT_PROTO_MSG
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
ConstructorsConstructorDescriptionConstruct a default instance of this node.OGLHAnimHumanoid
(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addSkinNode
(VRMLNodeType node) Add a single child node to the list of available children.protected void
addViewpointNode
(VRMLNodeType node) Add a single child node to the list of available children.protected void
Clear the child node list of all children in the VRML node.org.j3d.aviatrix3d.SceneGraphObject
Get the OpenGL scene graph object representation of this node.void
notifyExternProtoLoaded
(int index, VRMLNodeType node) Notify a node that an ExternProto has resolved.void
setErrorReporter
(org.j3d.util.ErrorReporter reporter) Register an error reporter with the engine so that any errors generated by the node's internals can be reported in a nice, pretty fashion.void
setHAnimFactory
(org.j3d.geom.hanim.HAnimFactory fac) Set the current node factory to use.void
Notification that the construction phase of this node has finished.void
Notification that the event model is complete and skeleton should perform all it's updates now.Methods inherited from class org.web3d.vrml.renderer.common.nodes.hanim.BaseHAnimHumanoid
addJointNode, addSegmentNode, addSiteNode, addSkeletonNode, clearJoints, clearSegments, clearSites, clearSkeleton, clearViewpoints, getBboxCenter, getBboxDisplay, getBboxSize, getFieldDeclaration, getFieldIndex, getFieldValue, getHAnimObject, getNodeFieldIndices, getNumFields, getPrimaryType, getVisible, isShared, sendRoute, setBboxCenter, setBboxDisplay, setBboxSize, setCenter, setRotation, setScale, setScaleOrientation, setShared, setSkinCoord, setSkinNormal, setTranslation, setValue, setValue, setValue, setValue, setValue, setVisible
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, removeNodeListener, setDEF, setFrameStateManager, setMetadataObject, setUserData, 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.lang.VRMLNode
getFieldDeclaration, getFieldIndex, getNodeFieldIndices, getNumFields, getPrimaryType, getSecondaryType, getUserData, getVRMLNodeName, isDEF, setUserData, setVersion
Methods 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
-
Constructor Details
-
OGLHAnimHumanoid
public OGLHAnimHumanoid()Construct a default instance of this node. The defaults are set by the VRML specification. -
OGLHAnimHumanoid
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. It does not copy the children nodes, just this node.- Parameters:
node
- The node to copy- Throws:
IllegalArgumentException
- The node is not a Group node
-
-
Method Details
-
updateMesh
public void updateMesh()Notification that the event model is complete and skeleton should perform all it's updates now.- Specified by:
updateMesh
in interfaceVRMLHAnimHumanoidNodeType
- Overrides:
updateMesh
in classBaseHAnimHumanoid
-
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:
setHAnimFactory
in interfaceVRMLHAnimNodeType
- Overrides:
setHAnimFactory
in classBaseHAnimHumanoid
- Parameters:
fac
- The new factory instance to use
-
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:
setupFinished
in interfaceVRMLNodeType
- Overrides:
setupFinished
in classBaseHAnimHumanoid
-
notifyExternProtoLoaded
Description copied from interface:VRMLNodeType
Notify a node that an ExternProto has resolved. This will verify the objects type and add it to the render sceneGraph.- Specified by:
notifyExternProtoLoaded
in interfaceVRMLNodeType
- Overrides:
notifyExternProtoLoaded
in classAbstractNode
- Parameters:
index
- The field indexnode
- The node resolved
-
setErrorReporter
public void setErrorReporter(org.j3d.util.ErrorReporter reporter) Register an error reporter with the engine so that any errors generated by the node's internals can be reported in a nice, pretty fashion. Setting a value of null will clear the currently set reporter. If one is already set, the new value replaces the old.- Specified by:
setErrorReporter
in interfaceVRMLNode
- Overrides:
setErrorReporter
in classAbstractNode
- Parameters:
reporter
- The instance to use or null
-
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:
getSceneGraphObject
in interfaceOGLVRMLNode
- Returns:
- The OpenGL representation.
-
clearSkin
protected void clearSkin()Clear the child node list of all children in the VRML node. Override to provide.renderer-specific behaviour, but remember to also call this implementation too.- Overrides:
clearSkin
in classBaseHAnimHumanoid
-
addSkinNode
Add a single child node to the list of available children. Override to provide.renderer-specific behaviour, but remember to also call this implementation too.- Overrides:
addSkinNode
in classBaseHAnimHumanoid
- Parameters:
node
- The node to add- Throws:
InvalidFieldValueException
- This is a bindable node shared
-
addViewpointNode
Add a single child node to the list of available children. Override to provide.renderer-specific behaviour, but remember to also call this implementation too.- Overrides:
addViewpointNode
in classBaseHAnimHumanoid
- Parameters:
node
- The node to add- Throws:
InvalidFieldValueException
- This is a bindable node shared
-