-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
exception StudyObjectAlreadyExists {};
//! Invalid name of the %study exception
exception StudyNameError {};
-//! Invalid study comment
+//! Invalid study comment
exception StudyCommentError {};
/*! \brief The name of the %Study
*/
void SetContext(in string thePath) raises (StudyInvalidReference, StudyInvalidContext);
/*! \brief Get the context of the %Study.
-
+
<em>See \ref example23 for an example of this method usage in batchmode of %SALOME application.</em>
*/
string GetContext() raises (StudyInvalidReference, StudyInvalidContext);
long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
-/*! \brief Mark this Study as being locked by the given locker.
+/*! \brief Mark this Study as being locked by the given locker.
The lock status can be checked by method IsStudyLocked
\param theLockerID identifies a locker of the study can be for ex. IOR of the engine that locks the study.
/*! \brief Indicate if the Study is locked
- Returns True if the Study was marked locked.
+ Returns True if the Study was marked locked.
*/
boolean IsStudyLocked() raises(StudyInvalidReference);
-/*! \brief Mark this Study as being unlocked by the given locker.
+/*! \brief Mark this Study as being unlocked by the given locker.
The lock status can be checked by method IsStudyLocked
\param theLockerID identifies a locker of the study can be for ex. IOR of the engine that unlocks the study.
*/
void UnLockStudy(in string theLockerID) raises(StudyInvalidReference);
-/*! \brief Get the list of IDs of the Study's lockers.
+/*! \brief Get the list of IDs of the Study's lockers.
*/
ListOfStrings GetLockerID() raises(StudyInvalidReference);
-/*! \brief Create real variable with Name theVarName and value theValue
+/*! \brief Create real variable with Name theVarName and value theValue
(or set if variable value into theValue already exists)
\param theVarName is a name of the variable
*/
void SetReal( in string theVarName, in double theValue ) raises(StudyInvalidReference);
-/*! \brief Create integer variable with Name theVarName and value theValue
+/*! \brief Create integer variable with Name theVarName and value theValue
(or set if variable value into theValue already exists)
\param theVarName is a name of the variable
\param theVarName is a value of the variable.
*/
void SetInteger( in string theVarName, in long theValue ) raises(StudyInvalidReference);
-/*! \brief Create boolean variable with Name theVarName and value theValue
+/*! \brief Create boolean variable with Name theVarName and value theValue
(or set if variable value into theValue already exists)
\param theVarName is a name of the variable
*/
void SetBoolean( in string theVarName, in boolean theValue ) raises(StudyInvalidReference);
-/*! \brief Create string variable with Name theVarName and value theValue
+/*! \brief Create string variable with Name theVarName and value theValue
(or set if variable value into theValue already exists)
\param theVarName is a name of the variable
\param theVarName is a name of the variable.
*/
string GetString( in string theVarName ) raises(StudyInvalidReference);
-
+
/*! \brief Indicate if a variable is real
/*! \brief Parse variables used for object creation
- \param string with variables, separated by special symbol.
+ \param string with variables, separated by special symbol.
\return Variables list.
*/
ListOfListOfStrings ParseVariables( in string theVars ) raises(StudyInvalidReference);
\param modify when \c true, observer receives any object's modification events;
otherwise observer receives object's creation events only
*/
- void attach(in SALOMEDS::Observer theObserver, in boolean modify);
+ void attach(in SALOMEDS::Observer theObserver, in boolean modify);
/*!
Detach an observer from the Study
\param theObserver observer to be detached
*/
- void detach(in SALOMEDS::Observer theObserver);
+ void detach(in SALOMEDS::Observer theObserver);
};
- //===========================================================================
- /*! \brief %SimanStudy Interface
-
- The Siman (simulation management) study is an interface extension to the %Study
- with functions for working with SIMAN server. Is allows to get data from SIMAN (check-out operation)
- and to store it back (check-in operation).
- This interface is correctly working if SALOME is compiled with SimanIO library, launched with siman
- option and connection to SIMAN server is established and alive. Only one study per application,
- checked out from the SIMAN is SimanStudy. For other studies all functionality is unaccessible.
-*/
-
- interface SimanStudy
- {
-
-//! No connection with SIMAN server
- exception SimanStudyNoConnection {};
-//! There is no SimanStudy with: study with checked out data.
- exception SimanStudyNotExists {};
-
-/*! \brief The ID of the study in SIMAN server
-
- This is equivalent to the methods setStudyId() & getStudyId()
-*/
- attribute string StudyId;
-
-/*! \brief The ID of the scenario in SIMAN server
-
- This is equivalent to the methods setScenarioId() & getScenarioId()
-*/
- attribute string ScenarioId;
-/*! \brief The ID of the user in SIMAN server
-
- This is equivalent to the methods setUserId() & getUserId()
-*/
- attribute string UserId;
-
-/*! \brief Get data from SIMAN and put it to the given study
-
- This method is called for just created study to make it referenced
- by this Siman study. Also it fills this study by the checked out
- data from SIMAN server.
- Warning: StudyID, ScenarioID and User Id must be set before calling of this method!
-
- \param theTarget referenced study for checking out
-*/
- void CheckOut(in Study theTarget);
-
-/*! \brief Get data from the source study and store in SIMAN
-
- It works only with already checked out study.
- \param theModuleName name of the module the check in must be perfrormed for. If empty, check in is performed for all modules.
-*/
- void CheckIn(in string theModuleName);
-
-/*! \brief Returns the %Study with checked out data
-
- If study is null, there is no such study in this application instance, or Salome was
- launched without siman option.
-*/
- Study getReferencedStudy();
-
-};
-
//==========================================================================
/*! \brief %Study Builder Interface
Defines the instance to the %SComponent.
*/
void DefineComponentInstance (in SComponent aComponent,in Object ComponentIOR) raises(LockProtection);
-
+
/*! \brief Deletion of a %SComponent
Removes a %SComponent.
*/
GenericAttribute FindOrCreateAttribute(in SObject anObject,
- in string aTypeOfAttribute) raises(LockProtection);
+ in string aTypeOfAttribute) raises(LockProtection);
/*! \brief Looking for an attribute assigned to a %SObject
*/
boolean FindAttribute(in SObject anObject,
- out GenericAttribute anAttribute,
- in string aTypeOfAttribute);
+ out GenericAttribute anAttribute,
+ in string aTypeOfAttribute);
/*! \brief Deleting the attribute assigned to the %SObject
Removes the attribute of a specific type which is assigned to the object.
<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void RemoveAttribute(in SObject anObject,
- in string aTypeOfAttribute) raises(LockProtection);
+ in string aTypeOfAttribute) raises(LockProtection);
/*!
Adds a reference between %anObject and %theReferencedObject.
\param anObject The %SObject which will get a reference
*/
void Addreference(in SObject anObject,
- in SObject theReferencedObject) ;
+ in SObject theReferencedObject) ;
/*!
Removes a reference from %anObject to another object.
/*! \brief Creation of a new command
Creates a new command which can contain several different actions.
-
+
<em>See \ref example3 for an example of this method usage in batchmode of %SALOME application.</em>
*/
Returns True if at this moment there is a command under execution.
*/
boolean HasOpenCommand();
-/*! \brief Cancelation of the command
+/*! \brief Cancellation of the command
Cancels all actions declared within the command.
-
+
<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
void AbortCommand(); // command management
void Redo() raises (LockProtection);
/*!
Returns True if at this moment there are any actions which can be canceled.
-
+
<em>See \ref example16 for an example of this method usage in batchmode of %SALOME application.</em>
*/
/*!
Shutdown the StudyManager process.
-*/
+*/
oneway void ShutdownWithExit();
/*! \brief Creation of a new study
/*! \brief Saving the study in a specified HDF file (or files).
Saves the study in a specified file (or files).
- \param aUrl The path to the definite file in whcih the study will be saved
+ \param aUrl The path to the definite file in which the study will be saved
\param aStudy The study which will be saved
\param theMultiFile If this parameter is True the study will be saved in several files.
<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
boolean SaveAs(in URL aUrl, // if the file already exists
- in Study aStudy,
- in boolean theMultiFile); // overwrite (as option)
+ in Study aStudy,
+ in boolean theMultiFile); // overwrite (as option)
/*! \brief Saving the study in a specified ASCII file (or files).
Saves the study in a specified ASCII file (or files).
- \param aUrl The path to the definite file in whcih the study will be saved
+ \param aUrl The path to the definite file in which the study will be saved
\param aStudy The study which will be saved
\param theMultiFile If this parameter is True the study will be saved in several files.
*/
boolean SaveAsASCII(in URL aUrl, // if the file already exists
- in Study aStudy,
- in boolean theMultiFile); // overwrite (as option)
+ in Study aStudy,
+ in boolean theMultiFile); // overwrite (as option)
/*! \brief List of open studies.
*/
string ConvertObjectToIOR(in Object theObject);
/*! \brief Object conversion.
-
+
Converts IOR into an object.
\return An object
*/
- Object ConvertIORToObject(in string theIOR);
+ Object ConvertIORToObject(in string theIOR);
/*!
Private method, returns an implementation of this StudyManager.
\param thePID is a process ID of the caller
\param isLocal is set True if the StudyManager is launched locally with the caller
*/
- long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
-
-/*! \brief Returns the siman study based on the given study.
-
- Creates a new Siman study, or returns just a previously created.
- \return Siman study, or none if it is not siman mode
-*/
- SimanStudy GetSimanStudy();
+ long long GetLocalImpl(in string theHostname, in long thePID, out boolean isLocal);
};
The objects in the %study are built by the %StudyBuilder. The %SObject interface
provides methods for elementary inquiries, like getting an object %ID or its attribuites.
\note
-
+
<BR><VAR>Tag</VAR> of an item in %SALOME application is an integer value uniquely defining an item
in the tree-type data structure.
<BR><VAR>ID</VAR> of an item is a description of item's position in the tree-type data structure.
boolean IsNull();
/*! Gets an object %ID
-
\return ID of the %SObject.
*/
ID GetID();
-/*! Acquisition of the father %Component of the %SObject
+/*! Acquisition of the father %Component of the %SObject
\return The father %Component of the %SObject.
*/
SComponent GetFatherComponent();
-/*! Acquisition of the father %SObject of the %SObject
+/*! Acquisition of the father %SObject of the %SObject
\return the father %SObject of the given %SObject.
*/
SObject GetFather();
-/*! Gets the %tag of a %SObject
+/*! Gets the %tag of a %SObject
\return the %tag of a %SObject.
*/
short Tag();
-/*! Gets the depth of a %SObject
+/*! Returns a tag of the last child %SObject (if any) of this %SObject.
+ Returns zero if this %SObject has no children.
+*/
+ short GetLastChildTag();
+
+/*! Gets the depth of a %SObject
\return the depth of a %SObject.
*/
short Depth();
-/*! Looks for subobjects of a given %SObject.
+/*! Looks for subobjects of a given %SObject.
\param atag Tag of the given %SObject
\return True if it finds a subobject of the %SObject with a definite tag as well as the required subobject.
*/
-
boolean FindSubObject (in long atag, out SObject obj);
-/*! Looks for attributes of a given %SObject
+/*! Looks for attributes of a given %SObject
\param aTypeOfAttribute String value defining the type of the required attribute of the given %SObject.
\return True if it finds an attribute of a definite type of the given %SObject as well as the discovered attribute.
<em>See \ref example1 for an example of this method usage in batchmode of %SALOME application.</em>
*/
boolean FindAttribute(out GenericAttribute anAttribute,
- in string aTypeOfAttribute);
-/*! Looks for a %SObject which the given %SObject refers to.
+ in string aTypeOfAttribute);
+/*! Looks for a %SObject which the given %SObject refers to.
\return The object which the given %SObject refers to as well as True if it finds
this object.
*/
boolean ReferencedObject(out SObject obj); // A REVOIR
-/*! Gets all attributes of a given %SObject
+/*! Gets all attributes of a given %SObject
\return The list of all attributes of the given %SObject.
<em>See \ref example17 for an example of this method usage in batchmode of %SALOME application.</em>
*/
ListOfAttributes GetAllAttributes();
-/*! Gets the study of a given %SObject.
+/*! Gets the study of a given %SObject.
\return The study containing the given %SObject.
*/
Study GetStudy();
/*! Gets the CORBA object by its own IOR attribute.
Returns nil, if can't.
-
\return The CORBA object of the %SObject.
*/
Object GetObject();
string Type();
//! Get the class type
- string GetClassType();
-
+ string GetClassType();
+
//! Get SObject
SObject GetSObject();
<ul>
<li> publishing in the study of the objects created by a definite component
<li> saving/loading of the data created by a definite component. These methods are called by the StudyManager when loading/saving a study containing the data created by a definite component.
- <li> transforming of the transient references into persistant references (or vice versa) of the SObjects when saving (or loading) a study
+ <li> transforming of the transient references into persistent references (or vice versa) of the SObjects when saving (or loading) a study
<li> copy/paste common functionality. These methods can be called by any component in order to copy/paste its object created in the study
</ul>
*/
string IORToLocalPersistentID (in SObject theSObject,
- in string IORString,
- in boolean isMultiFile,
- in boolean isASCII);
+ in string IORString,
+ in boolean isMultiFile,
+ in boolean isASCII);
/*!
Transforms PersistentID into IOR of the object. It is called for each
object in the %study.
*/
string LocalPersistentIDToIOR (in SObject theSObject,
- in string aLocalPersistentID,
- in boolean isMultiFile,
- in boolean isASCII)
+ in string aLocalPersistentID,
+ in boolean isMultiFile,
+ in boolean isASCII)
raises (SALOME::SALOME_Exception);
// Publishing in the study