55#ifndef _SO_LOCAL_BBOX_MATRIX_ELEMENT
56#define _SO_LOCAL_BBOX_MATRIX_ELEMENT
#define SoEXTENDER
Provide inline template functions for abs, swap, min, max, and clamp.
#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 transformation matrix from object space to some local coordinate space during...
static void initClass()
Initializes the SoLocalBBoxMatrixElement class.
virtual SoElement * copyMatchInfo() const
Create and return a copy of this element.
static SbMatrix pushMatrix(SoState *state)
These methods are used by the TransformSeparator node.
virtual void init(SoState *state)
Initializes element.
virtual ~SoLocalBBoxMatrixElement()
static const SbMatrix & get(SoState *state)
Returns current matrix from the state.
static void popMatrix(SoState *state, const SbMatrix &m)
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
static void rotateBy(SoState *state, const SbRotation &rotation)
static void scaleBy(SoState *state, const SbVec3f &scaleFactor)
static void mult(SoState *state, const SbMatrix &matrix)
Multiplies the given matrix into the local matrix.
virtual void print(FILE *fp) const
Prints element (for debugging)
static void makeIdentity(SoState *state)
Sets the local matrix to the identity matrix.
static void set(SoState *state, const SbMatrix &matrix)
Sets the local matrix to the given matrix.
static void translateBy(SoState *state, const SbVec3f &translation)
Each of these multiplies a matrix that performs the specified transformation into the local matrix.
virtual bool matches(const SoElement *elt) const
Prints error message and returns FALSE (see class header comment)
static void resetAll(SoState *state)
Resets all current instances in the state to identity.
An SoState collects and holds state while traversing a scene graph.