|
H3D API
2.4.1
|
The DynamicTransform node is a Shape container that has basic properties for defining rigid body motion. More...
#include <H3D/DynamicTransform.h>

Classes | |
| class | SFAngularVelocity |
| Calculates the angular velocity based on the inertia tensor and angular momentum. More... | |
| class | SFMatrix4f |
| Specialize the SFMatrix4f to update the matrix from the fields in the Transform node. More... | |
| class | SFMotion |
| Time dependant field to perform the RK4 integration for determining the motion of the dynamic transform routes_in[0] time field. More... | |
| class | SFSpin |
| Calculates the spin (time derivative of the orientation) More... | |
| class | SFVelocity |
| Calculates the velocity based on the mass and momentum. More... | |
Public Member Functions | |
| DynamicTransform (Inst< AddChildren > _addChildren=0, Inst< RemoveChildren > _removeChildren=0, Inst< MFChild > _children=0, Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< SFVec3f > _bboxCenter=0, Inst< SFVec3f > _bboxSize=0, Inst< SFTransformedBound > _transformedBound=0, Inst< SFMatrix4f > _matrix=0, Inst< SFMatrix4f > _accumulatedForward=0, Inst< SFMatrix4f > _accumulatedInverse=0, Inst< SFVec3f > _position=0, Inst< SFRotation > _orientation=0, Inst< SFVelocity > _velocity=0, Inst< SFVec3f > _momentum=0, Inst< SFVec3f > _force=0, Inst< SFAngularVelocity > _angularVelocity=0, Inst< SFVec3f > _angularMomentum=0, Inst< SFSpin > _spin=0, Inst< SFVec3f > _torque=0, Inst< SFFloat > _mass=0, Inst< SFMatrix3f > _inertiaTensor=0, Inst< SFMotion > _motion=0) | |
| Constructor. | |
Public Member Functions inherited from H3D::MatrixTransform | |
| MatrixTransform (Inst< AddChildren > _addChildren=0, Inst< RemoveChildren > _removeChildren=0, Inst< MFChild > _children=0, Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< SFVec3f > _bboxCenter=0, Inst< SFVec3f > _bboxSize=0, Inst< SFTransformedBound > _transformedBound=0, Inst< SFMatrix4f > _matrix=0, Inst< SFMatrix4f > _accumulatedForward=0, Inst< SFMatrix4f > _accumulatedInverse=0) | |
| Constructor. | |
| virtual void | render () |
| Render the children. | |
| virtual void | traverseSG (TraverseInfo &ti) |
| Traverse the scenegraph. | |
| void | multiplyGLMatrix () |
| Multiply the currently active OpenGL matrix with the matrix of this node. | |
| virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
| Detect intersection between a line segment and this Node. More... | |
| virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) |
| Find closest point on Node to p. More... | |
| virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) |
| Detect collision between a moving sphere and the Node. More... | |
Public Member Functions inherited from H3D::X3DGroupingNode | |
| X3DGroupingNode (Inst< AddChildren > _addChildren=0, Inst< RemoveChildren > _removeChildren=0, Inst< MFChild > _children=0, Inst< SFNode > _metadata=0, Inst< SFBound > _bound=0, Inst< SFVec3f > _bboxCenter=0, Inst< SFVec3f > _bboxSize=0) | |
| Constructor. | |
| virtual | ~X3DGroupingNode () |
| Destructor. | |
| virtual void | initialize () |
| Sets up the bound field using the bboxCenter and bboxSize fields. More... | |
Public Member Functions inherited from H3D::X3DChildNode | |
| X3DChildNode (Inst< SFNode > _metadata=0) | |
| Constructor. | |
Public Member Functions inherited from H3D::X3DNode | |
| X3DNode (Inst< SFNode > _metadata=0) | |
| Constructor. | |
| X3DMetadataObject * | getMetadataByName (const string &_name) |
| Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned. More... | |
Public Member Functions inherited from H3D::Node | |
| Node () | |
| Constructor. | |
| virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) |
| Returns a new instance of this node type with the same state as this one. More... | |
| virtual | ~Node () |
| Destructor. | |
| X3DPrototypeInstance * | getProtoInstanceParent () |
| If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node. More... | |
| void | setProtoInstanceParent (X3DPrototypeInstance *p) |
| Set the X3DPrototypeInstance this node is the the root node if applicaple. | |
| virtual string | defaultXMLContainerField () |
| Returns the default xml containerField attribute value. More... | |
| virtual Field * | getField (const string &_name) const |
| return a pointer to the field specified by name within this instance | |
| int | addDestructCallback (void(*func)(Node *, void *), void *args) |
| Add a callback function to be run on destruction of node. More... | |
| int | removeDestructCallback (void(*func)(Node *, void *), void *args) |
| Add a callback function to be run on destruction of node. More... | |
Public Member Functions inherited from H3D::H3DBoundedObject | |
| H3DBoundedObject (Inst< SFBound > _bound=0) | |
| Constructor. | |
Public Member Functions inherited from H3D::H3DDisplayListObject | |
| H3DDisplayListObject (Inst< DisplayList > _displayList=0) | |
| Constructor. | |
Public Attributes | |
| H3DUniquePtr< SFVec3f > | position |
| Specifies the position of the shape. More... | |
| H3DUniquePtr< SFRotation > | orientation |
| Specifies the orientation of the shape. More... | |
| H3DUniquePtr< SFVec3f > | velocity |
| Specifies the velocity in m/s. More... | |
| H3DUniquePtr< SFVec3f > | momentum |
| Specifies the momentum. More... | |
| H3DUniquePtr< SFVec3f > | force |
| Specifies the force currently acting on the dynamic. More... | |
| H3DUniquePtr< SFVec3f > | angularVelocity |
| Specifies the angular velocity of the dynamic. More... | |
| H3DUniquePtr< SFVec3f > | angularMomentum |
| Specifies the angular momentum of the dynamic. More... | |
| H3DUniquePtr< SFSpin > | spin |
| Specifies the spin of the dynamic. More... | |
| H3DUniquePtr< SFVec3f > | torque |
| Specifies the torque force currently acting on the dynamic. More... | |
| H3DUniquePtr< SFFloat > | mass |
| Specifies the mass, in kg. More... | |
| H3DUniquePtr< SFMatrix3f > | inertiaTensor |
| Specifies the inertia tensor. More... | |
| H3DUniquePtr< SFMotion > | motion |
| Dynamic update algorithm. Only accessable in C++. | |
Public Attributes inherited from H3D::MatrixTransform | |
| H3DUniquePtr< SFMatrix4f > | matrix |
| The transformation matrix. More... | |
| H3DUniquePtr< SFMatrix4f > | accumulatedForward |
| The accumulated forward transform matrix, i.e. More... | |
| H3DUniquePtr< SFMatrix4f > | accumulatedInverse |
| The accumulated inverse transform matrix, i.e. More... | |
| H3DUniquePtr< SFTransformedBound > | transformedBound |
| This is the same as the bound field, but with the transformation applied to the bound. More... | |
Public Attributes inherited from H3D::X3DGroupingNode | |
| bool | use_union_bound |
| if true a route will be set up between the bound field of the nodes in children and the bound field of the grouping node. More... | |
| H3DUniquePtr< AddChildren > | addChildren |
| The addChildren event appends nodes to the children field of a grouping node. More... | |
| H3DUniquePtr< RemoveChildren > | removeChildren |
| The removeChildren event removes nodes from the children field of the grouping node . More... | |
| H3DUniquePtr< MFChild > | children |
| The nodes that are grouped together by this node. More... | |
Public Attributes inherited from H3D::X3DNode | |
| H3DUniquePtr< SFNode > | metadata |
| Meta data about the node. More... | |
Public Attributes inherited from H3D::X3DBoundedObject | |
| H3DUniquePtr< SFVec3f > | bboxCenter |
| Specifies a the center of an axis-aligned bounding box enclosing the node. More... | |
| H3DUniquePtr< SFVec3f > | bboxSize |
| Specifies a the size of an axis-aligned bounding box enclosing the node. More... | |
Public Attributes inherited from H3D::H3DBoundedObject | |
| H3DUniquePtr< SFBound > | bound |
| The field containing the bound object. More... | |
Public Attributes inherited from H3D::H3DDisplayListObject | |
| H3DUniquePtr< DisplayList > | displayList |
| The DisplayList instance handling the OpenGL caching of this object. | |
Static Public Attributes | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Public Attributes inherited from H3D::MatrixTransform | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Public Attributes inherited from H3D::X3DGroupingNode | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Public Attributes inherited from H3D::X3DNode | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Additional Inherited Members | |
Public Types inherited from H3D::Node | |
| typedef std::map< Node *, Node * > | DeepCopyMap |
| A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
Static Public Member Functions inherited from H3D::Node | |
| static unsigned int | nrNodesAlive () |
| Returns the nr of nodes currently alive, i.e. nodes created but not destructed. | |
| static int | nrNodesCreated () |
| Returns the number of nodes created in total since the start of the program. | |
Protected Member Functions inherited from H3D::Node | |
| void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
| A helper function for the clone() method. More... | |
Static Protected Member Functions inherited from H3D::Node | |
| static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
| A helper function for nodes that implement clone() More... | |
Protected Attributes inherited from H3D::X3DGroupingNode | |
| bool | children_multi_pass_transparency |
| Will be set in traverseSG to indicate if any of the children enables multi-pass transparency. More... | |
| vector< H3DRenderStateObject * > | render_states |
| A vector of all the H3DRenderStatesObject within this X3DGroupingNode. | |
| vector< ClipPlane * > | clip_planes |
| A vector of only ClipPlane children of this X3DGroupingNode. | |
The DynamicTransform node is a Shape container that has basic properties for defining rigid body motion.
This includes a position, orientation, mass, etc.
Examples:
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::angularMomentum |
Specifies the angular momentum of the dynamic.
Access type: inputOutput
Default value: Vec3f( 0, 0, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::angularVelocity |
Specifies the angular velocity of the dynamic.
Access type: outputOnly
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::force |
Specifies the force currently acting on the dynamic.
Access type: inputOutput
Default value: Vec3f( 0, 0, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFMatrix3f > H3D::DynamicTransform::inertiaTensor |
Specifies the inertia tensor.
Access type: inputOutput
Default value: Matrix3f( 1, 0, 0, 0, 1, 0, 0, 0, 1 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFFloat > H3D::DynamicTransform::mass |
Specifies the mass, in kg.
Access type: inputOutput
Default value: 1.0
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::momentum |
Specifies the momentum.
Access type: inputOutput
Default value: Vec3f( 0, 0, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFRotation > H3D::DynamicTransform::orientation |
Specifies the orientation of the shape.
Access type: inputOutput
Default value: Rotation( 0, 0, 1, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::position |
Specifies the position of the shape.
Access type: inputOutput
Default value: Vec3f( 0, 0, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFSpin > H3D::DynamicTransform::spin |
Specifies the spin of the dynamic.
Access type: outputOnly
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::torque |
Specifies the torque force currently acting on the dynamic.
Access type: inputOutput
Default value: Vec3f( 0, 0, 0 )
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().
| H3DUniquePtr< SFVec3f > H3D::DynamicTransform::velocity |
Specifies the velocity in m/s.
Access type: outputOnly
Referenced by DynamicTransform(), and H3D::DynamicTransform::SFMotion::update().