00001 #ifndef X3DTK_MESH_EDGESDRAWERCOREVISITOR_H 00002 #define X3DTK_MESH_EDGESDRAWERCOREVISITOR_H 00003 00004 #include "MESH_EdgesDrawerStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_Transform.h" 00008 00009 #include <GL/gl.h> 00010 00011 namespace X3DTK { 00012 namespace MESH { 00013 00020 template<class MData, class VData, class EData, class FData, bool readOnly> 00021 class EdgesDrawerCoreVisitor : public CoreVisitor 00022 { 00023 public: 00025 EdgesDrawerCoreVisitor(); 00027 virtual void enterMesh(Mesh<MData, VData, EData, FData, readOnly> *M) const; 00028 00030 virtual void enterTransform(Transform *T) const; 00032 virtual void leaveTransform(Transform *T) const; 00033 00034 protected: 00035 EdgesDrawerStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00036 }; 00037 00038 } 00039 } 00040 00041 #include "MESH_EdgesDrawerCoreVisitor.inl" 00042 00043 #endif