Provided by: libcoin60-doc_3.1.3-2_all bug

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 *conststate, SoNode *constnode) [static] Sets
       the current model matrix to the identity matrix.
   void SoModelMatrixElement::set (SoState *conststate, SoNode *constnode, const SbMatrix
       &matrix) [static] Sets the current model matrix to matrix.
   void SoModelMatrixElement::setCullMatrix (SoState *state, SoNode *node, const SbMatrix
       &matrix) [static] Sets the current cull matrix.
   void SoModelMatrixElement::mult (SoState *conststate, SoNode *constnode, const SbMatrix
       &matrix) [static] Multiplies matrix into the model matrix.
   void SoModelMatrixElement::translateBy (SoState *conststate, SoNode *constnode, const SbVec3f
       &translation) [static] Appends translation to the model matrix.
   void SoModelMatrixElement::rotateBy (SoState *conststate, SoNode *constnode, const SbRotation
       &rotation) [static] Appends rotation to the model matrix.
   void SoModelMatrixElement::scaleBy (SoState *conststate, SoNode *constnode, const SbVec3f
       &scaleFactor) [static] Appends scaleFactor to the model matrix.
   SbMatrix SoModelMatrixElement::pushMatrix (SoState *conststate) [static] Used by
       SoTransformSeparator to store and restore model matrix. Don't use it for any other reason.
   void SoModelMatrixElement::popMatrix (SoState *conststate, 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 *conststate) [static]
       Returns the combined cull and model matrix. This matrix is cached.
   const SbMatrix & SoModelMatrixElement::get (SoState *conststate) [static] Returns the current
       model matrix.
   const SbMatrix & SoModelMatrixElement::get (SoState *conststate, 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.