00001 #ifndef X3DTK_MESH_STATSCALCULATORCOREVISITOR_H 00002 #define X3DTK_MESH_STATSCALCULATORCOREVISITOR_H 00003 00004 #include "MESH_StatsCalculatorStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_Shape.h" 00008 #include "MESH_Transform.h" 00009 00010 #include <algorithm> 00011 00012 namespace X3DTK { 00013 namespace MESH { 00014 00021 template<class MData, class VData, class EData, class FData, bool RW> 00022 class TemplateStatsCalculatorCoreVisitor : public CoreVisitor 00023 { 00024 public: 00026 TemplateStatsCalculatorCoreVisitor(); 00027 00029 static void enterMesh(TemplateMesh<MData, VData, EData, FData, RW> *M); 00031 static void enterVertex(TemplateVertex<MData, VData, EData, FData, RW> *V); 00033 static bool walkOnShape(Shape *S, SFNode child); 00034 }; 00035 00036 } 00037 } 00038 00039 #include "MESH_StatsCalculatorCoreVisitor.inl" 00040 00041 #endif