1#ifndef COIN_SOMODELMATRIXELEMENT_H
2#define COIN_SOMODELMATRIXELEMENT_H
36#include <Inventor/elements/SoAccumulatedElement.h>
37#include <Inventor/SbMatrix.h>
38#include <Inventor/lists/SbPList.h>
40class COIN_DLL_API SoModelMatrixElement :
public SoAccumulatedElement {
41 typedef SoAccumulatedElement inherited;
43 SO_ELEMENT_HEADER(SoModelMatrixElement);
47 virtual ~SoModelMatrixElement();
50 virtual void init(SoState * state);
51 virtual void push(SoState * state);
54 static void set(SoState *
const state,
SoNode *
const node,
58 static void mult(SoState *
const state,
SoNode *
const node,
64 static void scaleBy(SoState *
const state,
SoNode *
const node,
72 static const SbMatrix &
get(SoState *
const state, SbBool & isIdentity);
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:47
The SbRotation class represents a rotation in 3D space.
Definition SbRotation.h:44
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition SbVec3f.h:51
static void initClass(void)
Definition SoAccumulatedElement.cpp:69
virtual void push(SoState *state)
Definition SoAccumulatedElement.cpp:92
virtual SbBool matches(const SoElement *element) const
Definition SoAccumulatedElement.cpp:101
virtual void init(SoState *state)
Definition SoAccumulatedElement.cpp:84
SoElement(void)
Definition SoElement.cpp:534
static SbMatrix pushMatrix(SoState *const state)
Definition SoModelMatrixElement.cpp:254
static void makeIdentity(SoState *const state, SoNode *const node)
Definition SoModelMatrixElement.cpp:119
static void set(SoState *const state, SoNode *const node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:137
static void translateBy(SoState *const state, SoNode *const node, const SbVec3f &translation)
Definition SoModelMatrixElement.cpp:197
virtual void makeEltIdentity(void)
Definition SoModelMatrixElement.cpp:341
virtual void rotateEltBy(const SbRotation &rotation)
Definition SoModelMatrixElement.cpp:387
static void setCullMatrix(SoState *state, SoNode *node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:157
virtual void popMatrixElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:424
virtual void scaleEltBy(const SbVec3f &scaleFactor)
Definition SoModelMatrixElement.cpp:400
virtual void translateEltBy(const SbVec3f &translation)
Definition SoModelMatrixElement.cpp:374
static const SbMatrix & getCombinedCullMatrix(SoState *const state)
Definition SoModelMatrixElement.cpp:287
virtual void multElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:363
const SbMatrix & getModelMatrix(void) const
Definition SoModelMatrixElement.cpp:470
static void rotateBy(SoState *const state, SoNode *const node, const SbRotation &rotation)
Definition SoModelMatrixElement.cpp:216
static const SbMatrix & get(SoState *const state)
Definition SoModelMatrixElement.cpp:310
static void popMatrix(SoState *const state, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:270
SbMatrix modelMatrix
Definition SoModelMatrixElement.h:87
virtual SbMatrix pushMatrixElt(void)
Definition SoModelMatrixElement.cpp:413
uint32_t flags
Definition SoModelMatrixElement.h:90
static void mult(SoState *const state, SoNode *const node, const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:177
SbMatrix combinedMatrix
Definition SoModelMatrixElement.h:89
virtual void setElt(const SbMatrix &matrix)
Definition SoModelMatrixElement.cpp:352
static void scaleBy(SoState *const state, SoNode *const node, const SbVec3f &scaleFactor)
Definition SoModelMatrixElement.cpp:234
SbMatrix cullMatrix
Definition SoModelMatrixElement.h:88
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56