Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

MESH_StatsCalculatorStateVariables.h

Go to the documentation of this file.
00001 #ifndef X3DTK_MESH_STATSCALCULATORSTATEVARIABLES_H
00002 #define X3DTK_MESH_STATSCALCULATORSTATEVARIABLES_H
00003 
00004 #include "MESH_SceneGraphTypes.h"
00005 #include "MESH_Mesh.h"
00006 #include "MESH_Info.h"
00007 
00008 #include <list>
00009 #include <map>
00010 #include <vector>
00011 
00012 namespace X3DTK {
00013 namespace MESH {
00014 
00021 template<class MData, class VData, class EData, class FData, bool readOnly>
00022 class StatsCalculatorStateVariables : public StateVariables
00023 {
00024 public:
00026   StatsCalculatorStateVariables();
00027 
00029   void init();
00031   void finish();
00032 
00034   void addNode(SFAbstractNode N);
00036   bool getNode(SFAbstractNode N) const;
00037   
00039   void setCurrentMesh(Mesh<MData, VData, EData, FData, readOnly> *mesh);
00041   void addFaces(unsigned int faces);
00043   void addVertices(unsigned int vertices);
00045   void addEdges(unsigned int edges);
00047   void setInstances(unsigned int instances);
00048   
00050   inline unsigned int getModelFaces() const;
00052   inline unsigned int getModelVertices() const;
00054   inline unsigned int getModelEdges() const;
00055   
00057   inline unsigned int getFacesOf(X3DNode *N);
00059   inline unsigned int getVerticesOf(X3DNode *N);
00061   inline unsigned int getEdgesOf(X3DNode *N);
00062   
00064   inline const MeshInfo<MData, VData, EData, FData, readOnly> &getModelMeshInfo() const;
00066   inline const std::list<std::pair<X3DNode *, MeshInfo<MData, VData, EData, FData, readOnly> > > &getMeshInfoList() const;
00068   inline const VertexInfo<VData, EData, FData, readOnly> &getModelVertexInfo() const;
00070   inline const std::list<std::pair<X3DNode *, VertexInfo<VData, EData, FData, readOnly> > > &getVertexInfoList() const;
00071     
00073   void setSelectedNodes(const MFNode &selectedNodes);
00075   MFNode getSelectedNodes() const;
00076   
00077 private:
00078   std::list<SFAbstractNode> _nodeList;
00079   Mesh<MData, VData, EData, FData, readOnly> *_currentMesh;
00080   MeshInfo<MData, VData, EData, FData, readOnly> _modelMeshInfo;
00081   VertexInfo<VData, EData, FData, readOnly> _modelVertexInfo;
00082   std::list<std::pair<X3DNode *, MeshInfo<MData, VData, EData, FData, readOnly> > > _meshInfoList;
00083   std::list<std::pair<X3DNode *, VertexInfo<VData, EData, FData, readOnly> > > _vertexInfoList;
00084   MFNode _selectedNodes;
00085 };
00086 
00087 }
00088 }
00089 
00090 #include "MESH_StatsCalculatorStateVariables.inl"
00091 
00092 #endif

Generated on Wed Apr 7 12:15:20 2004 for X3DToolKit by doxygen 1.3.3