00001 #ifndef X3DTK_X3D_MESHBUILDERGEOMETRY3DVISITOR_H 00002 #define X3DTK_X3D_MESHBUILDERGEOMETRY3DVISITOR_H 00003 00004 #include "X3D_Geometry3DVisitor.h" 00005 #include "X3D_MeshBuilderStateVariables.h" 00006 #include "X3D_Coordinate.h" 00007 #include "X3D_Normal.h" 00008 #include "X3D_Color.h" 00009 #include "X3D_ColorRGBA.h" 00010 #include "X3D_TextureCoordinate.h" 00011 #include "X3D_Box.h" 00012 #include "X3D_Cone.h" 00013 #include "X3D_Cylinder.h" 00014 #include "X3D_IndexedFaceSet.h" 00015 #include "X3D_Sphere.h" 00016 #include "MESH_Mesh.h" 00017 00018 #include "TypeList.h" 00019 00020 namespace X3DTK { 00021 namespace X3D { 00022 00029 template<class MData, class VData, class EData, class FData, bool readOnly> 00030 class MeshBuilderGeometry3DVisitor : public Geometry3DVisitor 00031 { 00032 public: 00034 MeshBuilderGeometry3DVisitor(); 00036 virtual ~MeshBuilderGeometry3DVisitor(); 00037 00039 virtual void enterIndexedFaceSet(IndexedFaceSet *I) const; 00041 virtual bool walkOnIndexedFaceSet(IndexedFaceSet *I, SFAbstractNode N) const; 00043 virtual void leaveIndexedFaceSet(IndexedFaceSet *) const; 00044 00045 protected: 00046 MeshBuilderStateVariables *stateVariables; 00047 }; 00048 00049 } 00050 } 00051 00052 #include "X3D_MeshBuilderGeometry3DVisitor.inl" 00053 00054 #endif