#include <TCollection_AsciiString.hxx>
#include <Resource_DataMapOfAsciiStringAsciiString.hxx>
+
+class _pyCommand;
#include <vector>
#include <string>
+typedef std::vector<TCollection_AsciiString> TState;
+typedef std::vector<TState> TAllStates;
+typedef TCollection_AsciiString _pyID;
+
+class ObjectStates{
+
+public:
+
+ ObjectStates(TCollection_AsciiString theType);
+ ~ObjectStates();
+
+ void AddState(const TState &theState);
+
+ TState GetCurrectState() const;
+ TAllStates GetAllStates() const;
+ void IncrementState();
+ TCollection_AsciiString GetObjectType() const;
+
+
+
+private:
+ TCollection_AsciiString _type;
+ TAllStates _states;
+ int _dumpstate;
+};
+
+class LayerDistributionStates : public ObjectStates
+{
+public:
+ typedef std::map<TCollection_AsciiString,TCollection_AsciiString> TDistributionMap;
+ LayerDistributionStates();
+ ~LayerDistributionStates();
+
+ void AddDistribution(const TCollection_AsciiString& theDistribution);
+ bool HasDistribution(const TCollection_AsciiString& theDistribution) const;
+
+ bool SetDistributionType(const TCollection_AsciiString& theDistribution,
+ const TCollection_AsciiString& theType);
+ TCollection_AsciiString GetDistributionType(const TCollection_AsciiString& theDistribution) const;
+
+private:
+
+ TDistributionMap _distributions;
+};
+
class SMESH_NoteBook
{
public:
+ typedef std::map<TCollection_AsciiString,ObjectStates*> TVariablesMap;
+ typedef std::map<TCollection_AsciiString,TCollection_AsciiString> TMeshEditorMap;
SMESH_NoteBook();
~SMESH_NoteBook();
- TCollection_AsciiString ReplaceVariables(const TCollection_AsciiString& theString) const;
-
- typedef std::map<TCollection_AsciiString,std::vector<TCollection_AsciiString> > TVariablesMap;
+ void ReplaceVariables();
+
+ void AddCommand(const TCollection_AsciiString& theString);
+ TCollection_AsciiString GetResultScript() const;
private:
void InitObjectMap();
- std::vector<std::string> ParseVariables(const std::string& theVariables, const char sep) const;
+ void ProcessLayerDistribution();
private:
+
TVariablesMap _objectMap;
+ std::vector<Handle(_pyCommand)> _commands;
+ TMeshEditorMap myMeshEditors;
};
#endif //SMESH_NoteBook_HeaderFile