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

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::SFNode NN);
00037   void pushNode(X3D::SFNode N);
00039   void popNode();
00040     
00042   inline X3D::SFNode getRoot() const;
00044   inline X3D::SFNode getTop() const;
00046   X3D::SFNode getNode(SFNode N) const;
00048   X3D::X3DNode *clone(X3D::X3DNode *N);
00049     
00050 private:
00051   X3D::SFNode _root;
00052   X3D::MFNode _nodeStack;
00053   std::map<SFNode, X3D::SFNode> _nodeCoupleMap;
00054   Cloner *_cloner;
00055 };
00056 
00057 }
00058 }
00059 
00060 #include "MESH_X3DBuilderStateVariables.inl"
00061 
00062 #endif

Generated on Thu Jun 3 10:12:09 2004 for X3DToolKit by doxygen 1.3.6