00001 #ifndef X3DTK_MESH_NORMALSFLIPPERCOREVISITOR_H 00002 #define X3DTK_MESH_NORMALSFLIPPERCOREVISITOR_H 00003 00004 #include "MESH_NormalsFlipperStateVariables.h" 00005 #include "MESH_CoreVisitor.h" 00006 #include "MESH_Mesh.h" 00007 #include "MESH_SceneGraphTypes.h" 00008 00009 #include <map> 00010 00011 namespace X3DTK { 00012 namespace MESH { 00013 00020 template<class MData, class VData, class EData, class FData, bool readOnly> 00021 class NormalsFlipperCoreVisitor : public CoreVisitor 00022 { 00023 public: 00025 NormalsFlipperCoreVisitor(); 00026 00028 virtual void enterVertex(Vertex<VData, EData, FData, readOnly> *V) const; 00030 bool walkOnShape(Shape *S, SFAbstractNode child) const; 00031 00032 protected: 00033 NormalsFlipperStateVariables<MData, VData, EData, FData, readOnly> *stateVariables; 00034 }; 00035 00036 } 00037 } 00038 00039 #include "MESH_NormalsFlipperCoreVisitor.inl" 00040 00041 #endif