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