Salome HOME
[bos #29336] problem in inertia calculus
[modules/geom.git] / idl / GEOM_Gen.idl
index dd7214a1c368ebcfa23ac92e72052af53266f9fc..c9b0664e07d56b4c30129c043ec4ac3a717aa21c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021  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;
@@ -358,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
@@ -502,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
@@ -844,7 +857,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.
@@ -872,7 +885,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.
      */
@@ -2464,18 +2477,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);
 
     /*!
@@ -2568,18 +2581,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);
 
     /*!
@@ -2682,6 +2695,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.
@@ -4353,12 +4378,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.
@@ -4723,7 +4749,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.
      */
@@ -4737,7 +4763,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.
      */
@@ -5123,6 +5149,11 @@ module GEOM
                                                 inout string_array theSubEntries,
                                                 inout string_array theOtherEntries);
 
+
+    /*
+    * \brief Breaks links to parametrical mode for parametrical shape
+    */
+    void BreakLink(in string theEntry);
   };
 };