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 #include <GL/gl.h> 00012 00013 namespace X3DTK { 00014 namespace MESH { 00015 00022 template<class MData, class VData, class EData, class FData, bool RW> 00023 class TemplateStatsCalculatorCoreVisitor : public CoreVisitor 00024 { 00025 public: 00027 TemplateStatsCalculatorCoreVisitor(); 00028 00030 static void enterMesh(TemplateMesh<MData, VData, EData, FData, RW> *M); 00032 static void enterVertex(TemplateVertex<MData, VData, EData, FData, RW> *V); 00034 static bool walkOnShape(Shape *S, SFNode child); 00035 }; 00036 00037 } 00038 } 00039 00040 #include "MESH_StatsCalculatorCoreVisitor.inl" 00041 00042 #endif