00001 #include "GLIndexedFaceSet.h" 00002 #include "IndexedFaceSet.h" 00003 #include "GLGeometry3DNodes.h" 00004 00005 #include <list> 00006 00007 using namespace X3DTK; 00008 using namespace std; 00009 00010 typedef struct 00011 { 00012 SFInt32 face; 00013 unsigned short position; 00014 } face_position; 00015 00016 typedef struct 00017 { 00018 list<SFInt32> faceList; 00019 SFVec3f normal; 00020 } part_normal; 00021 00022 GLIndexedFaceSet::GLIndexedFaceSet() 00023 : X3DGLComposedGeometryNode(), _ccw(true), _solid(false), _verticesDuplicated(false), _color(false), _texCoord(false) 00024 { 00025 defineTagName("GLIndexedFaceSet", "GLGeometry3D"); 00026 } 00027 00028 00029 GLIndexedFaceSet::GLIndexedFaceSet(const GLIndexedFaceSet &I) 00030 : X3DGLComposedGeometryNode(I), _ccw(I._ccw), _solid(I._solid), _verticesDuplicated(I._verticesDuplicated), _color(I._color), _texCoord(I._texCoord), _N3F_V3FvertexFaceArray(I._N3F_V3FvertexFaceArray), _C4F_N3F_V3FvertexFaceArray(I._C4F_N3F_V3FvertexFaceArray), _T2F_N3F_V3FvertexFaceArray(I._T2F_N3F_V3FvertexFaceArray), _T2F_C4F_N3F_V3FvertexFaceArray(I._T2F_C4F_N3F_V3FvertexFaceArray), _indexFaceArray(I._indexFaceArray) 00031 { 00032 defineTagName("GLIndexedFaceSet", "GLGeometry3D"); 00033 } 00034 00035 SFNode GLIndexedFaceSet::clone() const 00036 { 00037 return new GLIndexedFaceSet(*this); 00038 } 00039 00040 GLIndexedFaceSet::~GLIndexedFaceSet() 00041 { 00042 } 00043