24 #ifndef COIN_SOVRMLVERTEXSHAPE_H
25 #define COIN_SOVRMLVERTEXSHAPE_H
27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/VRMLnodes/SoVRMLGeometry.h>
29 #include <Inventor/fields/SoSFNode.h>
30 #include <Inventor/fields/SoSFBool.h>
31 #include <Inventor/elements/SoMaterialBindingElement.h>
36 class SoCoordinateElement;
37 class SoVRMLVertexShapeP;
45 static void initClass(
void);
55 OVERALL = SoMaterialBindingElement::OVERALL,
56 PER_PART = SoMaterialBindingElement::PER_PART,
57 PER_PART_INDEXED = SoMaterialBindingElement::PER_PART_INDEXED,
58 PER_FACE = SoMaterialBindingElement::PER_FACE,
59 PER_FACE_INDEXED = SoMaterialBindingElement::PER_FACE_INDEXED,
60 PER_VERTEX = SoMaterialBindingElement::PER_VERTEX,
61 PER_VERTEX_INDEXED = SoMaterialBindingElement::PER_VERTEX_INDEXED
64 virtual SbBool generateDefaultNormals(
SoState * s, SoNormalBundle * nb);
65 virtual SbBool generateDefaultNormals(
SoState * s, SoNormalCache * nc);
81 void setNormalCache(
SoState * s,
int numNormals,
SbVec3f * normals);
82 SoNormalCache * getNormalCache(
void)
const;
84 SoNormalCache * generateAndReadLockNormalCache(
SoState *
const state);
85 void getVertexData(
SoState * state,
86 const SoCoordinateElement *& coords,
88 const SbBool neednormals);
90 void readLockNormalCache(
void);
91 void readUnlockNormalCache(
void);
95 void writeLockNormalCache(
void);
96 void writeUnlockNormalCache(
void);
98 SoVRMLVertexShapeP * pimpl;
101 #endif // ! COIN_SOVRMLVERTEXSHAPE_H