00001 #ifndef X3DTK_MESH_NORMALSDRAWER_H 00002 #define X3DTK_MESH_NORMALSDRAWER_H 00003 00004 #include "MESH_NormalsDrawerStateVariables.h" 00005 #include "DFSGraphTraversal.h" 00006 #include "MESH_NormalsDrawerCoreVisitor.h" 00007 #include "X3DOnePassProcessor.h" 00008 #include "MESH_SceneGraphTypes.h" 00009 #include "MESH_MeshData.h" 00010 00011 namespace X3DTK { 00012 namespace MESH { 00013 00020 template<class MData, class VData, class EData, class FData, bool RW> 00021 class TemplateNormalsDrawer : public X3DOnePassProcessor 00022 { 00023 public: 00025 TemplateNormalsDrawer(); 00027 virtual ~TemplateNormalsDrawer(); 00028 00030 void draw(X3DNode *N, float amplitude = 1.0f); 00031 00032 protected: 00033 TemplateNormalsDrawerStateVariables<MData, VData, EData, FData, RW>* stateVariables; 00034 }; 00035 00037 typedef TemplateNormalsDrawer<MeshData, VertexData, EdgeData, FaceData, true> NormalsDrawer; 00038 00039 } 00040 } 00041 00042 #include "MESH_NormalsDrawer.inl" 00043 00044 #endif 00045