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.
SoElement()
Constructor; use typeId.createInstance to create 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.