00001 00002 // MESH_MeshNormalsDrawerCoreVisitor.h // 00004 00005 #ifndef MESH_NORMALSDRAWERCOREVISITOR_H 00006 #define MESH_NORMALSDRAWERCOREVISITOR_H 00007 00008 #include "MESH_MeshNormalsDrawerStateVariables.h" 00009 #include "MESH_CoreVisitor.h" 00010 #include "MESH_Transform.h" 00011 #include "MESH_Mesh.h" 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00017 00018 template<class MData, class VData, class EData, class FData> 00019 class MeshNormalsDrawerCoreVisitor : public CoreVisitor 00020 { 00021 public: 00023 MeshNormalsDrawerCoreVisitor(); 00024 00026 virtual void enterMesh(Mesh<MData, VData, EData, FData> *M) const; 00028 virtual void enterTransform(Transform *T) const; 00030 virtual void leaveTransform(Transform *) const; 00031 00032 protected: 00033 MeshNormalsDrawerStateVariables<MData, VData, EData, FData> *stateVariables; 00034 }; 00035 00036 } 00037 } 00038 00039 #include "MESH_MeshNormalsDrawerCoreVisitor.inl" 00040 00041 #endif