Salome HOME
Make SHAPEr STUDY fields exported in SMESH into MED file
[modules/shaper_study.git] / idl / SHAPERSTUDY_Gen.idl
index e5a3d563a18a7e3e1ec9dc885e99146a35f820e8..eb0a6d9b8a5fff4eabd80ae23164aff69945be80 100644 (file)
 
 module SHAPERSTUDY_ORB
 {
-interface Gen : GEOM::GEOM_Gen
-{
-};
 
-interface IShapesOperations : GEOM::GEOM_IShapesOperations
+interface SHAPER_Object : GEOM::GEOM_Object
 {
+  /*!
+  *  \brief Puts the shape to the object by BRep stream.
+  */
+  void SetShapeByStream(in string theStream);
+  /*!
+  *  \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();
+  /*!
+  *  \brief Sets internal type of operation created this object. For group it is 37, shape 1.
+  */
+  void SetType( in long theType );
+
+  /*!
+  *  \brief Sets the shape by the pointer to the TopoDS_Shape
+  */
+  void SetShapeByPointer(in long long theShape);
 };
 
-interface IGroupOperations  : GEOM::GEOM_IGroupOperations
+/*!
+ * A group extension of the SHAPER object:
+ * it contains the selection-type and selected sub-shapes indices.
+ */
+interface SHAPER_Group : SHAPER_Object
 {
+  /*!
+  *  \brief Sets what is returned in the GEOM_IGroupOperations::GetType
+  */
+  void SetSelectionType(in long theType);
+  /*!
+  *  \brief Returns the type of the selected sub-shapes
+  */
+  long GetSelectionType();
+  /*!
+  *  \brief Sets what is returned in the GEOM_IGroupOperations::GetObjects
+  */
+  void SetSelection(in GEOM::ListOfLong theSelection);
+  /*!
+  *  \brief Returns the selected sub-shapes indices
+  */
+  GEOM::ListOfLong GetSelection();
 };
 
-interface IFieldOperations  : GEOM::GEOM_IFieldOperations
+interface Gen : GEOM::GEOM_Gen
 {
+  /*!
+   *  \brief Searches existing or creates a new SHAPERSTUDY_Object to interact with SHAPER
+   */
+  SHAPER_Object FindOrCreateShape(in string theInternalEntry);
 };
 
-interface IMeasureOperations  : GEOM::GEOM_IMeasureOperations
+interface IShapesOperations : GEOM::GEOM_IShapesOperations
 {
 };
 
-interface BaseObject        : GEOM::GEOM_BaseObject
+interface IGroupOperations  : GEOM::GEOM_IGroupOperations
 {
+  /*!
+  *  \brief Searches existing group of theOwner shape by the entry. Returns NULL if can not find.
+  */
+  SHAPER_Group FindGroup(in SHAPER_Object theOwner, in string theEntry);
 };
 
-interface SHAPER_Object     : GEOM::GEOM_Object
+interface SHAPER_Field             : GEOM::GEOM_Field
 {
+  /*!
+  *  \brief Sets the type of values in the field
+  */
+  void SetValuesType(in short theType);
+
+  /*!
+  *  \brief Sets the list of time step IDs in the field
+  */
+  void SetSteps(in GEOM::ListOfLong theSteps);
+
+  /*!
+  *  \brief Sets the names of components
+  */
+  void SetComponents( in GEOM::string_array theComponents );
+  /*!
+  *  \brief Erases all steps of this field
+  */
+  void ClearFieldSteps();
+
+  /*!
+  *  \brief Appends a step data to this field
+  */
+  void AddFieldStep( in long theStampID, in long theStepID, in GEOM::ListOfDouble theValues);
+
+
+  /*!
+  *  \brief Sets what is returned in the GEOM_IGroupOperations::GetType
+  */
+  void SetSelectionType(in long theType);
+  /*!
+  *  \brief Returns the type of the selected sub-shapes
+  */
+  long GetSelectionType();
+  /*!
+  *  \brief Sets what is returned in the GEOM_IGroupOperations::GetObjects
+  */
+  void SetSelection(in GEOM::ListOfLong theSelection);
+  /*!
+  *  \brief Returns the selected sub-shapes indices
+  */
+  GEOM::ListOfLong GetSelection();
+
+
+  /*!
+  *  \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();
+
 };
 
-interface Field             : GEOM::GEOM_Field
+interface IFieldOperations  : GEOM::GEOM_IFieldOperations
 {
+  /*!
+  *  \brief Searches existing field of theOwner shape by the entry. Returns NULL if can not find.
+  */
+  SHAPER_Field FindField(in SHAPER_Object theOwner, in string theEntry);
+  /*!
+  *  \brief Creates a field of theMainShape.
+  */
+  SHAPER_Field CreateFieldByType(in GEOM::GEOM_Object theMainShape, in long theShapeType);
 };
 
-interface FieldStep         : GEOM::GEOM_FieldStep
+interface IMeasureOperations  : GEOM::GEOM_IMeasureOperations
 {
 };
 
-interface DoubleFieldStep   : GEOM::GEOM_DoubleFieldStep
+interface SHAPER_DoubleFieldStep   : GEOM::GEOM_DoubleFieldStep
 {
 };
 
-interface IntFieldStep      : GEOM::GEOM_IntFieldStep
+interface SHAPER_IntFieldStep      : GEOM::GEOM_IntFieldStep
 {
 };
 
-interface BoolFieldStep     : GEOM::GEOM_BoolFieldStep
+interface SHAPER_BoolFieldStep     : GEOM::GEOM_BoolFieldStep
 {
 };