00001
00002
00004
00005 #ifndef MESHEDGESDRAWER_H
00006 #define MESHEDGESDRAWER_H
00007
00008 #include "MESH_MeshEdgesDrawerStateVariables.h"
00009 #include "MESH_DFSGraphTraversal.h"
00010 #include "MESH_MeshEdgesDrawerCoreVisitor.h"
00011 #include "MESH_SceneGraphTypes.h"
00012 #include "MESH_Mesh.h"
00013 #include "X3DOnePassProcessor.h"
00014
00015 namespace X3DTK {
00016 namespace MESH {
00017
00018
00019
00020 template<class MData, class VData, class EData, class FData>
00021 class MeshEdgesDrawer : public X3DOnePassProcessor
00022 {
00023 public:
00025 MeshEdgesDrawer();
00027 virtual ~MeshEdgesDrawer();
00028
00030 void draw(X3DNode *N, bool selection = false);
00031
00032
00033 inline Mesh<MData, VData, EData, FData> *getMesh(int i) const;
00034
00035 inline const SFMatrix34f &getMatrix(int i) const;
00036
00037 protected:
00038 MeshEdgesDrawerStateVariables<MData, VData, EData, FData> *stateVariables;
00039 };
00040
00041 }
00042 }
00043
00044 #include "MESH_MeshEdgesDrawer.inl"
00045
00046 #endif
00047