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.