1#ifndef COIN_SOMODELMATRIXELEMENT_H
2#define COIN_SOMODELMATRIXELEMENT_H
27#include <Inventor/elements/SoAccumulatedElement.h>
28#include <Inventor/SbMatrix.h>
29#include <Inventor/lists/SbPList.h>
31class COIN_DLL_API SoModelMatrixElement :
public SoAccumulatedElement {
32 typedef SoAccumulatedElement inherited;
34 SO_ELEMENT_HEADER(SoModelMatrixElement);
38 virtual ~SoModelMatrixElement();
41 virtual void init(SoState * state);
42 virtual void push(SoState * state);
45 static void set(SoState *
const state,
SoNode *
const node,
49 static void mult(SoState *
const state,
SoNode *
const node,
55 static void scaleBy(SoState *
const state,
SoNode *
const node,
63 static const SbMatrix &
get(SoState *
const state, SbBool & isIdentity);
65 const SbMatrix & getModelMatrix(
void)
const;
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:37
The SbRotation class represents a rotation in 3D space.
Definition SbRotation.h:33
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition SbVec3f.h:40
virtual void push(SoState *state)
Definition SoAccumulatedElement.cpp:74
virtual SbBool matches(const SoElement *element) const
Definition SoAccumulatedElement.cpp:83
virtual void init(SoState *state)
Definition SoAccumulatedElement.cpp:66
SoElement(void)
Definition SoElement.cpp:534
static void initClass(void)
Definition SoElement.cpp:507
static SbMatrix pushMatrix(SoState *const state)
Definition SoModelMatrixElement.cpp:245
static void makeIdentity(SoState *const state, SoNode *const node)
Definition SoModelMatrixElement.cpp:110
static void set(SoState *const state, SoNode *const node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:128
static void translateBy(SoState *const state, SoNode *const node, const SbVec3f &translation)
Definition SoModelMatrixElement.cpp:188
virtual void makeEltIdentity(void)
Definition SoModelMatrixElement.cpp:332
virtual void rotateEltBy(const SbRotation &rotation)
Definition SoModelMatrixElement.cpp:378
static void setCullMatrix(SoState *state, SoNode *node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:148
virtual void popMatrixElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:415
virtual void scaleEltBy(const SbVec3f &scaleFactor)
Definition SoModelMatrixElement.cpp:391
virtual void translateEltBy(const SbVec3f &translation)
Definition SoModelMatrixElement.cpp:365
static const SbMatrix & getCombinedCullMatrix(SoState *const state)
Definition SoModelMatrixElement.cpp:278
virtual void multElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:354
static void rotateBy(SoState *const state, SoNode *const node, const SbRotation &rotation)
Definition SoModelMatrixElement.cpp:207
static const SbMatrix & get(SoState *const state)
Definition SoModelMatrixElement.cpp:301
static void popMatrix(SoState *const state, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:261
SbMatrix modelMatrix
Definition SoModelMatrixElement.h:78
virtual SbMatrix pushMatrixElt(void)
Definition SoModelMatrixElement.cpp:404
uint32_t flags
Definition SoModelMatrixElement.h:81
static void mult(SoState *const state, SoNode *const node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:168
SbMatrix combinedMatrix
Definition SoModelMatrixElement.h:80
virtual void setElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:343
static void scaleBy(SoState *const state, SoNode *const node, const SbVec3f &scaleFactor)
Definition SoModelMatrixElement.cpp:225
SbMatrix cullMatrix
Definition SoModelMatrixElement.h:79
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:47