#ifndef MYMESHDATA_H #define MYMESHDATA_H #include #include namespace X3DTK { namespace MESH { // My vertex data structure containing the weight information. class VertexDistanceData { public: void setDistance(float distance); inline float getDistance() const {return _distance;}; private: float _distance; }; // My Mesh data aggregates using recursive typelists. // Typedefs are useful to simplify template syntax. #ifdef TEMPLATE_SPECIALIZATION_SUPPORTED typedef clist > > > > MyVertexData; typedef clist > > MyFaceData; typedef clist > > MyMeshData; #else class MyVertexData : public VertexData, public VertexDistanceData {}; class MyFaceData : public FaceData {}; class MyMeshData : public MeshData {}; #endif // My MESH entities. typedef TemplateMesh MyMesh; typedef TemplateVertex MyVertex; typedef SFTemplateVertex MySFVertex; typedef SFTemplateEdge MySFEdge; typedef SFTemplateFace MySFFace; // function computing the norm attribute of the vertices void computeVerticesDistance(MyMesh *M); } // My SimpleMeshScene typedef TemplateSimplifiedMeshScene MySimplifiedMeshScene; } #endif