00001 #ifndef OSGDVRTRIANGLE_H 00002 #define OSGDVRTRIANGLE_H 00003 00004 #include <list> 00005 #include <vector> 00006 00007 #include <OSGVector.h> 00008 #include <OSGGL.h> 00009 00010 OSG_BEGIN_NAMESPACE 00011 00013 00014 class DVRTriangle 00015 { 00016 public: 00017 00019 DVRTriangle(void); 00020 00022 DVRTriangle(const DVRTriangle &tri); 00023 00025 ~DVRTriangle(void); 00026 00028 void dump(void) const; 00029 00031 00037 bool setNumAddPerVertexAttr(UInt32 additionalPerVertexAttributes); 00038 00039 // public attributes 00040 public: 00041 00043 Int32 neighbours[3]; 00044 00046 Int32 vertices[3]; 00047 00049 Vec3f normal; 00050 00051 // local variables 00052 public: 00053 00055 Vec3f transformedNormal; 00056 00058 bool visited; 00059 00061 bool inContour; 00062 00064 DVRTriangle *contourNeighbour; 00065 00068 Pnt3f cutPnt; 00069 00076 00077 GLdouble *cutPoint; 00078 00080 bool edgeCut[3]; 00081 }; 00082 00084 typedef std::vector<DVRTriangle *> DVRTriangleList; 00085 00086 OSG_END_NAMESPACE 00087 00088 #endif
1.5.5