00001 00002 // MESH_MeshFacesDrawerCoreVisitor.h // 00004 00005 #ifndef MESH_FACESDRAWERCOREVISITOR_H 00006 #define MESH_FACESDRAWERCOREVISITOR_H 00007 00008 #include "MESH_MeshFacesDrawerStateVariables.h" 00009 #include "MESH_CoreVisitor.h" 00010 #include "MESH_Mesh.h" 00011 #include "MESH_Transform.h" 00012 00013 #include <GL/gl.h> 00014 00015 namespace X3DTK { 00016 namespace MESH { 00017 00019 00020 template<class MData, class VData, class EData, class FData> 00021 class MeshFacesDrawerCoreVisitor : public CoreVisitor 00022 { 00023 public: 00025 MeshFacesDrawerCoreVisitor(); 00026 00028 virtual void enterMesh(Mesh<MData, VData, EData, FData> *M) const; 00030 virtual void enterTransform(Transform *T) const; 00032 virtual void leaveTransform(Transform *T) const; 00033 00034 protected: 00035 MeshFacesDrawerStateVariables<MData, VData, EData, FData> *stateVariables; 00036 }; 00037 00038 } 00039 } 00040 00041 #include "MESH_MeshFacesDrawerCoreVisitor.inl" 00042 00043 #endif