1 #ifndef COIN_SOVERTEXATTRIBUTEELEMENT_H
2 #define COIN_SOVERTEXATTRIBUTEELEMENT_H
36 #include <Inventor/elements/SoAccumulatedElement.h>
37 #include <Inventor/elements/SoSubElement.h>
38 #include <Inventor/tools/SbPimplPtr.h>
42 class SoVertexAttributeData;
43 class SoVertexAttributeElementP;
47 SO_ELEMENT_HEADER(SoVertexAttributeElement);
50 static void initClass(
void);
54 static void add(
SoState *
const state, SoVertexAttributeData * attribdata);
56 static const SoVertexAttributeElement * getInstance(
SoState *
const state);
57 unsigned int getNumAttributes(
void)
const;
59 typedef const char * Key;
60 typedef SoVertexAttributeData * Type;
61 typedef void AttributeApplyFunc(
const Key & key,
const Type & obj,
void * closure);
62 void applyToAttributes(AttributeApplyFunc * func,
void * closure)
const;
65 virtual ~SoVertexAttributeElement();
67 virtual void addElt(SoVertexAttributeData * attribdata);
71 SoVertexAttributeElement(
const SoVertexAttributeElement & rhs);
72 SoVertexAttributeElement & operator = (
const SoVertexAttributeElement & rhs);
74 SbPimplPtr<SoVertexAttributeElementP> pimpl;
77 #endif // COIN_SOVERTEXATTRIBUTEELEMENT_H