1 #ifndef COIN_SOVERTEXATTRIBUTEELEMENT_H
2 #define COIN_SOVERTEXATTRIBUTEELEMENT_H
27 #include <Inventor/elements/SoAccumulatedElement.h>
28 #include <Inventor/elements/SoSubElement.h>
29 #include <Inventor/tools/SbPimplPtr.h>
33 class SoVertexAttributeData;
34 class SoVertexAttributeElementP;
38 SO_ELEMENT_HEADER(SoVertexAttributeElement);
41 static void initClass(
void);
45 static void add(
SoState *
const state, SoVertexAttributeData * attribdata);
47 static const SoVertexAttributeElement * getInstance(
SoState *
const state);
48 unsigned int getNumAttributes(
void)
const;
50 typedef const char * Key;
51 typedef SoVertexAttributeData * Type;
52 typedef void AttributeApplyFunc(
const Key & key,
const Type & obj,
void * closure);
53 void applyToAttributes(AttributeApplyFunc * func,
void * closure)
const;
56 virtual ~SoVertexAttributeElement();
58 virtual void addElt(SoVertexAttributeData * attribdata);
62 SoVertexAttributeElement(
const SoVertexAttributeElement & rhs);
63 SoVertexAttributeElement & operator = (
const SoVertexAttributeElement & rhs);
65 SbPimplPtr<SoVertexAttributeElementP> pimpl;
68 #endif // COIN_SOVERTEXATTRIBUTEELEMENT_H