50#ifndef _SO_BBOX_MODEL_MATRIX_ELEMENT
51#define _SO_BBOX_MODEL_MATRIX_ELEMENT
53#include <Inventor/SbBasic.h>
54#include <Inventor/elements/SoModelMatrixElement.h>
57#include <Inventor/threads/SbThreadLocalStorage.h>
79SoEXTENDER_Documented
class SoBBoxModelMatrixElement :
public SoModelMatrixElement {
81 SO_ELEMENT_HEADER(SoBBoxModelMatrixElement);
119 virtual void init(
SoState *state);
123 static void initClass();
124 static void exitClass();
141 virtual void makeEltIdentity();
142 virtual void setElt(
const SbMatrix &matrix);
144 virtual void multElt(
const SbMatrix &matrix);
145 virtual void translateEltBy(
const SbVec3f &translation);
146 virtual void rotateEltBy(
const SbRotation &translation);
147 virtual void scaleEltBy(
const SbVec3f &scaleFactor);
151 virtual void popMatrixElt(
const SbMatrix &m);
153 virtual ~SoBBoxModelMatrixElement();
166 SB_THREAD_TLS_HEADER();
Class for representing a rotation.
static void popMatrix(SoState *state, const SbMatrix &matrix, const SbMatrix &localmatrix)
See description for pushMatrix().
virtual void push(SoState *state)
Overrides push() method to copy values from next instance in the stack.
static void pushMatrix(SoState *state, SbMatrix &matrix, SbMatrix &localmatrix)
Because two model matrices are kept track of during the getBoundingBoxAction (the local model matrix,...
static void reset(SoState *state, SoNode *node)
Allows the SoGetBoundingBoxAction to reset the current model matrix to identity and all currently-ope...
Abstract base class for all database nodes.