Version: 9.16.0
SALOMEDS_Study.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23// File : SALOMEDS_Study.hxx
24// Author : Sergey RUIN
25// Module : SALOME
26//
27#ifndef __SALOMEDS_STUDY_H__
28#define __SALOMEDS_STUDY_H__
29
30#include <vector>
31#include <string>
32
33#include "SALOMEDSClient.hxx"
35
36// IDL headers
37#include <SALOMEconfig.h>
38#include CORBA_SERVER_HEADER(SALOMEDS)
39
41{
42
43private:
46 SALOMEDS::Study_var _corba_impl;
47 CORBA::ORB_var _orb;
48
49public:
50
52 SALOMEDS_Study(SALOMEDS::Study_ptr theStudy);
54
55 virtual void Clear();
56 virtual void Init();
57
58 virtual bool Open(const std::string& theStudyUrl);
59 virtual bool CanOpen(const std::string& theStudyUrl);
60
61 virtual bool Save(bool theMultiFile, bool theASCII);
62 virtual bool SaveAs(const std::string& theUrl, bool theMultiFile, bool theASCII);
63
64 virtual bool CanCopy(const _PTR(SObject)& theSO);
65 virtual bool Copy(const _PTR(SObject)& theSO);
66 virtual bool CanPaste(const _PTR(SObject)& theSO);
67 virtual _PTR(SObject) Paste(const _PTR(SObject)& theSO);
68
69 virtual std::string GetPersistentReference();
70 virtual bool IsEmpty();
71 virtual _PTR(SComponent) FindComponent (const std::string& aComponentName);
72 virtual _PTR(SComponent) FindComponentID(const std::string& aComponentID);
73 virtual _PTR(SObject) FindObject(const std::string& anObjectName);
74 virtual std::vector<_PTR(SObject)> FindObjectByName( const std::string& anObjectName, const std::string& aComponentName ) ;
75 virtual _PTR(SObject) FindObjectID(const std::string& anObjectID);
76 virtual _PTR(SObject) CreateObjectID(const std::string& anObjectID);
77 virtual _PTR(SObject) FindObjectIOR(const std::string& anObjectIOR);
78 virtual _PTR(SObject) FindObjectByPath(const std::string& thePath);
79 virtual std::string GetObjectPath(const _PTR(SObject)& theSO);
80 virtual _PTR(ChildIterator) NewChildIterator(const _PTR(SObject)& theSO);
81 virtual _PTR(SComponentIterator) NewComponentIterator();
82 virtual _PTR(StudyBuilder) NewBuilder();
83 virtual std::string Name();
84 virtual void Name(const std::string& name);
85 virtual bool IsSaved();
86 virtual void IsSaved(bool save);
87 virtual bool IsModified();
88 virtual void Modified();
89 virtual std::string URL();
90 virtual void URL(const std::string& url);
91 virtual std::vector<_PTR(SObject)> FindDependances(const _PTR(SObject)& theSO);
92 virtual _PTR(AttributeStudyProperties) GetProperties();
93 virtual std::string GetLastModificationDate();
94 virtual std::vector<std::string> GetModificationsDate();
95 virtual _PTR(UseCaseBuilder) GetUseCaseBuilder();
96 virtual void EnableUseCaseAutoFilling(bool isEnabled);
97 virtual bool DumpStudy(const std::string& thePath,const std::string& theBaseName,bool isPublished,bool isMultiFile);
98 virtual _PTR(AttributeParameter) GetCommonParameters(const std::string& theID, int theSavePoint);
99 virtual _PTR(AttributeParameter) GetModuleParameters(const std::string& theID,
100 const std::string& theModuleName, int theSavePoint);
101 virtual void SetStudyLock(const std::string& theLockerID);
102 virtual bool IsStudyLocked();
103 virtual void UnLockStudy(const std::string& theLockerID);
104 virtual std::vector<std::string> GetLockerID();
105
106 virtual void SetReal(const std::string& theVarName, const double theValue);
107 virtual void SetInteger(const std::string& theVarName, const int theValue);
108 virtual void SetBoolean(const std::string& theVarName, const bool theValue);
109 virtual void SetString(const std::string& theVarName, const std::string& theValue);
110 virtual void SetStringAsDouble(const std::string& theVarName, const double theValue);
111
112 virtual double GetReal(const std::string& theVarName);
113 virtual int GetInteger(const std::string& theVarName);
114 virtual bool GetBoolean(const std::string& theVarName);
115 virtual std::string GetString(const std::string& theVarName);
116
117 virtual bool IsReal(const std::string& theVarName);
118 virtual bool IsInteger(const std::string& theVarName);
119 virtual bool IsBoolean(const std::string& theVarName);
120 virtual bool IsString(const std::string& theVarName);
121
122 virtual bool IsVariable(const std::string& theVarName);
123 virtual std::vector<std::string> GetVariableNames();
124
125 virtual bool RemoveVariable(const std::string& theVarName);
126 virtual bool RenameVariable(const std::string& theVarName, const std::string& theNewVarName);
127 virtual bool IsVariableUsed(const std::string& theVarName);
128 virtual std::vector< std::vector<std::string> > ParseVariables(const std::string& theVars);
129 virtual void attach(SALOMEDS::Observer_ptr theObserver,bool modify);
130 virtual void detach(SALOMEDS::Observer_ptr theObserver);
131
132 std::string ConvertObjectToIOR(CORBA::Object_ptr theObject);
133 CORBA::Object_ptr ConvertIORToObject(const std::string& theIOR);
134
135 SALOMEDSImpl_Study* GetLocalImpl() { return _local_impl; }
136
137private:
138 void InitORB();
139
140};
141#endif
#define Standard_EXPORT
Definition: DF_definitions.hxx:53
#define _PTR(Class)
Definition: SALOMEDSClient_definitions.hxx:72
Definition: SALOMEDSClient_Study.hxx:47
virtual int GetInteger(const std::string &theVarName)=0
virtual clt_shared_ptr< SALOMEDSClient_SComponentIterator > NewComponentIterator()=0
virtual clt_shared_ptr< SALOMEDSClient_UseCaseBuilder > GetUseCaseBuilder()=0
virtual void SetReal(const std::string &theVarName, const double theValue)=0
virtual clt_shared_ptr< SALOMEDSClient_SComponent > FindComponent(const std::string &aComponentName)=0
virtual bool CanCopy(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual clt_shared_ptr< SALOMEDSClient_SComponent > FindComponentID(const std::string &aComponentID)=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > FindObjectIOR(const std::string &anObjectIOR)=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > CreateObjectID(const std::string &anObjectID)=0
virtual void Clear()=0
virtual std::vector< clt_shared_ptr< SALOMEDSClient_SObject > > FindDependances(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual clt_shared_ptr< SALOMEDSClient_AttributeParameter > GetModuleParameters(const std::string &theID, const std::string &theModuleName, int theSavePoint)=0
virtual bool Save(bool theMultiFile, bool theASCII)=0
virtual std::string URL()=0
virtual std::vector< std::string > GetModificationsDate()=0
virtual std::vector< std::string > GetVariableNames()=0
virtual clt_shared_ptr< SALOMEDSClient_AttributeParameter > GetCommonParameters(const std::string &theID, int theSavePoint)=0
virtual void Modified()=0
virtual bool DumpStudy(const std::string &thePath, const std::string &theBaseName, bool isPublished, bool isMultiFile)=0
virtual void SetStudyLock(const std::string &theLockerID)=0
virtual void SetInteger(const std::string &theVarName, const int theValue)=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > FindObjectByPath(const std::string &thePath)=0
virtual bool IsString(const std::string &theVarName)=0
virtual bool IsBoolean(const std::string &theVarName)=0
virtual bool RemoveVariable(const std::string &theVarName)=0
virtual bool GetBoolean(const std::string &theVarName)=0
virtual std::string GetObjectPath(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual bool CanPaste(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual bool IsVariableUsed(const std::string &theVarName)=0
virtual bool Open(const std::string &theStudyUrl)=0
virtual bool IsSaved()=0
virtual bool CanOpen(const std::string &theStudyUrl)=0
virtual std::vector< std::vector< std::string > > ParseVariables(const std::string &theVars)=0
virtual bool IsInteger(const std::string &theVarName)=0
virtual bool IsReal(const std::string &theVarName)=0
virtual void SetString(const std::string &theVarName, const std::string &theValue)=0
virtual std::vector< clt_shared_ptr< SALOMEDSClient_SObject > > FindObjectByName(const std::string &anObjectName, const std::string &aComponentName)=0
virtual clt_shared_ptr< SALOMEDSClient_AttributeStudyProperties > GetProperties()=0
virtual clt_shared_ptr< SALOMEDSClient_ChildIterator > NewChildIterator(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > Paste(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual bool IsEmpty()=0
virtual void detach(SALOMEDS::Observer_ptr theObserver)=0
virtual std::string GetPersistentReference()=0
virtual void SetBoolean(const std::string &theVarName, const bool theValue)=0
virtual bool IsModified()=0
virtual void SetStringAsDouble(const std::string &theVarName, const double theValue)=0
virtual clt_shared_ptr< SALOMEDSClient_StudyBuilder > NewBuilder()=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > FindObject(const std::string &anObjectName)=0
virtual clt_shared_ptr< SALOMEDSClient_SObject > FindObjectID(const std::string &anObjectID)=0
virtual bool Copy(const clt_shared_ptr< SALOMEDSClient_SObject > &theSO)=0
virtual std::vector< std::string > GetLockerID()=0
virtual double GetReal(const std::string &theVarName)=0
virtual std::string GetString(const std::string &theVarName)=0
virtual bool SaveAs(const std::string &theUrl, bool theMultiFile, bool theASCII)=0
virtual bool IsVariable(const std::string &theVarName)=0
virtual std::string GetLastModificationDate()=0
virtual bool IsStudyLocked()=0
virtual std::string Name()=0
virtual void EnableUseCaseAutoFilling(bool isEnabled)=0
virtual void UnLockStudy(const std::string &theLockerID)=0
virtual bool RenameVariable(const std::string &theVarName, const std::string &theNewVarName)=0
virtual void Init()=0
virtual void attach(SALOMEDS::Observer_ptr theObserver, bool modify)=0
Definition: SALOMEDSImpl_Study.hxx:59
Definition: SALOMEDS_Study.hxx:41
virtual _PTR(SComponentIterator) NewComponentIterator()
virtual _PTR(ChildIterator) NewChildIterator(const _PTR(SObject) &theSO)
bool _isLocal
Definition: SALOMEDS_Study.hxx:44
virtual _PTR(AttributeStudyProperties) GetProperties()
SALOMEDS::Study_var _corba_impl
Definition: SALOMEDS_Study.hxx:46
virtual _PTR(UseCaseBuilder) GetUseCaseBuilder()
virtual _PTR(SObject) Paste(const _PTR(SObject) &theSO)
SALOMEDSImpl_Study * _local_impl
Definition: SALOMEDS_Study.hxx:45
SALOMEDSImpl_Study * GetLocalImpl()
Definition: SALOMEDS_Study.hxx:135
CORBA::ORB_var _orb
Definition: SALOMEDS_Study.hxx:47
virtual _PTR(StudyBuilder) NewBuilder()
string name
Definition: pythfilter.py:56