1#ifndef COIN_SOMULTITEXTUREMATRIXELEMENT_H
2#define COIN_SOMULTITEXTUREMATRIXELEMENT_H
36#include <Inventor/elements/SoAccumulatedElement.h>
37#include <Inventor/SbMatrix.h>
39class SoMultiTextureMatrixElementP;
42 typedef SoAccumulatedElement inherited;
51 virtual void init(SoState * state);
52 virtual void push(SoState * state);
53 static void set(SoState *
const state,
SoNode *
const node,
56 static void mult(SoState *
const state,
SoNode *
const node,
59 static const SbMatrix &
get(SoState *
const state,
const int unit = 0);
64 UnitData(
const UnitData & org) : textureMatrix(org.textureMatrix) {}
69 int getNumUnits()
const;
70 UnitData & getUnitData(
const int unit);
71 const UnitData & getUnitData(
const int unit)
const;
78 SoMultiTextureMatrixElementP * pimpl;
81 static void makeIdentity(SoState *
const state,
SoNode *
const node,
const int unit = 0) {
86 set(state, node, 0, matrix);
88 static void mult(SoState *
const state, SoNode *
const node,
89 const SbMatrix & matrix) {
90 mult(state, node, 0, matrix);
92 static void translateBy(SoState *
const state, SoNode *
const node,
93 const SbVec3f & translation) {
96 mult(state, node, 0, m);
98 static void rotateBy(SoState *
const state, SoNode *
const node,
99 const SbRotation & rotation) {
102 mult(state, node, 0, m);
104 static void scaleBy(SoState *
const state, SoNode *
const node,
105 const SbVec3f & scaleFactor) {
108 mult(state, node, 0, m);
The SbMatrix class is a 4x4 dimensional representation of a matrix.
Definition SbMatrix.h:47
void setTranslate(const SbVec3f &t)
Definition SbMatrix.cpp:890
void setScale(const float s)
Definition SbMatrix.cpp:860
void setRotate(const SbRotation &q)
Definition SbMatrix.cpp:372
static SbMatrix identity(void)
Definition SbMatrix.cpp:848
static void initClass(void)
Definition SoAccumulatedElement.cpp:69
virtual void push(SoState *state)
Definition SoAccumulatedElement.cpp:92
virtual void init(SoState *state)
Definition SoAccumulatedElement.cpp:84
Definition SoMultiTextureMatrixElement.h:61
virtual void setElt(const int unit, const SbMatrix &matrix)
Definition SoMultiTextureMatrixElement.cpp:167
static void mult(SoState *const state, SoNode *const node, const int unit, const SbMatrix &matrix)
Definition SoMultiTextureMatrixElement.cpp:107
static const SbMatrix & get(SoState *const state, const int unit=0)
Definition SoMultiTextureMatrixElement.cpp:122
virtual const SbMatrix & getElt(const int unit) const
Definition SoMultiTextureMatrixElement.cpp:177
virtual void multElt(const int unit, const SbMatrix &matrix)
Definition SoMultiTextureMatrixElement.cpp:156
SoMultiTextureMatrixElement(void)
Definition SoMultiTextureMatrixElement.cpp:76
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56
The SoState class manages the Coin scene graph traversal state data.
Definition SoState.h:44