00001 #ifndef X3DTK_MESH_NORMALSUPDATERVERTICESCOREVISITOR_H 00002 #define X3DTK_MESH_NORMALSUPDATERVERTICESCOREVISITOR_H 00003 00004 #include "MESH_NormalsUpdaterStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_Shape.h" 00008 00009 namespace X3DTK { 00010 namespace MESH { 00011 00018 template<class MData, class VData, class EData, class FData, bool readOnly> 00019 class NormalsUpdaterVerticesCoreVisitor : public CoreVisitor 00020 { 00021 public: 00023 NormalsUpdaterVerticesCoreVisitor(); 00024 00026 virtual void enterMesh(Mesh<MData, VData, EData, FData, readOnly> *M) const; 00028 bool walkOnShape(Shape *S, SFAbstractNode child) const; 00029 00030 protected: 00031 NormalsUpdaterStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00032 }; 00033 00034 } 00035 } 00036 00037 #include "MESH_NormalsUpdaterVerticesCoreVisitor.inl" 00038 00039 #endif