55#ifndef _SO_GL_MODEL_MATRIX_ELEMENT
56#define _SO_GL_MODEL_MATRIX_ELEMENT
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
size_t SbNodeIdType
Type of unique ids of SoNode, used in the notification/change detection handling.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_ELEMENT_HEADER(className)
This one is for non-abstract element classes.
Class for representing a rotation.
This is the abstract base class for all state elements.
Element that stores the current model matrix in GL.
virtual void push(SoState *state)
Override push()/pop() methods so side effects can occur in GL.
virtual void init(SoState *state)
Initializes element.
virtual void popMatrixElt(const SbMatrix &m)
virtual SbMatrix pushMatrixElt()
virtual methods for push/pop so GL element can Do The Right Thing:
virtual void makeEltIdentity()
Overrides SoModelMatrixElement::makeEltIdentity() to print an error message.
virtual void multElt(const SbMatrix &matrix)
Multiplies into the matrix in an instance.
static void initClass()
Initializes the SoGLModelMatrixElement class.
virtual void rotateEltBy(const SbRotation &translation)
virtual void setElt(const SbMatrix &matrix)
Sets the matrix in an instance to the given matrix.
virtual void scaleEltBy(const SbVec3f &scaleFactor)
virtual ~SoGLModelMatrixElement()
virtual void pop(SoState *state, const SoElement *prevTopElement)
virtual void translateEltBy(const SbVec3f &translation)
Each of these performs the appropriate operation on the matrix in an instance.
Element that stores the current model matrix - the cumulative transformation applied to subsequent sh...
An SoState collects and holds state while traversing a scene graph.