Salome HOME
29470 - Point cloud on a face
[modules/geom.git] / idl / GEOM_Gen.idl
index 7241c256dce88cdae1fcae4092e3915c38547aec..b83b75d282474319c2617f5f8ab373483ed0cb0e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  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
@@ -220,7 +220,7 @@ module GEOM
     CC_LE  ///< Less then or equal to
   };
 
- /*!
 /*!
    * \brief Object creation parameters
    *
    * Is returned by GEOM_Object::GetCreationInformation()
@@ -256,7 +256,9 @@ module GEOM
   typedef sequence<long>         ListOfLong;
   typedef sequence<double>       ListOfDouble;
   typedef sequence<ListOfDouble> ListOfListOfDouble;
+  typedef sequence<ListOfLong>   ListOfListOfLong;
 
+  interface GEOM_Gen;
   interface GEOM_Object;
   interface GEOM_BaseObject;
   interface GEOM_Field;
@@ -293,11 +295,6 @@ module GEOM
      */
     string GetEntry();
 
-    /*!
-     *  \brief Get ID of study, where the object is created.
-     */
-    long GetStudyID();
-
     /*!
      *  \brief Get internal type of operation created this object (POINT, BOX, CYLINDER, EXTRUSION...).
      *  \note To get topological information on the object, use \ref GEOM_IMeasureOperations::WhatIs() "WhatIs()"
@@ -363,6 +360,11 @@ module GEOM
      * \brief Return name of operation and values of parameters used for object creation
      */
     CreationInformationSeq GetCreationInformation();
+
+    /*!
+     * \brief Return the engine creating this object
+     */
+    GEOM_Gen GetGen();
   };
 
   //# GEOM_Object
@@ -391,7 +393,7 @@ module GEOM
      *
      *  This function is useful for the compounds only; for simple shapes it
      *  exactly the same value as GetShapeType().
-     *  Note, that compounds are procesed recursively.
+     *  Note, that compounds are processed recursively.
      *
      *  \sa GetShapeType(), GetTopologyType(), GetMaxShapeType()
      */
@@ -402,7 +404,7 @@ module GEOM
      *
      *  This function is useful for the compounds only; for simple shapes it
      *  exactly the same value as GetShapeType().
-     *  Note, that compounds are procesed recursively.
+     *  Note, that compounds are processed recursively.
      *
      *  \sa GetShapeType(), GetTopologyType(), GetMinShapeType()
      */
@@ -507,6 +509,12 @@ module GEOM
      */
     GEOM_Object GetMainShape();
 
+    /*
+     * \brief Returns true if the current object has connection to a parametrical model
+     * which can be modified by parameters change.
+     */
+    boolean IsParametrical();
+
   };
 
   //# GEOM_Field
@@ -692,11 +700,6 @@ module GEOM
      */
     string GetErrorCode();
 
-    /*!
-     *  \brief Get ID of study, where the operation is defined
-     */
-    long GetStudyID();
-
     /*!
      *  \brief Opens a new transaction
      */
@@ -813,7 +816,8 @@ module GEOM
      *  \param theFace The referenced face.
      *  \return New GEOM_Object, containing the created point.
      */
-    GEOM_Object MakePointOnFace (in GEOM_Object theFace);
+    GEOM_Object MakePointOnFace (in GEOM_Object theFace,
+                                in long        theNumberOfPnts);
 
     /*!
      *  \brief Create a point, on two lines intersection.
@@ -854,7 +858,7 @@ module GEOM
     GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1, in GEOM_Object thePnt2);
 
     /*!
-     *  C\brief reate a line, passing through the given point
+     *  \brief Create a line, passing through the given point
      *  and parallel to the given direction
      *  \param thePnt Point. The resulting line will pass through it.
      *  \param theDir Direction. The resulting line will be parallel to it.
@@ -882,7 +886,7 @@ module GEOM
      *  \brief Create a plane, passing through the three given points
      *  \param thePnt1 First of three points, defining the plane.
      *  \param thePnt2 Second of three points, defining the plane.
-     *  \param thePnt3 Fird of three points, defining the plane.
+     *  \param thePnt3 Third of three points, defining the plane.
      *  \param theTrimSize Half size of a side of quadrangle face, representing the plane.
      *  \return New GEOM_Object, containing the created plane.
      */
@@ -1731,7 +1735,7 @@ module GEOM
 
 
     /*!
-     *  \brief Add / Remove material to / from  a solid by extrusion of the base shape on the given distance.
+     *  \brief Add / Remove material to / from a solid by extrusion of the base shape on the given distance.
      *  \param theInitShape Initial shape on which to perform the feature.It has to be a solid or 
      *   a compound made of a single solid
      *  \param theBase Edge or wire defining the base shape to be extruded. 
@@ -1821,7 +1825,7 @@ module GEOM
      *
      *  The path shape can be a wire or an edge.
      *  the several profiles can be specified in the several locations of path.
-     *  \param theSeqBases - list of  Bases shape to be extruded.
+     *  \param theSeqBases - list of Bases shape to be extruded.
      *  \param theLocations - list of locations on the path corresponding
      *                        specified list of the Bases shapes. Number of locations
      *                        should be equal to number of bases or list of locations can be empty.
@@ -1855,7 +1859,7 @@ module GEOM
      *
      *  The path shape can be a shell or a face.
      *  the several profiles can be specified in the several locations of path.
-     *  \param theSeqBases - list of  Bases shape to be extruded.
+     *  \param theSeqBases - list of Bases shape to be extruded.
      *  \param theSeqSubBases - list of corresponding sub-shapes of section shapes.
      *  \param theLocations - list of locations on the path corresponding
      *                        specified list of the Bases shapes. Number of locations
@@ -1903,7 +1907,7 @@ module GEOM
      *  \param theBase Base shape to be extruded.
      *  \param thePath Path shape to extrude the base shape along it.
      *  \param theVec Vector defines a constant binormal direction to keep the
-     *                same angle beetween the Direction and the sections
+     *                same angle between the Direction and the sections
      *                along the sweep surface.
      *  \param IsGenerateGroups flag that tells if it is necessary to
      *         return groups (true) or not (false).
@@ -2474,18 +2478,18 @@ module GEOM
      *  \param theShape Shape to find sub-shapes of.
      *  \param theShapeType Type of sub-shapes to be retrieved.
      *  \param theTopLeftPoint Top left quadrangle corner
-     *  \param theTopRigthPoint Top right quadrangle corner
+     *  \param theTopRightPoint Top right quadrangle corner
      *  \param theBottomLeftPoint Bottom left quadrangle corner
-     *  \param theBottomRigthPoint Bottom right quadrangle corner
+     *  \param theBottomRightPoint Bottom right quadrangle corner
      *  \param theState The state of the sub-shapes to find.
      *  \return List of all found sub-shapes.
      */
     ListOfGO GetShapesOnQuadrangle (in GEOM_Object theShape,
                                     in long        theShapeType,
                                     in GEOM_Object theTopLeftPoint,
-                                    in GEOM_Object theTopRigthPoint,
+                                    in GEOM_Object theTopRightPoint,
                                     in GEOM_Object theBottomLeftPoint,
-                                    in GEOM_Object theBottomRigthPoint,
+                                    in GEOM_Object theBottomRightPoint,
                                     in shape_state theState);
 
     /*!
@@ -2578,18 +2582,18 @@ module GEOM
      *  \param theShape Shape to find sub-shapes of.
      *  \param theShapeType Type of sub-shapes to be retrieved.
      *  \param theTopLeftPoint Top left quadrangle corner
-     *  \param theTopRigthPoint Top right quadrangle corner
+     *  \param theTopRightPoint Top right quadrangle corner
      *  \param theBottomLeftPoint Bottom left quadrangle corner
-     *  \param theBottomRigthPoint Bottom right quadrangle corner
+     *  \param theBottomRightPoint Bottom right quadrangle corner
      *  \param theState The state of the sub-shapes to find.
      *  \return List of IDs of all found sub-shapes.
      */
     ListOfLong GetShapesOnQuadrangleIDs (in GEOM_Object theShape,
                                          in long        theShapeType,
                                          in GEOM_Object theTopLeftPoint,
-                                         in GEOM_Object theTopRigthPoint,
+                                         in GEOM_Object theTopRightPoint,
                                          in GEOM_Object theBottomLeftPoint,
-                                         in GEOM_Object theBottomRigthPoint,
+                                         in GEOM_Object theBottomRightPoint,
                                          in shape_state theState);
 
     /*!
@@ -2692,6 +2696,18 @@ module GEOM
     GEOM_Object GetInPlaceByHistory (in GEOM_Object theShapeWhere,
                                      in GEOM_Object theShapeWhat);
 
+    /*!
+     *  \brief A sort of GetInPlace functionality, returning for each sub-shape ID of 
+     *  \a theShapeWhat a list of corresponding sub-shape IDs of \a theShapeWhere.
+     *  For example, if theShapeWhat is a box and theShapeWhere is this box cut into 
+     *  two parts by a plane, then the result can be as this: 
+     *    len( result_list ) = 35,
+     *    result_list[ 1 ] = [ 2, 36 ], which means that the box turned into two solids
+     *  with IDs 2 and 36 within theShapeWhere
+     */
+    ListOfListOfLong GetInPlaceMap (in GEOM_Object theShapeWhere,
+                                    in GEOM_Object theShapeWhat);
+
     /*!
      *  \brief Get sub-shape of theShapeWhere, which are
      *  coincident with \a theShapeWhat that can either SOLID, FACE, EDGE or VERTEX.
@@ -2840,7 +2856,7 @@ module GEOM
 
     /*!
      *  \brief Create a quadrangle face from four edges. Order of Edges is not
-     *  important. It is  not necessary that edges share the same vertex.
+     *  important. It is not necessary that edges share the same vertex.
      *  \param theEdge1,theEdge2,theEdge3,theEdge4 Edges for the face bound.
      *  \return New GEOM_Object, containing the created face.
      */
@@ -2875,7 +2891,7 @@ module GEOM
      *  \brief Create a hexahedral solid, bounded by the six given faces. Order of
      *  faces is not important. 
      *
-     *  It is  not necessary that Faces share the same edge.
+     *  It is not necessary that Faces share the same edge.
      *  \param theFace1,theFace2,theFace3,theFace4,theFace5,theFace6 Faces for the hexahedral solid.
      *  \return New GEOM_Object, containing the created solid.
      */
@@ -4184,8 +4200,8 @@ module GEOM
     SALOMEDS::TMPFile GetTexture(in long theID, out long theWidth, out long theHeight);
 
     /*!
-     * \brief Get list of all avaiable texture IDs
-     * \return list of all texture IDs avaiable for the current study
+     * \brief Get list of all available texture IDs
+     * \return list of all texture IDs available for the current study
      */
     ListOfLong GetAllTextures();
 
@@ -4363,12 +4379,13 @@ module GEOM
     GEOM_Object GetCentreOfMass (in GEOM_Object theShape);
 
     /*
-     *  Get the vertex by index for 1D objects depends the edge/wire orientation
+     *  Get the vertex by index for 1D objects
      *  \param theShape Shape (wire or edge) to find the vertex on it
      *  \param theIndex Index of vertex sub-shape
+     *  \param theUseOri To consider edge/wire orientation or not
      *  \return New GEOM_Object, vertex.
      */
-    GEOM_Object GetVertexByIndex( in GEOM_Object theShape, in long index );
+    GEOM_Object GetVertexByIndex( in GEOM_Object theShape, in long theIndex, in boolean theUseOri );
 
     /*!
      *  \brief Get a vector, representing the normal of theFace.
@@ -4544,7 +4561,7 @@ module GEOM
     /*!
      *  \brief Detect self-intersections of the given shape with algorithm based on mesh intersections.
      *  \param theShape Shape to check validity of.
-     *  \param theDeflection Linear deflection coefficient that specifies quality of tesselation.
+     *  \param theDeflection Linear deflection coefficient that specifies quality of tessellation.
      *  \param theTolerance Specifies a distance between sub-shapes used for detecting gaps:
      *                       - if \a theTolerance <= 0, algorithm detects intersections
      *                       - if \a theTolerance > 0, algorithm detects gaps
@@ -4557,9 +4574,9 @@ module GEOM
                                        out ListOfLong theIntersections);
 
     /*!
-     *  \brief Check boolean and partition operations agruments.
-     *  \param theShape the agrument of an operation to be checked.
-     *  \return TRUE if the agrument is valid for a boolean or partition
+     *  \brief Check boolean and partition operations arguments.
+     *  \param theShape the argument of an operation to be checked.
+     *  \return TRUE if the argument is valid for a boolean or partition
      *          operation; FALSE otherwise.
      */
     boolean CheckBOPArguments (in GEOM_Object theShape);
@@ -4571,7 +4588,7 @@ module GEOM
      *  \param theTolerance Specifies a distance between shapes used for detecting gaps:
      *                       - if \a theTolerance <= 0, algorithm detects intersections
      *                       - if \a theTolerance > 0, algorithm detects gaps
-     *  \param theDeflection Linear deflection coefficient that specifies quality of tesselation:
+     *  \param theDeflection Linear deflection coefficient that specifies quality of tessellation:
      *                       - if \a theDeflection <= 0, default deflection 0.001 is used
      *  \param theIntersections1 Output: contains list of sub-shapes IDs from 1st shape that localize intersection
      *  \param theIntersections2 Output: contains list of sub-shapes IDs from 2nd shape that localize intersection
@@ -4700,6 +4717,24 @@ module GEOM
      */
     double MinSurfaceCurvatureByPoint (in GEOM_Object theShape, in GEOM_Object thePoint);
 
+    /*!
+     *  \brief Get vector of curvature of surface in the given point along the given direction.
+     *  \param theShape - face.
+     *  \param thePoint - point.
+     *  \param theDirection - direction.
+     *  \note  Before the calculation of curvature, the point and the direction
+     *         are projected to the face, if the point does not lay on it or
+     *         the direction is not tangent to it initially.
+     *  \return Vector of curvature. The returned vector is codirectional with
+     *          the normal to the face in the given point in case of positive
+     *          curvature value and opposite to the normal in case of negative
+     *          curvature. The normal of the returned vector is equal to the
+     *          absolute value of the curvature.
+     */
+    GEOM_Object SurfaceCurvatureByPointAndDirection (in GEOM_Object theShape,
+                                                     in GEOM_Object thePoint,
+                                                     in GEOM_Object theDirection);
+
   };
 
  // # GEOM_IGroupOperations:
@@ -4709,7 +4744,7 @@ module GEOM
   interface GEOM_IGroupOperations : GEOM_IOperations
   {
     /*!
-     *  \brief Creates a new group which will store  sub-shapes of theMainShape
+     *  \brief Creates a new group which will store sub-shapes of theMainShape
      *  \param theMainShape is a GEOM_Object on which the group is selected
      *  \param theShapeType defines a shape type of the group
      *  \return a newly created GEOM group
@@ -4733,7 +4768,7 @@ module GEOM
     void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId);
 
     /*!
-     *  \brief Adds to the group all the given shapes. No errors, if some shapes are alredy included.
+     *  \brief Adds to the group all the given shapes. No errors, if some shapes are already included.
      *  \param theGroup is a GEOM group to which the new sub-shapes are added.
      *  \param theSubShapes is a list of sub-shapes to be added.
      */
@@ -4747,7 +4782,7 @@ module GEOM
     void DifferenceList (in GEOM_Object theGroup, in ListOfGO theSubShapes);
 
     /*!
-     *  \brief Adds to the group all the given shapes. No errors, if some shapes are alredy included.
+     *  \brief Adds to the group all the given shapes. No errors, if some shapes are already included.
      *  \param theGroup is a GEOM group to which the new sub-shapes are added.
      *  \param theSubShapes is a list of IDs of sub-shapes to be added.
      */
@@ -4874,7 +4909,25 @@ module GEOM
     long GetNbSubShapes(in GEOM_Object shape, in short fieldDim);
   };
 
- // # GEOM_Gen:
+  // # GEOM_ITestOperations:
+  /*!
+   *  \brief Interface for testing operations.
+   */
+  interface GEOM_ITestOperations : GEOM_IOperations
+  {
+    /*!
+     *  \brief Build a mesh on the given shape.
+     *  \param shape is a source object
+     *  \param linearDeflection is a linear deflection
+     *  \param isRelative says if given value of deflection is relative to shape's bounding box
+     *  \param angularDeflection is an angular deflection for edges in radians
+     *  \return true in case of success; otherwise false.
+     */
+    boolean Tesselate(in GEOM_Object shape, in double linearDeflection,
+                      in boolean isRelative, in double angularDeflection);
+  };
+
+  // # GEOM_Gen:
   /*!
    *  \brief Interface to access other GEOM interfaces.
    *
@@ -4886,9 +4939,9 @@ module GEOM
      *  \brief Undo/Redo Management
      */
 
-    void Undo (in long theStudyID);
+    void Undo ();
 
-    void Redo (in long theStudyID);
+    void Redo ();
 
     /*!
      * \brief Publishing management
@@ -4897,8 +4950,7 @@ module GEOM
      * if theFather is not NULL the object is placed under thFather's SObject.
      * Returns a SObject where theObject is placed
      */
-    SALOMEDS::SObject AddInStudy (in SALOMEDS::Study theStudy,
-                                  in GEOM_BaseObject theObject,
+    SALOMEDS::SObject AddInStudy (in GEOM_BaseObject theObject,
                                   in string          theName,
                                   in GEOM_BaseObject theFather);
 
@@ -4906,8 +4958,6 @@ module GEOM
      *  \brief Publish sub-shapes, standing for arguments and sub-shapes of arguments
      *
      *  To be used from python scripts out of geompy.addToStudy (non-default usage)
-     *  \param theStudy  the study, in which theObject is published already,
-     *                   and in which the arguments will be published
      *  \param theObject published GEOM_Object, arguments of which will be published
      *  \param theArgs   list of GEOM_Object, operation arguments to be published.
      *                   If this list is empty, all operation arguments will be published
@@ -4926,8 +4976,7 @@ module GEOM
      *                      and prefix "from_subshapes_of_" to names of partially restored sub-shapes.
      *  \return list of published sub-shapes
      */
-    ListOfGO RestoreSubShapesO (in SALOMEDS::Study   theStudy,
-                                in GEOM_Object       theObject,
+    ListOfGO RestoreSubShapesO (in GEOM_Object       theObject,
                                 in ListOfGO          theArgs,
                                 in find_shape_method theFindMethod,
                                 in boolean           theInheritFirstArg,
@@ -4937,8 +4986,6 @@ module GEOM
      *  \brief Publish sub-shapes, standing for arguments and sub-shapes of arguments
      *
      *  To be used from python scripts out of geompy.addToStudy (non-default usage)
-     *  \param theStudy  the study, in which theObject is published already,
-     *                   and in which the arguments will be published
      *  \param theObject published GEOM_Object, arguments of which will be published
      *  \param theArgs   list of GEOM_Object, operation arguments to be published.
      *                   If this list is empty, all operation arguments will be published
@@ -4957,8 +5004,7 @@ module GEOM
      *                      and prefix "from_subshapes_of_" to names of partially restored sub-shapes.
      *  \return list of published sub-shapes
      */
-    ListOfGO RestoreGivenSubShapesO (in SALOMEDS::Study   theStudy,
-                                     in GEOM_Object       theObject,
+    ListOfGO RestoreGivenSubShapesO (in GEOM_Object       theObject,
                                      in ListOfGO          theArgs,
                                      in find_shape_method theFindMethod,
                                      in boolean           theInheritFirstArg,
@@ -4969,8 +5015,6 @@ module GEOM
      *
      *  To be used from GUI and from geompy.addToStudy.
      *  Work like the above method, but accepts study object theSObject instead of GEOM_Object.
-     *  \param theStudy  the study, in which theObject is published already,
-     *                   and in which the arguments will be published
      *  \param theSObject study object, referencing GEOM_Object, arguments of which will be published
      *  \param theArgs   list of GEOM_Object, operation arguments to be published.
      *                   If this list is empty, all operation arguments will be published
@@ -4988,8 +5032,7 @@ module GEOM
      *  \param theAddPrefix add prefix "from_" to names of restored sub-shapes,
      *                      and prefix "from_subshapes_of_" to names of partially restored sub-shapes.
      */
-    ListOfGO RestoreSubShapesSO (in SALOMEDS::Study   theStudy,
-                                 in SALOMEDS::SObject theSObject,
+    ListOfGO RestoreSubShapesSO (in SALOMEDS::SObject theSObject,
                                  in ListOfGO          theArgs,
                                  in find_shape_method theFindMethod,
                                  in boolean           theInheritFirstArg,
@@ -4997,22 +5040,22 @@ module GEOM
 
     // #  Methods to access interfaces for objects creation and transformation
 
-    GEOM_IBasicOperations     GetIBasicOperations    (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_ITransformOperations GetITransformOperations(in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_I3DPrimOperations    GetI3DPrimOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IShapesOperations    GetIShapesOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IBooleanOperations   GetIBooleanOperations  (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_ICurvesOperations    GetICurvesOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_ILocalOperations     GetILocalOperations    (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IHealingOperations   GetIHealingOperations  (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IInsertOperations    GetIInsertOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IMeasureOperations   GetIMeasureOperations  (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IBlocksOperations    GetIBlocksOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IGroupOperations     GetIGroupOperations    (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IFieldOperations     GetIFieldOperations    (in long theStudyID) raises (SALOME::SALOME_Exception);
-
-    GEOM_IOperations GetPluginOperations (in long   theStudyID,
-                                          in string theLibName) raises (SALOME::SALOME_Exception);
+    GEOM_IBasicOperations     GetIBasicOperations    () raises (SALOME::SALOME_Exception);
+    GEOM_ITransformOperations GetITransformOperations() raises (SALOME::SALOME_Exception);
+    GEOM_I3DPrimOperations    GetI3DPrimOperations   () raises (SALOME::SALOME_Exception);
+    GEOM_IShapesOperations    GetIShapesOperations   () raises (SALOME::SALOME_Exception);
+    GEOM_IBooleanOperations   GetIBooleanOperations  () raises (SALOME::SALOME_Exception);
+    GEOM_ICurvesOperations    GetICurvesOperations   () raises (SALOME::SALOME_Exception);
+    GEOM_ILocalOperations     GetILocalOperations    () raises (SALOME::SALOME_Exception);
+    GEOM_IHealingOperations   GetIHealingOperations  () raises (SALOME::SALOME_Exception);
+    GEOM_IInsertOperations    GetIInsertOperations   () raises (SALOME::SALOME_Exception);
+    GEOM_IMeasureOperations   GetIMeasureOperations  () raises (SALOME::SALOME_Exception);
+    GEOM_IBlocksOperations    GetIBlocksOperations   () raises (SALOME::SALOME_Exception);
+    GEOM_IGroupOperations     GetIGroupOperations    () raises (SALOME::SALOME_Exception);
+    GEOM_IFieldOperations     GetIFieldOperations    () raises (SALOME::SALOME_Exception);
+    GEOM_ITestOperations      GetITestOperations     () raises (SALOME::SALOME_Exception);
+
+    GEOM_IOperations GetPluginOperations (in string theLibName) raises (SALOME::SALOME_Exception);
 
     // # Objects Management
 
@@ -5025,11 +5068,10 @@ module GEOM
 
     /*!
      *  \brief Returns an object defined by the study and its entry in the GEOM component
-     *  \param theStudyID is a SALOMEDS Study ID
      *  \param theEntry is an entry of the requested GEOM_Object in the GEOM component
      *  \note if the object has not previously been created a NULL GEOM_Object is returned
      */
-    GEOM_BaseObject GetObject (in long theStudyID, in string theEntry);
+    GEOM_BaseObject GetObject (in string theEntry);
 
     /*!
      *  \brief Add a sub-shape defined by indices in \a theIndices
@@ -5044,7 +5086,7 @@ module GEOM
     
     /*!
      *  \brief Returns a GEOM_Object defined by its IOR
-     *  \param theIOR a string containg an IOR of the requested GEOM_Object
+     *  \param theIOR a string containing an IOR of the requested GEOM_Object
      */
     GEOM_Object GetIORFromString (in string theIOR);
 
@@ -5068,11 +5110,9 @@ module GEOM
 
     /*!
      *  \brief Publishes the named sub-shapes of given object in the study.
-     *  \param theStudy    The study in which the object is published
      *  \param theObject   The object which named sub-shapes are published
      */
-    ListOfGO PublishNamedShapesInStudy(in SALOMEDS::Study theStudy,
-                                       //in SObject theSObject,
+    ListOfGO PublishNamedShapesInStudy(//in SObject theSObject,
                                        in Object theObject);
 
     /*!
@@ -5125,32 +5165,33 @@ module GEOM
 
     /*!
      * \brief Collects dependencies of the given objects from other ones
-     * \param theStudy The study in which the object is published
      * \param theListOfEntries List of GEOM object entries in OCAF tree (not in study)
      * \return Struct of dependent entries and its links as a byte array
      * \note This method is supposed to be used by GUI only.
      */
-    SALOMEDS::TMPFile GetDependencyTree(in SALOMEDS::Study theStudy,
-                                       in string_array theListOfEntries);
+    SALOMEDS::TMPFile GetDependencyTree(in string_array theListOfEntries);
 
     /*!
      * \brief Fills 3 lists that is used to reduce study of redundant objects:
      *  - dependencies of the given objects from other ones;
      *  - children of the given objects;
      *  - all other objects in study.
-     * \param theStudy The study in which the object was published
      * \param theSelectedEntries List of GEOM object entries in OCAF tree
      * \param theParentEntries List of GEOM object entries on which the given objects depend
      * \param theSubEntries Children entries list of the given objects
      * \param theOtherEntries List of GEOM object entries which are in the study, but not in parents and children lists
      * \note This method is supposed to be used by GUI only.
      */
-    void GetEntriesToReduceStudy(in SALOMEDS::Study theStudy,
-                                inout string_array theSelectedEntries,
-                                inout string_array theParentEntries,
-                                inout string_array theSubEntries,
-                                inout string_array theOtherEntries);
+    void GetEntriesToReduceStudy(inout string_array theSelectedEntries,
+                                                inout string_array theParentEntries,
+                                                inout string_array theSubEntries,
+                                                inout string_array theOtherEntries);
 
+
+    /*
+    * \brief Breaks links to parametrical mode for parametrical shape
+    */
+    void BreakLink(in string theEntry);
   };
 };