Coin Logo http://www.sim.no/
http://www.coin3d.org/

SoModelMatrixElement Class Reference
[Element Classes]

The SoModelMatrixElement class is used to manage the current transformation.SoModelMatrixElement contains the object-to-world matrix. More...

#include <Inventor/elements/SoModelMatrixElement.h>

Inheritance diagram for SoModelMatrixElement:
SoAccumulatedElement SoElement SoBBoxModelMatrixElement SoGLModelMatrixElement

List of all members.

Public Member Functions

virtual void init (SoState *state)
virtual void push (SoState *state)
virtual SbBool matches (const SoElement *element) const
const SbMatrixgetModelMatrix (void) const

Static Public Member Functions

static SoType getClassTypeId (void)
static int getClassStackIndex (void)
static void * createInstance (void)
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 SbMatrixgetCombinedCullMatrix (SoState *const state)
static const SbMatrixget (SoState *const state)
static const SbMatrixget (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

SoType SoModelMatrixElement::getClassTypeId ( void   )  [static]

This static method returns the class type.

Reimplemented from SoAccumulatedElement.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

int SoModelMatrixElement::getClassStackIndex ( void   )  [static]

This static method returns the state stack index for the class.

Reimplemented from SoAccumulatedElement.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

void * SoModelMatrixElement::createInstance ( void   )  [static]

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.

Reimplemented in SoBBoxModelMatrixElement, and SoGLModelMatrixElement.

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

FIXME: write doc.

FIXME: write doc.

FIXME: write doc.

FIXME: write doc.


The documentation for this class was generated from the following files:

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated on Wed Mar 24 01:54:10 2010 for Coin by Doxygen 1.6.2-20100208.