Man Linux: Main Page and Category List

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. Dont
       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. Dont 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.