00001 #ifndef X3DTK_MESH_FACESDRAWERCOREVISITOR_H 00002 #define X3DTK_MESH_FACESDRAWERCOREVISITOR_H 00003 00004 #include "MESH_FacesDrawerStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_Shape.h" 00008 #include "MESH_Transform.h" 00009 00010 #include <algorithm> 00011 #include <GL/gl.h> 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00022 template<class MData, class VData, class EData, class FData, bool readOnly> 00023 class FacesDrawerCoreVisitor : public CoreVisitor 00024 { 00025 public: 00027 FacesDrawerCoreVisitor(); 00028 00030 static void enterMesh(Mesh<MData, VData, EData, FData, readOnly> *M); 00032 static bool walkOnShape(Shape *S, SFAbstractNode child); 00034 static void enterTransform(Transform *T); 00036 static void leaveTransform(Transform *T); 00037 }; 00038 00039 } 00040 } 00041 00042 #include "MESH_FacesDrawerCoreVisitor.inl" 00043 00044 #endif