1 #ifndef COIN_SOMULTITEXTURECOORDINATEELEMENT_H 2 #define COIN_SOMULTITEXTURECOORDINATEELEMENT_H 36 #include <Inventor/elements/SoElement.h> 37 #include <Inventor/elements/SoSubElement.h> 38 #include <Inventor/SbVec2f.h> 39 #include <Inventor/SbVec3f.h> 40 #include <Inventor/SbVec4f.h> 42 typedef const SbVec4f & SoTextureCoordinateFunctionCB(
void * userdata,
46 class SoMultiTextureCoordinateElementP;
69 static void setDefault(
SoState *
const state,
SoNode *
const node,
const int unit = 0);
70 static void setFunction(
SoState *
const state,
SoNode *
const node,
72 SoTextureCoordinateFunctionCB *
const func,
73 void *
const userdata);
77 const int32_t numCoords,
const SbVec2f *
const coords);
80 const int32_t numCoords,
const SbVec3f *
const coords);
83 const int32_t numCoords,
const SbVec4f *
const coords);
85 static CoordType getType(
SoState *
const state,
const int unit = 0);
86 virtual CoordType getType(
const int unit = 0)
const;
90 const SbVec4f &
get(
const int unit,
94 int32_t getNum(
const int unit = 0)
const;
95 SbBool is2D(
const int unit = 0)
const;
96 int32_t getDimension(
const int unit = 0)
const;
98 const SbVec2f & get2(
const int unit,
const int index)
const;
99 const SbVec3f & get3(
const int unit,
const int index)
const;
100 const SbVec4f & get4(
const int unit,
const int index)
const;
102 const SbVec2f * getArrayPtr2(
const int unit = 0)
const;
103 const SbVec3f * getArrayPtr3(
const int unit = 0)
const;
104 const SbVec4f * getArrayPtr4(
const int unit = 0)
const;
113 SoTextureCoordinateFunctionCB * funcCB;
128 const SbVec3f & normal)
const {
129 return this->
get(0, point, normal);
132 static void setFunction(
SoState *
const state,
134 SoTextureCoordinateFunctionCB *
const func,
135 void *
const userdata) {
136 setFunction(state, node, 0, func, userdata);
140 const int32_t numCoords,
const SbVec2f *
const coords) {
141 set2(state, node, 0, numCoords, coords);
144 const int32_t numCoords,
const SbVec3f *
const coords) {
145 set3(state, node, 0, numCoords, coords);
148 const int32_t numCoords,
const SbVec4f *
const coords) {
149 set4(state, node, 0, numCoords, coords);
151 const SbVec2f & get2(
const int index)
const {
152 return this->get2(0, index);
154 const SbVec3f & get3(
const int index)
const {
155 return this->get3(0, index);
157 const SbVec4f & get4(
const int index)
const {
158 return this->get4(0, index);
163 int getMaxUnits()
const;
164 UnitData & getUnitData(
const int unit);
165 const UnitData & getUnitData(
const int unit)
const;
171 SoMultiTextureCoordinateElementP * pimpl;
174 #endif // !COIN_SOMULTITEXTURECOORDINATEELEMENT_H The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition: SbVec2f.h:49
The SbVec4f class is a 4 dimensional vector with floating point coordinates.
Definition: SbVec4f.h:49
static void initClass(void)
Definition: SoElement.cpp:506
virtual SbBool matches(const SoElement *element) const =0
Definition: SoElement.cpp:608
The SoMultiTextureCoordinateElement class is yet to be documented.
Definition: SoMultiTextureCoordinateElement.h:48
virtual void push(SoState *state)
Definition: SoElement.cpp:569
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
virtual void init(SoState *state)
Definition: SoElement.cpp:552
The SbVec3f class is a 3 dimensional vector with floating point coordinates.
Definition: SbVec3f.h:51
virtual SoElement * copyMatchInfo(void) const =0
Definition: SoMultiTextureCoordinateElement.h:106