SoModelMatrixElement

Langue: en

Autres versions - même langue

Version: 342932 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

Sommaire

NAME

SoModelMatrixElement -

The SoModelMatrixElement class is used to manage the current transformation.

SoModelMatrixElement contains the object-to-world matrix.

SYNOPSIS


#include <Inventor/elements/SoModelMatrixElement.h>

Inherits SoAccumulatedElement.

Inherited by SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

Public Member Functions


virtual void init (SoState *state)

virtual void push (SoState *state)

virtual SbBool matches (const SoElement *element) const

const SbMatrix & getModelMatrix (void) const

Static Public Member Functions


static void initClass (void)

static void makeIdentity (SoState *const state, SoNode *const node)

static void set (SoState *const state, SoNode *const node, const SbMatrix &matrix)

static void setCullMatrix (SoState *state, SoNode *node, const SbMatrix &matrix)

static void mult (SoState *const state, SoNode *const node, const SbMatrix &matrix)

static void translateBy (SoState *const state, SoNode *const node, const SbVec3f &translation)

static void rotateBy (SoState *const state, SoNode *const node, const SbRotation &rotation)

static void scaleBy (SoState *const state, SoNode *const node, const SbVec3f &scaleFactor)

static SbMatrix pushMatrix (SoState *const state)

static void popMatrix (SoState *const state, const SbMatrix &matrix)

static const SbMatrix & getCombinedCullMatrix (SoState *const state)

static const SbMatrix & get (SoState *const state)

static const SbMatrix & get (SoState *const state, SbBool &isIdentity)

Protected Member Functions


virtual ~SoModelMatrixElement ()

virtual void makeEltIdentity (void)

virtual void setElt (const SbMatrix &matrix)

virtual void multElt (const SbMatrix &matrix)

virtual void translateEltBy (const SbVec3f &translation)

virtual void rotateEltBy (const SbRotation &rotation)

virtual void scaleEltBy (const SbVec3f &scaleFactor)

virtual SbMatrix pushMatrixElt (void)

virtual void popMatrixElt (const SbMatrix &matrix)

Protected Attributes


SbMatrix modelMatrix

SbMatrix cullMatrix

SbMatrix combinedMatrix

uint32_t flags

Detailed Description

The SoModelMatrixElement class is used to manage the current transformation.

SoModelMatrixElement contains the object-to-world matrix.

The world-to-camera transformation is stored in the SoViewingMatrixElement class.

Note that one thing that can be a little confusing with the API is that SoModelMatrixElement does not contain the same matrix as the OpenGL GL_MODELVIEW matrix.

See also:

SoViewingMatrixElement

Constructor & Destructor Documentation

SoModelMatrixElement::~SoModelMatrixElement (void) [protected, virtual]The destructor.

Member Function Documentation

void SoModelMatrixElement::initClass (void) [static]This static method initializes static data for the SoModelMatrixElement class.

Reimplemented from SoAccumulatedElement.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::makeIdentity (SoState *const state, SoNode *const node) [static]Sets the current model matrix to the identity matrix.

void SoModelMatrixElement::set (SoState *const state, SoNode *const node, const SbMatrix & matrix) [static]Sets the current model matrix to matrix.

void SoModelMatrixElement::mult (SoState *const state, SoNode *const node, const SbMatrix & matrix) [static]Multiplies matrix into the model matrix.

void SoModelMatrixElement::translateBy (SoState *const state, SoNode *const node, const SbVec3f & translation) [static]Appends translation to the model matrix.

void SoModelMatrixElement::rotateBy (SoState *const state, SoNode *const node, const SbRotation & rotation) [static]Appends rotation to the model matrix.

void SoModelMatrixElement::scaleBy (SoState *const state, SoNode *const node, const SbVec3f & scaleFactor) [static]Appends scaleFactor to the model matrix.

SbMatrix SoModelMatrixElement::pushMatrix (SoState *const state) [static]Used by SoTransformSeparator to store and restore model matrix. Don't use it for any other reason.

void SoModelMatrixElement::popMatrix (SoState *const state, const SbMatrix & matrix) [static]Used by SoTransformSeparator to store and restore model matrix. Don't use it for any other reason.

const SbMatrix & SoModelMatrixElement::getCombinedCullMatrix (SoState *const state) [static]Returns the combined cull and model matrix. This matrix is cached.

const SbMatrix & SoModelMatrixElement::get (SoState *const state) [static]Returns the current model matrix.

const SbMatrix & SoModelMatrixElement::get (SoState *const state, SbBool & isIdentity) [static]Returns the current model matrix. Sets isIdentity to TRUE if the model matrix is known to be an identity matrix.

void SoModelMatrixElement::makeEltIdentity (void) [protected, virtual]virtual method which is called from the static method makeIdentity(). Sets element model matrix to identity.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::setElt (const SbMatrix & matrix) [protected, virtual]virtual method which is called from the static method set(). Sets element model matrix to matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::multElt (const SbMatrix & matrix) [protected, virtual]virtual method which is called from the static method mult(). Multiplies matrix into element model matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::translateEltBy (const SbVec3f & translation) [protected, virtual]virtual method which is called from the static method translateBy(). Appends translation to element model matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::rotateEltBy (const SbRotation & rotation) [protected, virtual]virtual method which is called from the static method rotateBy(). Appends rotation to element model matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::scaleEltBy (const SbVec3f & scaleFactor) [protected, virtual]virtual method which is called from the static method scaleBy(). Appends scaleFactor to element model matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

SbMatrix SoModelMatrixElement::pushMatrixElt (void) [protected, virtual]virtual method which is called from the static method pushMatrix(). Returns current model matrix.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void SoModelMatrixElement::popMatrixElt (const SbMatrix & matrix) [protected, virtual]virtual method which is called from the static method popMatrix(). Retores model matrix to the matrix returned from pushMatrix().

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

Member Data Documentation

SoModelMatrixElement::modelMatrix [protected]FIXME: write doc.

SoModelMatrixElement::cullMatrix [protected]FIXME: write doc.

SoModelMatrixElement::combinedMatrix [protected]FIXME: write doc.

SoModelMatrixElement::flags [protected]FIXME: write doc.

Author

Generated automatically by Doxygen for Coin from the source code.