Salome HOME
PAL0023627: [IMACS] ASERIS: project point to the mesh
[modules/smesh.git] / src / SMESH_I / SMESH_MeshEditor_i.hxx
index 72a5c31c24420448868d0fa324545933fa43cc77..28d5e730737ebab69b01d20af413c25b1e6d9e68 100644 (file)
@@ -20,7 +20,7 @@
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
-//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes
 //  File   : SMESH_MeshEditor_i.hxx
 //  Author : Nicolas REJNERI
 //  Module : SMESH
@@ -482,6 +482,7 @@ public:
   SMESH::SMESH_Mesh_ptr Offset( SMESH::SMESH_IDSource_ptr theObject,
                                 CORBA::Double             Value,
                                 CORBA::Boolean            CopyGroups,
+                                CORBA::Boolean            CopyElements,
                                 const char*               MeshName,
                                 SMESH::ListOfGroups_out   Groups)
     throw (SALOME::SALOME_Exception);
@@ -545,6 +546,20 @@ public:
                                               SMESH::ElementType        type)
     throw (SALOME::SALOME_Exception);
 
+  /*!
+   * Project a point to a mesh object.
+   * Return ID of an element of given type where the given point is projected
+   * and coordinates of the projection point.
+   * In the case if nothing found, return -1 and []
+   */
+  CORBA::Long ProjectPoint(CORBA::Double             x,
+                           CORBA::Double             y,
+                           CORBA::Double             z,
+                           SMESH::SMESH_IDSource_ptr meshObject,
+                           SMESH::ElementType        type,
+                           SMESH::double_array_out   projecton)
+    throw (SALOME::SALOME_Exception);
+
   /*!
    * 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.
@@ -572,8 +587,10 @@ public:
 
   /*!
    * Fill with 2D elements a hole defined by a FreeBorder.
+   * Optionally add new faces to a given group, which is returned
    */
-  void FillHole(const SMESH::FreeBorder& hole)
+  SMESH::SMESH_Group_ptr FillHole(const SMESH::FreeBorder& hole,
+                                  const char*              groupName)
     throw (SALOME::SALOME_Exception);
 
   SMESH::CoincidentFreeBorders* FindCoincidentFreeBorders(CORBA::Double tolerance);