Salome HOME
Update user documentation
[modules/smesh.git] / idl / SMESH_MeshEditor.idl
index e461074de21d6535f2edd31e76999ba2f5b47942..cd4453d2cb9314a8df3a802d9c400473c5b21ddb 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
@@ -388,6 +388,15 @@ module SMESH
     void ExtrusionSweep(in long_array      IDsOfElements,
                         in DirStruct       StepVector,
                         in long            NbOfSteps);
+    /*!
+     * \brief Genarate dim+1 elements by extrusion of elements along vector
+     * \param IDsOfElements - elements to sweep
+     * \param StepVector - vector giving direction and distance of an extrusion step
+     * \param NbOfSteps - number of elements to generate from one element
+     */
+    void ExtrusionSweep0D(in long_array    IDsOfElements,
+                        in DirStruct       StepVector,
+                        in long            NbOfSteps);
     /*!
      * \brief Same as previous but additionally create groups of elements
      *  generated from elements belonging to preexisting groups
@@ -395,6 +404,12 @@ module SMESH
     ListOfGroups ExtrusionSweepMakeGroups(in long_array      IDsOfElements,
                                           in DirStruct       StepVector,
                                           in long            NbOfSteps);
+   /*!
+     * \brief Same as previous but elements are nodes
+     */
+    ListOfGroups ExtrusionSweepMakeGroups0D(in long_array      IDsOfElements,
+                                          in DirStruct       StepVector,
+                                          in long            NbOfSteps);
    /*!
     * Generate new elements by extrusion of theElements
     * by StepVector by NbOfSteps
@@ -424,6 +439,13 @@ module SMESH
                                                 in DirStruct       StepVector,
                                                 in long            NbOfSteps);
 
+    void ExtrusionSweepObject0D(in SMESH_IDSource theObject,
+                                in DirStruct      StepVector,
+                                in long           NbOfSteps);
+    ListOfGroups ExtrusionSweepObject0DMakeGroups(in SMESH_IDSource theObject,
+                                                  in DirStruct      StepVector,
+                                                  in long           NbOfSteps);
+
     void ExtrusionSweepObject1D(in SMESH_IDSource theObject,
                                 in DirStruct      StepVector,
                                 in long           NbOfSteps);
@@ -812,7 +834,6 @@ module SMESH
      */
     boolean DoubleNodeGroup( in SMESH_GroupBase theNodes,
                              in SMESH_GroupBase theModifiedElems );
-
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
      * Works as DoubleNodeGroup() described above, but returns a new group with
@@ -835,7 +856,6 @@ module SMESH
      */
     boolean DoubleNodeGroups( in ListOfGroups theNodes,
                               in ListOfGroups theModifiedElems );
-
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
      * Works as DoubleNodeGroups() described above, but returns a new group with
@@ -890,7 +910,6 @@ module SMESH
     boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems,
                                  in SMESH_GroupBase theNodesNot,
                                  in SMESH_GroupBase theAffectedElems );
-
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
      * Works as DoubleNodeElemGroup() described above, but returns a new group with
@@ -905,6 +924,24 @@ module SMESH
     SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems,
                                         in SMESH_GroupBase theNodesNot,
                                         in SMESH_GroupBase theAffectedElems );
+    /*!
+     * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
+     * Works as DoubleNodeElemGroup() described above, but returns two new groups:
+     * a group of newly created elements and a group of newly created nodes
+     * \param theElems - group of of elements (edges or faces) to be replicated
+     * \param theNodesNot - group of nodes not to replicated
+     * \param theAffectedElems - group of elements to which the replicated nodes
+     *        should be associated to.
+     * \param theElemGroupNeeded - to create group of new elements or not
+     * \param theNodeGroupNeeded - to create group of new nodes or not
+     * \return two new groups of newly created elements (1st) and nodes (2nd)
+     * \sa DoubleNodeElemGroup()
+     */
+    ListOfGroups DoubleNodeElemGroup2New( in SMESH_GroupBase theElems,
+                                          in SMESH_GroupBase theNodesNot,
+                                          in SMESH_GroupBase theAffectedElems,
+                                          in boolean         theElemGroupNeeded,
+                                          in boolean         theNodeGroupNeeded);
 
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@@ -918,8 +955,8 @@ module SMESH
      * \sa DoubleNodesInRegion(), DoubleNodeGroupsInRegion()
      */
     boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems,
-                                     in SMESH_GroupBase theNodesNot,
-                                     in GEOM::GEOM_Object theShape );
+                                         in SMESH_GroupBase theNodesNot,
+                                         in GEOM::GEOM_Object theShape );
 
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@@ -934,7 +971,6 @@ module SMESH
     boolean DoubleNodeElemGroups( in ListOfGroups theElems,
                                   in ListOfGroups theNodesNot,
                                   in ListOfGroups theAffectedElems );
-
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
      * Works as DoubleNodeElemGroups() described above, but returns a new group with
@@ -949,6 +985,24 @@ module SMESH
     SMESH_Group DoubleNodeElemGroupsNew( in ListOfGroups theElems,
                                          in ListOfGroups theNodesNot,
                                          in ListOfGroups theAffectedElems );
+    /*!
+     * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
+     * Works as DoubleNodeElemGroups() described above, but returns two new groups:
+     * a group of newly created elements and a group of newly created nodes.
+     * \param theElems - list of groups of elements (edges or faces) to be replicated
+     * \param theNodesNot - list of groups of nodes not to replicated
+     * \param theAffectedElems - group of elements to which the replicated nodes
+     *        should be associated to.
+     * \param theElemGroupNeeded - to create group of new elements or not
+     * \param theNodeGroupNeeded - to create group of new nodes or not
+     * \return two new groups of newly created elements (1st) and nodes (2nd)
+     * \sa DoubleNodeElemGroups()
+     */
+    ListOfGroups DoubleNodeElemGroups2New( in ListOfGroups theElems,
+                                           in ListOfGroups theNodesNot,
+                                           in ListOfGroups theAffectedElems,
+                                           in boolean         theElemGroupNeeded,
+                                           in boolean         theNodeGroupNeeded );
 
     /*!
      * \brief Creates a hole in a mesh by doubling the nodes of some particular elements