Xj3D VRML/X3D Code API

org.web3d.vrml.nodes
Interface VRMLRigidJointNodeType

All Superinterfaces:
FrameStateListener, VRMLNode, VRMLNodeType

public interface VRMLRigidJointNodeType
extends VRMLNodeType

Representation of a X3DRigidJointNode extension node in Xj3D.

A joint represents the connection between two bodies.

Version:
$Revision: 1.3 $
Author:
Justin Couch

Method Summary
 void delete()
          This node is about to be deleted due to a change in loaded world.
 VRMLNodeType getBody2()
          Fetch the reference to the second body that is used in this joint.
 int[] getOutputFields()
          Get the array of output field indices for this joint.
 int numOutputs()
          Get the number of valid fields that the user has requested updates for.
 void setBody1(VRMLNodeType node)
          Set the node that should be used for the first body.
 void setBody2(VRMLNodeType node)
          Set the node that should be used for the second body.
 void setODEWorld(World wld, JointGroup grp)
          Set the parent world that this body belongs to.
 void updateRequestedOutputs()
          Instruction to the node to fetch the appropriate field values' output from the physics model and update the outputOnly field with the values.
 
Methods inherited from interface org.web3d.vrml.nodes.VRMLNodeType
addNodeListener, getFieldValue, getMetadataObject, getRefCount, hasFieldChanged, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, sendRoute, setDEF, setFrameStateManager, setMetadataObject, setupFinished, setValue, 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
 

Method Detail

delete

public void delete()
This node is about to be deleted due to a change in loaded world. Clear up the ODE resources in use.


numOutputs

public int numOutputs()
Get the number of valid fields that the user has requested updates for.

Returns:
a value greater than or equal to zero

getOutputFields

public int[] getOutputFields()
Get the array of output field indices for this joint. These are previously mapped internally from the output listing to the field index values corresponding to the user-supplied field names, as well as processing for the special NONE and ALL types.

Returns:
an array of field indices that are to be used

updateRequestedOutputs

public void updateRequestedOutputs()
Instruction to the node to fetch the appropriate field values' output from the physics model and update the outputOnly field with the values.


setODEWorld

public void setODEWorld(World wld,
                        JointGroup grp)
Set the parent world that this body belongs to. A null value clears the world and indicates the physics model or body is no longer in use by this world (eg deletes it).

Parameters:
wld - The new world instance to use or null
grp - The group that this joint should belong to

setBody1

public void setBody1(VRMLNodeType node)
              throws InvalidFieldValueException
Set the node that should be used for the first body. Setting a value of null will clear the current body in use.

Parameters:
node - The new instance to use or null
Throws:
InvalidFieldValueException - This was not a body node type

getBody2

public VRMLNodeType getBody2()
Fetch the reference to the second body that is used in this joint.

Returns:
The reference to the node implementing the body

setBody2

public void setBody2(VRMLNodeType node)
              throws InvalidFieldValueException
Set the node that should be used for the second body. Setting a value of null will clear the current body in use.

Parameters:
node - The new instance to use or null
Throws:
InvalidFieldValueException - This was not a body node type

Xj3D VRML/X3D Code API

Copyright © 2001 - 2005 Web3D Consortium