1 #ifndef COIN_SOGLMULTITEXTURECOORDINATEELEMENT_H 2 #define COIN_SOGLMULTITEXTURECOORDINATEELEMENT_H 38 class SoGLMultiTextureCoordinateElementP;
39 typedef void SoTexCoordTexgenCB(
void * data);
56 static void setTexGen(
SoState *
const state,
SoNode *
const node,
58 SoTexCoordTexgenCB *
const texgenFunc,
59 void *
const texgenData = NULL,
60 SoTextureCoordinateFunctionCB *
const func = NULL,
61 void *
const funcData = NULL);
63 virtual CoordType
getType(
const int unit = 0)
const;
67 void send(
const int unit,
const int index)
const;
68 void send(
const int unit,
const int index,
const SbVec3f &c,
const SbVec3f &n)
const;
72 GLUnitData() : texgenCB(NULL), texgenData(NULL) {}
74 SoTexCoordTexgenCB * texgenCB;
78 void initRender(
const SbBool * enabled,
const int maxenabled)
const;
81 void send(
const int index)
const {
82 for (
int i = 0; i <= this->multimax; i++) {
83 if (this->multienabled[i]) {
88 void send(
const int index,
const SbVec3f &c,
const SbVec3f &n)
const {
89 for (
int i = 0; i <= this->multimax; i++) {
90 if (this->multienabled[i]) {
91 this->send(i, index, c, n);
95 void initMulti(
SoState * state)
const;
96 static void setTexGen(
SoState *
const state,
SoNode *
const node,
97 SoTexCoordTexgenCB *
const texgenFunc,
98 void *
const texgenData = NULL,
99 SoTextureCoordinateFunctionCB *
const func = NULL,
100 void *
const funcData = NULL) {
101 setTexGen(state, node, 0, texgenFunc, texgenData, func, funcData);
105 virtual void setElt(
const int unit,
106 SoTexCoordTexgenCB *func,
110 void doCallback(
const int unit)
const;
111 SoGLMultiTextureCoordinateElementP * pimpl;
112 mutable const SbBool * multienabled;
113 mutable int multimax;
116 #endif // !COIN_SOGLMULTITEXTURECOORDINATEELEMENT_H static void initClass(void)
Definition: SoMultiTextureCoordinateElement.cpp:103
The SoMultiTextureCoordinateElement class is yet to be documented.
Definition: SoMultiTextureCoordinateElement.h:48
virtual void push(SoState *state)
Definition: SoMultiTextureCoordinateElement.cpp:509
static const SoMultiTextureCoordinateElement * getInstance(SoState *const state)
FIXME: write doc.
Definition: SoMultiTextureCoordinateElement.cpp:273
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:56
SoElement is the abstract base class for all elements.
Definition: SoElement.h:43
The SoState class manages the Coin scenegraph traversal state data.
Definition: SoState.h:44
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:51
Definition: SoGLMultiTextureCoordinateElement.h:70
The SoGLMultiTextureCoordinateElement class stores the current gltexture coordinates for several unit...
Definition: SoGLMultiTextureCoordinateElement.h:41
static CoordType getType(SoState *const state, const int unit=0)
Definition: SoMultiTextureCoordinateElement.cpp:411
virtual void init(SoState *state)
FIXME: write doc.
Definition: SoMultiTextureCoordinateElement.cpp:433
virtual void pop(SoState *state, const SoElement *prevTopElement)
Definition: SoElement.cpp:584