X3D_SceneSaverStateVariables.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_SCENESAVERGLOBALVARIABLES_H
00002 #define X3DTK_X3D_SCENESAVERGLOBALVARIABLES_H
00003 
00004 #include "X3D_SceneGraphTypes.h"
00005 #include "StateVariables.h"
00006 
00007 #include <list>
00008 
00009 namespace X3DTK {
00010 namespace X3D {
00011 
00018 class SceneSaverStateVariables : public StateVariables
00019 {
00020 public:
00022   SceneSaverStateVariables();
00024   virtual ~SceneSaverStateVariables();
00025   
00027   void init();
00029   void initNodes();
00031   void finish();
00032   
00034   void addNode(SFNode N);
00036   bool findNode(SFNode N);
00037   
00039   void newLine();
00041   void pushCurrentLine();
00043   SFString &getCurrentLine();
00045   SFString &getOpeningLine();
00047   void popLine();
00048 
00050   void addTab();
00052   void removeTab();
00054   inline SFString getTab() const {return _tab;};
00055   
00057   void addName(const SFString &name);
00059   SFString generateName();
00060      
00062   inline const MFString &getOutput() const {return _output;};
00064   bool hasChild();
00065  
00067   void pushHasUSE(bool value);
00069   inline bool getHasUSE() const {return _hasUSEStack.front();};
00071   void popHasUSE();
00072   
00073 private:
00074   int _lineNumber;
00075   MFString _output; 
00076   SFString _tab;
00077   std::list<int> _lineStack;
00078   std::list<bool> _hasUSEStack;
00079   MFNode _visitedNodes;
00080   MFString _names;
00081   unsigned int _nameID;
00082 };
00083 
00084 }
00085 }
00086 
00087 #endif

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