Salome HOME
Copyright update 2020
[modules/smesh.git] / idl / SMESH_MeshEditor.idl
index 9491b921400eddaaff9a5fdf5162a4f1c027ea89..7b8775a7bb3feebc082a5b06fa7cde6263fc4172 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  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
@@ -510,13 +510,21 @@ module SMESH
 
     /*!
      * \brief Generate dim+1 elements by extrusion of elements along vector
-     *  \param nodes - nodes to extrude: a list including groups, sub-meshes or a mesh
-     *  \param edges - edges to extrude: a list including groups, sub-meshes or a mesh
-     *  \param faces - faces to extrude: a list including groups, sub-meshes or a mesh
-     *  \param stepVector - vector giving direction and distance of an extrusion step
-     *  \param nbOfSteps - number of elements to generate from one element
+     *  \param nodes - nodes to extrude: a list including groups, sub-meshes or a mesh.
+     *  \param edges - edges to extrude: a list including groups, sub-meshes or a mesh.
+     *  \param faces - faces to extrude: a list including groups, sub-meshes or a mesh.
+     *  \param stepVector - vector giving direction and distance of an extrusion step.
+     *  \param nbOfSteps - number of elements to generate from one element.
      *  \param toMakeGroups - if true, new elements will be included into new groups
      *         corresponding to groups the input elements included in.
+     *  \param scaleFactors - optional scale factors to apply during extrusion; it's
+     *         usage depends on \a scalesVariation parameter.
+     *  \param scalesVariation - if \c True, \a scaleFactors are spread over all \a NbOfSteps,
+                otherwise \a scaleFactors[i] is applied to nodes at the i-th extrusion step.
+     *  \param angles - optional rotation angles to apply during extrusion; it's
+     *         usage depends on \a anglesVariation parameter.
+     *  \param anglesVariation - if \c True, \a angles are spread over all \a NbOfSteps,
+                otherwise \a angle[i] is applied to nodes at the i-th extrusion step.
      *  \return ListOfGroups - new groups created if \a toMakeGroups is true
      */
     ListOfGroups ExtrusionSweepObjects(in ListOfIDSources nodes,
@@ -524,10 +532,12 @@ module SMESH
                                        in ListOfIDSources faces,
                                        in DirStruct       stepVector,
                                        in long            nbOfSteps,
+                                       in boolean         toMakeGroups,
                                        in double_array    scaleFactors,
-                                       in boolean         linearVariation,
+                                       in boolean         scaleVariation,
                                        in double_array    basePoint,
-                                       in boolean         toMakeGroups)
+                                       in double_array    angles,
+                                       in boolean         angleVariation)
       raises (SALOME::SALOME_Exception);
 
     /*! Generates new elements by extrusion along the normal to a discretized surface or wire
@@ -569,18 +579,20 @@ module SMESH
       EXTR_CANT_GET_TANGENT
     };
 
-    ListOfGroups ExtrusionAlongPathObjects(in ListOfIDSources Nodes,
-                                           in ListOfIDSources Edges,
-                                           in ListOfIDSources Faces,
+    ListOfGroups ExtrusionAlongPathObjects(in ListOfIDSources   Nodes,
+                                           in ListOfIDSources   Edges,
+                                           in ListOfIDSources   Faces,
                                            in SMESH_IDSource    Path,
                                            in GEOM::GEOM_Object PathShape,
                                            in long              NodeStart,
                                            in boolean           HasAngles,
                                            in double_array      Angles,
-                                           in boolean           LinearVariation,
+                                           in boolean           AnglesVariation,
                                            in boolean           HasRefPoint,
                                            in PointStruct       RefPoint,
                                            in boolean           MakeGroups,
+                                           in double_array      ScaleFactors,
+                                           in boolean           ScaleVariation,
                                            out Extrusion_Error  Error)
       raises (SALOME::SALOME_Exception);
 
@@ -723,7 +735,7 @@ module SMESH
                                     in  boolean             SeparateCornersAndMedium)
       raises (SALOME::SALOME_Exception);
 
-    void FindCoincidentNodesOnPartBut (in  SMESH_IDSource      SubMeshOrGroup,
+    void FindCoincidentNodesOnPartBut (in  ListOfIDSources     SubMeshOrGroup,
                                        in  double              Tolerance,
                                        out array_of_long_array GroupsOfNodes,
                                        in  ListOfIDSources     ExceptSubMeshOrGroups,
@@ -740,7 +752,8 @@ module SMESH
      * \param MeshOrSubMeshOrGroup Mesh or SubMesh, or Group of elements for searching.
      * \return List of groups of equal elements.
      */
-    void FindEqualElements (in  SMESH_IDSource      MeshOrSubMeshOrGroup,
+    void FindEqualElements (in  ListOfIDSources     MeshOrSubMeshOrGroup,
+                            in  ListOfIDSources     ExceptSubMeshOrGroups,
                             out array_of_long_array GroupsOfElementsID) 
       raises (SALOME::SALOME_Exception);
 
@@ -748,7 +761,8 @@ module SMESH
      * \brief Merge elements in each given group.
      * \param GroupsOfElementsID Groups of elements for merging.
      */
-    void MergeElements(in array_of_long_array GroupsOfElementsID) 
+    void MergeElements(in array_of_long_array    GroupsOfElementsID,
+                       in SMESH::ListOfIDSources ElementsToKeep) 
       raises (SALOME::SALOME_Exception);
 
     /*!
@@ -1310,7 +1324,7 @@ module SMESH
 
     /*!
      * \brief Create a slot of given width around given 1D elements lying on a triangle mesh.
-     *        The slot is consrtucted by cutting faces by cylindrical surfaces made
+     *        The slot is constructed by cutting faces by cylindrical surfaces made
      *        around each segment. Segments are expected to be created by MakePolyLine().
      * \return Edges located at the slot boundary
      */