H3D API
2.4.1
|
The TransformInfo node provides information about the coordinate space it resides in in the scene graph. More...
#include <H3D/TransformInfo.h>
Public Member Functions | |
TransformInfo (Inst< SFNode > _metadata=0, Inst< SFMatrix4f > _accForwardMatrix=0, Inst< SFMatrix4f > _accInverseMatrix=0, Inst< DisplayList > _displayList=0, Inst< SFBool > _outputGLMatrices=0, Inst< SFMatrix4f > _glModelViewMatrix=0, Inst< Matrix4fInverse > _glModelViewMatrixInverse=0, Inst< SFMatrix4f > _glProjectionMatrix=0, Inst< Matrix4fInverse > _glProjectionMatrixInverse=0, Inst< Matrix4fInverseTranspose > _glModelViewMatrixInverseTranspose=0) | |
Constructor. | |
virtual void | traverseSG (TraverseInfo &ti) |
Set the matrix fields from the values provided in ti. | |
virtual void | render () |
the render() function is used for the depth-first rendering traversal of the scene-graph. 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 bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
Detect intersection between a line segment and the 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... | |
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... | |
![]() | |
H3DDisplayListObject (Inst< DisplayList > _displayList=0) | |
Constructor. | |
Public Attributes | |
H3DUniquePtr< SFMatrix4f > | accForwardMatrix |
The accForwardMatrix field is the matrix that transforms from the local coordinate space where this Node resides in the scenegraph to global space. More... | |
H3DUniquePtr< SFMatrix4f > | accInverseMatrix |
The accInverseMatrix field is the matrix that transforms from the global coordinate space to the coordinate space this Node resides in in the scenegraph. More... | |
H3DUniquePtr< SFBool > | outputGLMatrices |
Determines if the OpenGL matrix fields should be updated or not (the fields starting with gl). More... | |
H3DUniquePtr< SFMatrix4f > | glModelViewMatrix |
The OpenGL GL_MODELVIEW_MATRIX at the current point of the transform hierarchy. More... | |
H3DUniquePtr< Matrix4fInverse > | glModelViewMatrixInverse |
The inverse matrix of glModelViewMatrix. More... | |
H3DUniquePtr< SFMatrix4f > | glProjectionMatrix |
The OpenGL GL_PROJECTION_MATRIX at the current point of the transform hierarchy. More... | |
H3DUniquePtr< Matrix4fInverse > | glProjectionMatrixInverse |
The inverse matrix of glProjectionMatrix. More... | |
H3DUniquePtr< Matrix4fInverseTranspose > | glModelViewMatrixInverseTranspose |
The inverse transposed matrix of glModelViewMatrix, used to transform normal from object space to view/eye/camera space. | |
![]() | |
H3DUniquePtr< SFNode > | metadata |
Meta data about the node. 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. | |
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... | |
The TransformInfo node provides information about the coordinate space it resides in in the scene graph.
The accForwardMatrix field is the matrix that transforms from the local coordinate space where this Node resides in the scenegraph to global space.
The accInverseMatrix field is the matrix that transforms from the global coordinate space to the coordinate space this Node resides in in the scenegraph.
The outputGLMatrices field determines if the OpenGL matrix fields should be updated or not(the fields starting with gl). Note that when this is true graphics caching will disabled for this node making all parent nodes not being cached. This is most of the time a non-issue though.
The glModelViewMatrix is The OpenGL GL_MODELVIEW_MATRIX at the current point of the transform hierarchy.
The glModelViewMatrixInverse field is the inverse matrix of glModelViewMatrix.
The glProjectionMatrix is The OpenGL GL_PROJECTION_MATRIX at the current point of the transform hierarchy.
The glProjectionMatrixInverse field is the inverse matrix of glProjectionMatrix.
Examples:
|
virtual |
the render() function is used for the depth-first rendering traversal of the scene-graph.
Reimplemented from H3D::Node.
References H3D::H3DDisplayListObject::displayList, glModelViewMatrix, glProjectionMatrix, H3D::H3DDisplayListObject::DisplayList::OFF, H3D::H3DDisplayListObject::DisplayList::ON, and outputGLMatrices.
H3DUniquePtr< SFMatrix4f > H3D::TransformInfo::accForwardMatrix |
The accForwardMatrix field is the matrix that transforms from the local coordinate space where this Node resides in the scenegraph to global space.
Access type: outputOnly
Referenced by traverseSG().
H3DUniquePtr< SFMatrix4f > H3D::TransformInfo::accInverseMatrix |
The accInverseMatrix field is the matrix that transforms from the global coordinate space to the coordinate space this Node resides in in the scenegraph.
Access type: outputOnly
Referenced by traverseSG().
H3DUniquePtr< SFMatrix4f > H3D::TransformInfo::glModelViewMatrix |
The OpenGL GL_MODELVIEW_MATRIX at the current point of the transform hierarchy.
Access type: outputOnly
Referenced by render(), and TransformInfo().
H3DUniquePtr< Matrix4fInverse > H3D::TransformInfo::glModelViewMatrixInverse |
H3DUniquePtr< SFMatrix4f > H3D::TransformInfo::glProjectionMatrix |
The OpenGL GL_PROJECTION_MATRIX at the current point of the transform hierarchy.
Access type: outputOnly
Referenced by render(), and TransformInfo().
H3DUniquePtr< Matrix4fInverse > H3D::TransformInfo::glProjectionMatrixInverse |
H3DUniquePtr< SFBool > H3D::TransformInfo::outputGLMatrices |
Determines if the OpenGL matrix fields should be updated or not (the fields starting with gl).
Note that when this is true graphics caching will disabled for this node making all parent nodes not being cached. This is most of the time a non-issue though.
Access type: inputOutput
Default value: false
Referenced by render(), and TransformInfo().