Salome HOME
23305: [EDF 10301] Extrusion with scaling
[modules/smesh.git] / src / SMESH_I / SMESH_NoteBook.hxx
index 661f42f496a41b24e9abb7dfbb7f5f11000de7d5..3d19d1441f0837c5b69bfa8a9fa777faa606ba54 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -84,16 +84,17 @@ private:
 class SMESH_NoteBook
 {
 public:
-  typedef std::map<TCollection_AsciiString,SMESH_ObjectStates*> TVariablesMap;
-  typedef std::map<TCollection_AsciiString,TCollection_AsciiString> TMeshEditorMap;
+
   SMESH_NoteBook();
   ~SMESH_NoteBook();
   void ReplaceVariables();
   
   void AddCommand(const TCollection_AsciiString& theString);
   TCollection_AsciiString GetResultScript() const;
+  void GetResultLines(std::list< TCollection_AsciiString >& lines) const;
 
 private:
+
   void InitObjectMap();
   void ProcessLayerDistribution();
 
@@ -101,9 +102,14 @@ private:
   
 private:
   
-  TVariablesMap _objectMap;
+  typedef std::map<TCollection_AsciiString,SMESH_ObjectStates*>         TVariablesMap;
+  typedef std::map<TCollection_AsciiString,TCollection_AsciiString>     TMeshEditorMap;
+  typedef std::map<TCollection_AsciiString,std::vector< std::string > > TEntry2VarVecMap;
+
+  TVariablesMap                   _objectMap; // old approach - full states are kept
+  TEntry2VarVecMap                _entry2VarsMap; // new approach - only var names are kept
   std::vector<Handle(_pyCommand)> _commands;
-  TMeshEditorMap myMeshEditors;
+  TMeshEditorMap                  _meshEditors;
 };
 
 #endif //SMESH_NoteBook_HeaderFile