MESH_X3DBuilderStateVariables.h

Go to the documentation of this file.
00001 #ifndef X3DTK_MESH_X3DBUILDERGLOBALVARIABLES_H
00002 #define X3DTK_MESH_X3DBUILDERGLOBALVARIABLES_H
00003 
00004 #include "StateVariables.h"
00005 #include "MESH_X3DNode.h"
00006 #include "X3D_X3DNode.h"
00007 #include "Cloner.h"
00008 
00009 #include <map>
00010 
00011 namespace X3DTK {
00012 namespace MESH {
00013 
00020 template<class MData, class VData, class EData, class FData, bool RW>
00021 class TemplateX3DBuilderStateVariables : public StateVariables
00022 {
00023 public:
00025   TemplateX3DBuilderStateVariables();
00027   virtual ~TemplateX3DBuilderStateVariables();
00028   
00030   virtual void init();
00032   virtual void finish();
00033   
00035   void addCoupleNode(SFNode N, X3D::X3DNode *NN);
00037   void pushNode(X3D::X3DNode *N);
00039   void popNode();
00040     
00042   inline X3D::X3DNode *getRoot() const;
00044   inline X3D::X3DNode *getTop() const;
00046   X3D::X3DNode *getNode(SFNode N) const;
00048   SFNode clone(SFNode N);
00049     
00050 private:
00051   X3D::X3DNode *_root;
00052   std::list<X3D::X3DNode *> _nodeStack;
00053   std::map<SFNode, X3D::X3DNode *> _nodeCoupleMap;
00054   Cloner *_cloner;
00055 };
00056 
00057 }
00058 }
00059 
00060 #include "MESH_X3DBuilderStateVariables.inl"
00061 
00062 #endif

Generated on Fri Jul 30 12:02:28 2004 for X3DToolKit by doxygen 1.3.6