00001 #ifndef MESH_VERTICESDRAWERCOREVISITOR_H 00002 #define MESH_VERTICESDRAWERCOREVISITOR_H 00003 00004 #include "MESH_VerticesDrawerStateVariables.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 VerticesDrawerCoreVisitor : public CoreVisitor 00022 { 00023 public: 00025 VerticesDrawerCoreVisitor(); 00026 00028 virtual void enterMesh(Mesh<MData, VData, EData, FData, readOnly> *M) const; 00030 virtual void enterTransform(Transform *T) const; 00032 virtual void leaveTransform(Transform *) const; 00033 00034 protected: 00035 VerticesDrawerStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00036 }; 00037 00038 } 00039 } 00040 00041 #include "MESH_VerticesDrawerCoreVisitor.inl" 00042 00043 #endif