Salome HOME
Dump Puthon extension
[modules/smesh.git] / idl / SMESH_MeshEditor.idl
index 121f8a307bbcdc023e62cbd537f1a35477b35f5c..93fbb710dcc070890394d878467b4882c50a30ab 100644 (file)
 
 module SMESH
 {
-  /*!
-   * Structure used in mesh edit preview data
-   */
-  struct ElementSubType { ElementType SMDS_ElementType;
-                          boolean     isPoly;
-                          long        nbNodesInElement; };
-
-  typedef sequence<ElementSubType> types_array;
-
-  /*!
-   * Structure containing mesh edit preview data
-   */
-  struct MeshPreviewStruct { nodes_array nodesXYZ;
-                             long_array  elementConnectivities;
-                             types_array elementTypes; };
-
   /*!
    * This interface makes modifications on the Mesh - removing elements and nodes etc.
    */
@@ -297,6 +281,48 @@ module SMESH
                                                in double          AngleInRadians,
                                                in long            NbOfSteps,
                                                in double          Tolerance);
+    /*!
+     * \brief Genarate dim+1 elements by rotation of the object around axis
+     * \param theObject - object containing elements to ratate
+     * \param Axix - rotation axis
+     * \param AngleInRadians - rotation angle
+     * \param NbOfSteps - number of elements to generate from one element
+     */
+    void RotationSweepObject1D(in SMESH_IDSource  theObject,
+                              in AxisStruct      Axix,
+                              in double          AngleInRadians,
+                              in long            NbOfSteps,
+                              in double          Tolerance);
+    /*!
+     * \brief Same as previous but additionally create groups of elements
+     *  generated from elements belonging to preexisting groups
+     */
+    ListOfGroups RotationSweepObject1DMakeGroups(in SMESH_IDSource  theObject,
+                                                in AxisStruct      Axix,
+                                                in double          AngleInRadians,
+                                                in long            NbOfSteps,
+                                                in double          Tolerance);
+    /*!
+     * \brief Genarate dim+1 elements by rotation of the object around axis
+     * \param theObject - object containing elements to ratate
+     * \param Axix - rotation axis
+     * \param AngleInRadians - rotation angle
+     * \param NbOfSteps - number of elements to generate from one element
+     */
+    void RotationSweepObject2D(in SMESH_IDSource  theObject,
+                              in AxisStruct      Axix,
+                              in double          AngleInRadians,
+                              in long            NbOfSteps,
+                              in double          Tolerance);
+    /*!
+     * \brief Same as previous but additionally create groups of elements
+     *  generated from elements belonging to preexisting groups
+     */
+    ListOfGroups RotationSweepObject2DMakeGroups(in SMESH_IDSource  theObject,
+                                                in AxisStruct      Axix,
+                                                in double          AngleInRadians,
+                                                in long            NbOfSteps,
+                                                in double          Tolerance);
     /*!
      * \brief Genarate dim+1 elements by extrusion of elements along vector
      * \param IDsOfElements - elements to sweep
@@ -402,6 +428,42 @@ module SMESH
                                                     in PointStruct       RefPoint,
                                                     out Extrusion_Error  Error);
 
+    Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource    theObject,
+                                              in SMESH_Mesh        PathMesh,
+                                              in GEOM::GEOM_Object PathShape,
+                                              in long              NodeStart,
+                                              in boolean           HasAngles,
+                                              in double_array      Angles,
+                                              in boolean           HasRefPoint,
+                                              in PointStruct       RefPoint);
+    ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource    theObject,
+                                                     in SMESH_Mesh        PathMesh,
+                                                     in GEOM::GEOM_Object PathShape,
+                                                     in long              NodeStart,
+                                                     in boolean           HasAngles,
+                                                     in double_array      Angles,
+                                                     in boolean           HasRefPoint,
+                                                     in PointStruct       RefPoint,
+                                                     out Extrusion_Error  Error);
+
+    Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource    theObject,
+                                              in SMESH_Mesh        PathMesh,
+                                              in GEOM::GEOM_Object PathShape,
+                                              in long              NodeStart,
+                                              in boolean           HasAngles,
+                                              in double_array      Angles,
+                                              in boolean           HasRefPoint,
+                                              in PointStruct       RefPoint);
+    ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource    theObject,
+                                                     in SMESH_Mesh        PathMesh,
+                                                     in GEOM::GEOM_Object PathShape,
+                                                     in long              NodeStart,
+                                                     in boolean           HasAngles,
+                                                     in double_array      Angles,
+                                                     in boolean           HasRefPoint,
+                                                     in PointStruct       RefPoint,
+                                                     out Extrusion_Error  Error);
+
    /*!
     * Compute rotation angles for ExtrusionAlongPath as linear variation
     * of given angles along path steps