50#ifndef _SO_TEXTURE_COORDINATE_ELEMENT
51#define _SO_TEXTURE_COORDINATE_ELEMENT
58#include <Inventor/STL/vector>
111 int32_t numCoords,
const SbVec2f *coords,
118 int32_t numCoords,
const SbVec4f *coords,
178 virtual void commonInit();
188 class TexGenEvaluator
198 static void initClass();
199 static void exitClass();
205 struct SoTexCoordData
211 std::shared_ptr<TexGenEvaluator> m_texGenEvaluatorUserDefined;
238 m_texGenEvaluatorUserDefined.reset();
241 SoTexCoordData&
operator=(
const SoTexCoordData& data)
245 whatKind = data.whatKind ;
246 numCoords = data.numCoords ;
247 coords2 = data.coords2 ;
248 coords4 = data.coords4 ;
249 coordsAre2D = data.coordsAre2D ;
256 SoTexCoordData& getTexCoordData(
const int unit )
const;
265 typedef std::vector<SoTexCoordData> SoTexCoordDataList;
267 mutable SoTexCoordDataList m_texCoordData ;
#define SoEXTENDER_Documented
#define FALSE
Possible value of SbBool.
SoDEPRECATED void forceSend(int)
#define SO_ELEMENT_HEADER(className)
valueRef operator=(valueRef newValue)
Sets this field to newValue.
const SbVec4f & SoTextureCoordinateFunctionCB(void *userdata, const SbVec3f &point, const SbVec3f &normal)
Function that TextureCoordinateFunction nodes register to compute texture coordinates.
Abstract base class for all database nodes.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Stores the current texture coordinates.
SbBool isForceSending(int unit=0) const
virtual CoordType getType(int unit=0) const
virtual void print(FILE *fp) const
Prints element (for debugging).
CoordType
The choice of values is for compatibility with Open Inventor 2.0 binary format files.
static const SoTextureCoordinateElement * getInstance(SoState *state)
Returns the top (current) instance of the element in the state.
virtual void push(SoState *)
Overrides push() method to copy values from next instance in the stack.
static void setDefault(SoState *state, SoNode *node)
Sets the current texture coordinates, in any of several ways: EXPLICIT, no coordinates (shapes will g...
static void set2(SoState *state, SoNode *node, int32_t numCoords, const SbVec2f *coords, SbBool frcSend=FALSE)
const SbVec4f & get4(int index, int unit=0) const
const SbVec2f & get2(int index, int unit=0) const
Returns the indexed coordinate from an element as a 2- or 4-vector, converting if necessary.
SbBool is2D(int unit=0) const
static void set4(SoState *state, SoNode *node, int32_t numCoords, const SbVec4f *coords, SbBool frcSend=FALSE)
static void setFunction(SoState *state, SoNode *node, SoTextureCoordinateFunctionCB *func, void *userData, SbBool frcSend=FALSE)
const SbVec4f & get(const SbVec3f &point, const SbVec3f &normal, int unit=0) const
Given point and normal, returns texture coordinate.
int32_t getNum(int unit=0) const
Returns the number of coordinate points in an instance.
static CoordType getType(SoState *state, int unit=0)
Returns code indicating what has been set in state/element.