51 virtual void init(SoState * state);
52 virtual void push(SoState * state);
53 virtual void pop(SoState * state,
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;
72 GLUnitData() : texgenCB(NULL), texgenData(NULL) {}
73 GLUnitData(
const GLUnitData & org) : texgenCB(org.texgenCB), texgenData(org.texgenData) {}
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;
SoGLMultiTextureCoordinateElement(void)
Definition SoGLMultiTextureCoordinateElement.cpp:97
static void setTexGen(SoState *const state, SoNode *const node, const int unit, SoTexCoordTexgenCB *const texgenFunc, void *const texgenData=NULL, SoTextureCoordinateFunctionCB *const func=NULL, void *const funcData=NULL)
FIXME: write doc.
Definition SoGLMultiTextureCoordinateElement.cpp:208
void initRender(const SbBool *enabled, const int maxenabled) const
Definition SoGLMultiTextureCoordinateElement.cpp:390
void send(const int unit, const int index) const
FIXME: write doc.
Definition SoGLMultiTextureCoordinateElement.cpp:248
static CoordType getType(SoState *const state, const int unit=0)
Definition SoMultiTextureCoordinateElement.cpp:409
static const SoMultiTextureCoordinateElement * getInstance(SoState *const state)
FIXME: write doc.
Definition SoMultiTextureCoordinateElement.cpp:271
SoMultiTextureCoordinateElement(void)
Definition SoMultiTextureCoordinateElement.cpp:110
virtual void init(SoState *state)
FIXME: write doc.
Definition SoMultiTextureCoordinateElement.cpp:431
virtual void push(SoState *state)
Definition SoMultiTextureCoordinateElement.cpp:507
static void initClass(void)
Definition SoMultiTextureCoordinateElement.cpp:101