Salome HOME
#19765 EDF 21730 - long time to load med file file with huge amount of groups
[modules/smesh.git] / src / SMESH_I / SMESH_MeshEditor_i.hxx
index 462d42db21222d4b8766bf48c7cc0d76409f7973..f14c06b5fc1ee2c3d810d54fe5469afef07fdc9d 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
@@ -322,25 +322,27 @@ public:
   void RenumberNodes() throw (SALOME::SALOME_Exception);
   void RenumberElements() throw (SALOME::SALOME_Exception);
 
-  SMESH::ListOfGroups* RotationSweepObjects(const SMESH::ListOfIDSources & nodes,
-                                            const SMESH::ListOfIDSources & edges,
-                                            const SMESH::ListOfIDSources & faces,
+  SMESH::ListOfGroups* RotationSweepObjects(const SMESH::ListOfIDSources & Nodes,
+                                            const SMESH::ListOfIDSources & Edges,
+                                            const SMESH::ListOfIDSources & Faces,
                                             const SMESH::AxisStruct &      Axis,
                                             CORBA::Double                  AngleInRadians,
                                             CORBA::Long                    NbOfSteps,
                                             CORBA::Double                  Tolerance,
-                                            CORBA::Boolean                 toMakeGroups)
+                                            CORBA::Boolean                 ToMakeGroups)
     throw (SALOME::SALOME_Exception);
 
-  SMESH::ListOfGroups* ExtrusionSweepObjects(const SMESH::ListOfIDSources & nodes,
-                                             const SMESH::ListOfIDSources & edges,
-                                             const SMESH::ListOfIDSources & faces,
-                                             const SMESH::DirStruct &       stepVector,
-                                             CORBA::Long                    nbOfSteps,
-                                             const SMESH::double_array &    theScaleFactors,
-                                             CORBA::Boolean                 theLinearVariation,
-                                             const SMESH::double_array &    theBasePoint,
-                                             CORBA::Boolean                 toMakeGroups)
+  SMESH::ListOfGroups* ExtrusionSweepObjects(const SMESH::ListOfIDSources & Nodes,
+                                             const SMESH::ListOfIDSources & Edges,
+                                             const SMESH::ListOfIDSources & Faces,
+                                             const SMESH::DirStruct &       StepVector,
+                                             CORBA::Long                    NbOfSteps,
+                                             CORBA::Boolean                 ToMakeGroups,
+                                             const SMESH::double_array &    ScaleFactors,
+                                             CORBA::Boolean                 ScalesVariation,
+                                             const SMESH::double_array &    BasePoint,
+                                             const SMESH::double_array &    Angles,
+                                             CORBA::Boolean                 AnglesVariation)
     throw (SALOME::SALOME_Exception);
 
   SMESH::ListOfGroups* ExtrusionByNormal(const SMESH::ListOfIDSources& objects,
@@ -360,18 +362,20 @@ public:
     throw (SALOME::SALOME_Exception);
 
   SMESH::ListOfGroups*
-    ExtrusionAlongPathObjects(const SMESH::ListOfIDSources & nodes,
-                              const SMESH::ListOfIDSources & edges,
-                              const SMESH::ListOfIDSources & faces,
+    ExtrusionAlongPathObjects(const SMESH::ListOfIDSources & Nodes,
+                              const SMESH::ListOfIDSources & Edges,
+                              const SMESH::ListOfIDSources & Faces,
                               SMESH::SMESH_IDSource_ptr      PathMesh,
                               GEOM::GEOM_Object_ptr          PathShape,
                               CORBA::Long                    NodeStart,
                               CORBA::Boolean                 HasAngles,
                               const SMESH::double_array &    Angles,
-                              CORBA::Boolean                 LinearVariation,
+                              CORBA::Boolean                 AnglesVariation,
                               CORBA::Boolean                 HasRefPoint,
                               const SMESH::PointStruct &     RefPoint,
                               bool                           MakeGroups,
+                              const SMESH::double_array &    ScaleFactors,
+                              CORBA::Boolean                 ScalesVariation,
                               SMESH::SMESH_MeshEditor::Extrusion_Error& Error)
     throw (SALOME::SALOME_Exception);
 
@@ -501,7 +505,7 @@ public:
                                  SMESH::array_of_long_array_out GroupsOfNodes,
                                  CORBA::Boolean                 SeparateCornersAndMedium)
     throw (SALOME::SALOME_Exception);
-  void FindCoincidentNodesOnPartBut(SMESH::SMESH_IDSource_ptr      Object,
+  void FindCoincidentNodesOnPartBut(const SMESH::ListOfIDSources&  Objects,
                                     CORBA::Double                  Tolerance,
                                     SMESH::array_of_long_array_out GroupsOfNodes,
                                     const SMESH::ListOfIDSources&  ExceptSubMeshOrGroups,
@@ -511,10 +515,12 @@ public:
                    const SMESH::ListOfIDSources&     NodesToKeep,
                    CORBA::Boolean                    AvoidMakingHoles )
     throw (SALOME::SALOME_Exception);
-  void FindEqualElements(SMESH::SMESH_IDSource_ptr      Object,
+  void FindEqualElements(const SMESH::ListOfIDSources&  Objects,
+                         const SMESH::ListOfIDSources&  ExceptSubMeshOrGroups,
                          SMESH::array_of_long_array_out GroupsOfElementsID)
     throw (SALOME::SALOME_Exception);
-  void MergeElements(const SMESH::array_of_long_array& GroupsOfElementsID)
+  void MergeElements(const SMESH::array_of_long_array& GroupsOfElementsID,
+                     const SMESH::ListOfIDSources&     ElementsToKeep)
     throw (SALOME::SALOME_Exception);
   void MergeEqualElements()
     throw (SALOME::SALOME_Exception);
@@ -937,7 +943,7 @@ public:
 
   /*!
    * \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
    */