-// Copyright (C) 2008 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2007-2019 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
+// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// File : SMESH_NoteBook.hxx
// Author : Roman NIKOLAEV ()
-
-
+//
#ifndef SMESH_NoteBook_HeaderFile
#define SMESH_NoteBook_HeaderFile
+// All this stuff is obsolete since issue 0021308:
+// "Remove hard-coded dependency of the external mesh plugins from the SMESH module"
+// is implemented (Mar 2012). It is kept for backward compatibility only.
+
#include <TCollection_AsciiString.hxx>
#include <Resource_DataMapOfAsciiStringAsciiString.hxx>
typedef std::vector<TCollection_AsciiString> TState;
typedef std::vector<TState> TAllStates;
-typedef TCollection_AsciiString _pyID;
+typedef TCollection_AsciiString _pyID;
-class ObjectStates{
+class SMESH_ObjectStates{
public:
- ObjectStates(TCollection_AsciiString theType);
- virtual ~ObjectStates();
+ SMESH_ObjectStates(TCollection_AsciiString theType);
+ virtual ~SMESH_ObjectStates();
void AddState(const TState &theState);
int _dumpstate;
};
-class LayerDistributionStates : public ObjectStates
+class LayerDistributionStates : public SMESH_ObjectStates
{
public:
typedef std::map<TCollection_AsciiString,TCollection_AsciiString> TDistributionMap;
class SMESH_NoteBook
{
public:
- typedef std::map<TCollection_AsciiString,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();
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