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