Salome HOME
Implementation of Open/Save and Break-Link functionality on SHAPER shapes
[modules/shaper_study.git] / idl / SHAPERSTUDY_Gen.idl
index 7705f3964c6b4a81f51fe9d74fa9de97038e3349..de9c63650787b6a7233f5723d5d46acd6311d62b 100644 (file)
@@ -30,7 +30,7 @@
 module SHAPERSTUDY_ORB
 {
 
-interface SHAPER_Object     : GEOM::GEOM_Object
+interface SHAPER_Object : GEOM::GEOM_Object
 {
   /*!
   *  \brief Puts the shape to the object by BRep stream.
@@ -40,14 +40,34 @@ interface SHAPER_Object     : GEOM::GEOM_Object
   *  \brief Sets the internal entry of the object, common for all objects in SHAPER-STUDY
   */
   void SetEntry( in string theInternalEntry );
+  /*!
+  *  \brief Sets SObject of this object (when it is published)
+  */
+  void SetSO( in SALOMEDS::SObject theInternalEntry );
+  /*!
+  *  \brief Returns SObject of this object
+  */
+  SALOMEDS::SObject GetSO();
+  /*!
+  *  \brief Returns true if shape is already dead
+  */
+  boolean IsDead();
+  /*!
+  *  \brief Makes the dead-copy of the shape and returns it
+  */
+  SHAPER_Object MakeDead();
+  /*!
+  *  \brief Returns the stream of the previous version of the shape stored here
+  */
+  SALOMEDS::TMPFile GetOldShapeStream();
 };
 
 interface Gen : GEOM::GEOM_Gen
 {
   /*!
-   *  \brief Creates a SHAPERSTUDY_Object to interact with SHAPER
+   *  \brief Searches existing or creates a new SHAPERSTUDY_Object to interact with SHAPER
    */
-  SHAPER_Object CreateShape(in string theInternalEntry);
+  SHAPER_Object FindOrCreateShape(in string theInternalEntry);
 };
 
 interface IShapesOperations : GEOM::GEOM_IShapesOperations