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. | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
X3DChildNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
H3DBoundedObject (Inst< SFBound > _bound=0) | |
Constructor. | |
![]() | |
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++. | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
H3DUniquePtr< SFNode > | metadata |
Meta data about the node. More... | |
![]() | |
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... | |
![]() | |
H3DUniquePtr< SFBound > | bound |
The field containing the bound object. More... | |
![]() | |
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 H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
Additional Inherited Members | |
![]() | |
typedef std::map< Node *, Node * > | DeepCopyMap |
A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
![]() | |
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. | |
![]() | |
void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for the clone() method. More... | |
![]() | |
static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for nodes that implement clone() More... | |
![]() | |
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().