H3D::MatrixTransform Class Reference
[X3D node classes.]

The MatrixTransform node is a grouping node that defines a coordinate system for its children that is relative to the coordinate systems of its ancestors. More...

#include <MatrixTransform.h>

Inheritance diagram for H3D::MatrixTransform:

Inheritance graph
List of all members.

Public Types

typedef H3D::SFMatrix4f SFMatrix4f

Public Member Functions

 MatrixTransform (Inst< MFChild > _addChildren=0, Inst< MFChild > _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.

Public Attributes

auto_ptr< SFMatrix4fmatrix
 The transformation matrix.
auto_ptr< SFMatrix4faccumulatedForward
 The accumulated forward transform matrix.
auto_ptr< SFMatrix4faccumulatedInverse
 The accumulated inverse transform matrix.
auto_ptr< SFTransformedBoundtransformedBound
 This is the same as the bound field, but with the transformation applied to the bound.

Static Public Attributes

static H3DNodeDatabase database
 The H3DNodeDatabase for this node.

Classes

class  SFTransformedBound
 SFTransformedBound maintains the routes from the owner Node's bound and matrix field to the contained TransformedBoxBound instance's boxBound and matrix field. More...

Detailed Description

The MatrixTransform node is a grouping node that defines a coordinate system for its children that is relative to the coordinate systems of its ancestors.

The matrix field is a 4x4 matrix defining the transform matrix from the children's coordinate system to its ancestors coordinate system.

The bboxCenter and bboxSize fields specify a bounding box that encloses the children of the Transform node. This is a hint that may be used for optimization purposes. The results are undefined if the specified bounding box is smaller than the actual bounding box of the children at any time. A default bboxSize value, (-1, -1, -1), implies that the bounding box is not specified and, if needed, shall be calculated by the browser. The bounding box shall be large enough at all times to enclose the union of the group's children's bounding boxes; it shall not include any transformations performed by the group itself (i.e., the bounding box is defined in the local coordinate system of the children). The results are undefined if the specified bounding box is smaller than the true bounding box of the group.

Internal routes:
MatrixTransform.dot


Member Data Documentation

auto_ptr< SFMatrix4f > H3D::MatrixTransform::accumulatedForward
 

The accumulated forward transform matrix.

Access type: inputOutput
Default value: Unit matrix

auto_ptr< SFMatrix4f > H3D::MatrixTransform::accumulatedInverse
 

The accumulated inverse transform matrix.

Access type: inputOutput
Default value: Unit matrix

auto_ptr< SFMatrix4f > H3D::MatrixTransform::matrix
 

The transformation matrix.

Access type: inputOutput
Default value: Unit matrix

MatrixTransform_matrix.dot

auto_ptr< SFTransformedBound > H3D::MatrixTransform::transformedBound
 

This is the same as the bound field, but with the transformation applied to the bound.

Access type: outputOnly

MatrixTransform_transformedBound.dot


Generated on Thu Aug 24 12:39:35 2006 for H3D API by  doxygen 1.4.5