Salome HOME
0020714: EDF GHS3DPLUGIN: shapeToMesh when creating 3D mesh from 2D mesh
[modules/smesh.git] / idl / SMESH_MeshEditor.idl
index 62623567a5dbede64566b3cb6e3c47ba47870377..564a04acfd40aa237a9f2ecbf93c236302ccbfdf 100644 (file)
@@ -35,6 +35,11 @@ module SMESH
   interface NumericalFunctor;
   interface SMESH_MeshEditor
   {
+    /*!
+     * \brief Wrap a sequence of ids in a SMESH_IDSource
+     */
+    SMESH_IDSource MakeIDSource(in long_array IDsOfElements);
+
     boolean RemoveElements(in long_array IDsOfElements);
 
     boolean RemoveNodes(in long_array IDsOfNodes);
@@ -211,6 +216,17 @@ module SMESH
     long BestSplit (in long             IDOfQuad,
                    in NumericalFunctor Criterion);
 
+    /*!
+     * \brief Split volumic elements into tetrahedrons
+     *  \param elems - elements to split
+     *  \param methodFlags - flags passing splitting method:
+     *         1 - split the hexahedron into 5 tetrahedrons
+     *         2 - split the hexahedron into 6 tetrahedrons
+     */
+    //void SplitVolumesIntoTetra(in SMESH_IDSource elems, in short methodFlags)
+    //raises (SALOME::SALOME_Exception);
+
+
     enum Smooth_Method { LAPLACIAN_SMOOTH, CENTROIDAL_SMOOTH };
 
     boolean Smooth(in long_array    IDsOfElements,
@@ -554,6 +570,19 @@ module SMESH
                                         in boolean        CopyGroups,
                                         in string         MeshName);
 
+    void Scale (in SMESH_IDSource theObject,
+                in PointStruct    thePoint,
+                in double_array   theScaleFact,
+                in boolean        Copy);
+    ListOfGroups ScaleMakeGroups (in SMESH_IDSource theObject,
+                                  in PointStruct    thePoint,
+                                  in double_array   theScaleFact);
+    SMESH_Mesh ScaleMakeMesh (in SMESH_IDSource theObject,
+                              in PointStruct    thePoint,
+                              in double_array   theScaleFact,
+                              in boolean        CopyGroups,
+                              in string         MeshName);
+
     void Rotate (in long_array IDsOfElements,
                  in AxisStruct Axis,
                  in double     AngleInRadians,
@@ -626,6 +655,12 @@ module SMESH
      */
     long_array FindElementsByPoint(in double x, in double y, in double z, in ElementType type);
 
+    /*!
+     * Return point state in a closed 2D mesh in terms of TopAbs_State enumeration.
+     * TopAbs_UNKNOWN state means that either mesh is wrong or the analysis fails.
+     */
+    short GetPointState(in double x, in double y, in double z);
+
     enum Sew_Error {
       SEW_OK,
       SEW_BORDER1_NOT_FOUND,