1 #ifndef COIN_SOMULTITEXTUREMATRIXELEMENT_H
2 #define COIN_SOMULTITEXTUREMATRIXELEMENT_H
36 #include <Inventor/elements/SoAccumulatedElement.h>
37 #include <Inventor/SbMatrix.h>
39 class SoMultiTextureMatrixElementP;
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;
73 virtual void multElt(
const int unit,
const SbMatrix & matrix);
74 virtual void setElt(
const int unit,
const SbMatrix & matrix);
75 virtual const SbMatrix & getElt(
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);
90 mult(state, node, 0, matrix);
92 static void translateBy(
SoState *
const state,
SoNode *
const node,
96 mult(state, node, 0, m);
98 static void rotateBy(
SoState *
const state,
SoNode *
const node,
102 mult(state, node, 0, m);
104 static void scaleBy(
SoState *
const state,
SoNode *
const node,
108 mult(state, node, 0, m);
112 #endif // !COIN_SOTEXTUREMATRIXELEMENT_H