27 #include <Inventor/nodes/SoSubNode.h>
28 #include <Inventor/SbMatrix.h>
29 #include <Inventor/SbVec2s.h>
30 #include <Inventor/SbBox3f.h>
37 class SoTextureCoordinateElement;
38 class SoCoordinateElement;
40 class SoMaterialBundle;
41 class SoBoundingBoxCache;
46 SO_NODE_ABSTRACT_HEADER(
SoShape);
49 static void initClass(
void);
52 TRIANGLE_STRIP, TRIANGLE_FAN, TRIANGLES, POLYGON,
54 QUADS, QUAD_STRIP, POINTS, LINES, LINE_STRIP
68 static void getScreenSize(
SoState *
const state,
const SbBox3f & boundingbox,
70 static float getDecimatedComplexity(
SoState * state,
float complexity);
71 const SoBoundingBoxCache * getBoundingBoxCache(
void)
const;
77 float getComplexityValue(
SoAction * action);
78 virtual void generatePrimitives(
SoAction * action) = 0;
102 void invokeTriangleCallbacks(
SoAction *
const action,
106 void invokeLineSegmentCallbacks(
SoAction *
const action,
109 void invokePointCallbacks(
SoAction *
const action,
111 void beginShape(
SoAction *
const action,
const TriangleShape shapetype,
118 const SbBool useTexFunc,
119 const SoTextureCoordinateElement *
const tce,
125 const SbBool useTexFunc,
126 const SoTextureCoordinateElement *
const tce,
133 const SoCoordinateElement * coords,
134 const SbVec3f * pervertexnormals,
135 const SbBool texpervertex,
136 const SbBool colorpervertex);
140 const SbBool normpervertex,
141 const SbBool texpervertex,
142 const SbBool colorpervertex);
144 class SoShapeP * pimpl;
148 friend class soshape_primdata;
149 friend class so_generate_prim_private;
152 #endif // !COIN_SOSHAPE_H