00001 #ifndef X3DTK_MESH_NORMALSDRAWERCOREVISITOR_H 00002 #define X3DTK_MESH_NORMALSDRAWERCOREVISITOR_H 00003 00004 #include "MESH_NormalsDrawerStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Transform.h" 00007 #include "MESH_Mesh.h" 00008 00009 namespace X3DTK { 00010 namespace MESH { 00011 00018 template<class MData, class VData, class EData, class FData, bool readOnly> 00019 class NormalsDrawerCoreVisitor : public CoreVisitor 00020 { 00021 public: 00023 NormalsDrawerCoreVisitor(); 00024 00026 virtual void enterMesh(Mesh<MData, VData, EData, FData, readOnly> *M) const; 00028 virtual void enterTransform(Transform *T) const; 00030 virtual void leaveTransform(Transform *) const; 00031 00032 protected: 00033 NormalsDrawerStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00034 }; 00035 00036 } 00037 } 00038 00039 #include "MESH_NormalsDrawerCoreVisitor.inl" 00040 00041 #endif