Salome HOME
Merge branch 'OCCT780'
[modules/smesh.git] / idl / SMESH_Gen.idl
index 52295a43b239f0c8046f541d732361fd3625fd08..f3bf7f4542c6fe5304318c34c150ebda0ceeef22 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 
 #include "SMESH_Mesh.idl"
 #include "SMESH_Hypothesis.idl"
 
 #include "SMESH_Mesh.idl"
 #include "SMESH_Hypothesis.idl"
+#include "SMESH_smIdType.idl"
+
+module SMESHHOMARD
+{
+  interface HOMARD_Gen;
+};
 
 module SMESH
 {
 
 module SMESH
 {
@@ -113,7 +119,7 @@ module SMESH
     short   code;       // ComputeErrorName or, if negative, algo specific code
     string  comment;    // textual problem description
     string  algoName;
     short   code;       // ComputeErrorName or, if negative, algo specific code
     string  comment;    // textual problem description
     string  algoName;
-    short   subShapeID; // id of sub-shape of a shape to mesh
+    long    subShapeID; // id of sub-shape of a shape to mesh
     boolean hasBadMesh; // there are elements preventing computation available for visualization
   };
   typedef sequence<ComputeError> compute_error_array;
     boolean hasBadMesh; // there are elements preventing computation available for visualization
   };
   typedef sequence<ComputeError> compute_error_array;
@@ -138,6 +144,7 @@ module SMESH
     SMESH_Pattern GetPattern();
 
     Measurements  CreateMeasurements();
     SMESH_Pattern GetPattern();
 
     Measurements  CreateMeasurements();
+
     /*!
       Set the current mode
      */
     /*!
       Set the current mode
      */
@@ -152,12 +159,12 @@ module SMESH
       Update the study
      */
     void UpdateStudy();
       Update the study
      */
     void UpdateStudy();
-    
+
     /*!
       Set enable publishing in the study
      */
     void SetEnablePublish( in boolean theIsEnablePublish );
     /*!
       Set enable publishing in the study
      */
     void SetEnablePublish( in boolean theIsEnablePublish );
-    
+
     /*!
       Get enable publishing in the study
      */
     /*!
       Get enable publishing in the study
      */
@@ -235,6 +242,16 @@ module SMESH
     SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
       raises ( SALOME::SALOME_Exception );
 
     SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Create a Mesh object, given a geometry shape.
+     * Mesh is created empty (no points, no elements).
+     * Shape is explored via GEOM_Client to create local copies.
+     * of TopoDS_Shapes and bind CORBA references of shape & subshapes
+     * with TopoDS_Shapes
+     * The mesh is a parallel one
+     */
+    SMESH_ParallelMesh CreateParallelMesh( in GEOM::GEOM_Object theObject )
+      raises ( SALOME::SALOME_Exception );
     /*!
      * Create an empty mesh object
      */
     /*!
      * Create an empty mesh object
      */
@@ -251,16 +268,9 @@ module SMESH
     /*!
      * Create Mesh object(s) importing data from given MED file
      */
     /*!
      * Create Mesh object(s) importing data from given MED file
      */
-     mesh_array CreateMeshesFromMED( in string theFileName,
-                                     out SMESH::DriverMED_ReadStatus theStatus )
-       raises ( SALOME::SALOME_Exception );
-
-    /*!
-     * Create Mesh object(s) importing data from given MED file
-     */
-     mesh_array CreateMeshesFromSAUV( in string theFileName,
-                                     out SMESH::DriverMED_ReadStatus theStatus )
-       raises ( SALOME::SALOME_Exception );
+    mesh_array CreateMeshesFromMED( in string theFileName,
+                                    out SMESH::DriverMED_ReadStatus theStatus )
+      raises ( SALOME::SALOME_Exception );
 
     /*!
      * Create Mesh object importing data from given STL file
 
     /*!
      * Create Mesh object importing data from given STL file
@@ -285,6 +295,24 @@ module SMESH
                                     out SMESH::ComputeError theError)
       raises ( SALOME::SALOME_Exception );
 
                                     out SMESH::ComputeError theError)
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Create a mesh and import data from any file supported by meshio library
+     */
+    mesh_array CreateMeshesFromMESHIO(in string theFileName,
+                                      out SMESH::DriverMED_ReadStatus theStatus)
+      raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Create a dual mesh of a Tetrahedron mesh
+     *  \param mesh - TetraHedron mesh to create dual from
+     *  \param meshName - a name of the new mesh
+     *  \param adaptToShape - if True project boundary point on shape
+     */
+    SMESH_Mesh CreateDualMesh(in SMESH_IDSource mesh,
+                              in string         meshName,
+                              in boolean        adaptToShape)
+      raises ( SALOME::SALOME_Exception );
+
     /*!
      * Create a mesh by copying a part of another mesh
      *  \param meshPart - a part of mesh to copy
     /*!
      * Create a mesh by copying a part of another mesh
      *  \param meshPart - a part of mesh to copy
@@ -305,7 +333,7 @@ module SMESH
      *  \param newGeometry - a new geometry
      *  \param meshName - a name of the new mesh
      *  \param toCopyGroups - to create groups in the new mesh
      *  \param newGeometry - a new geometry
      *  \param meshName - a name of the new mesh
      *  \param toCopyGroups - to create groups in the new mesh
-     *  \param toReuseHypotheses - if True, existing hypothesis will be used by the new mesh, 
+     *  \param toReuseHypotheses - if True, existing hypothesis will be used by the new mesh,
      *         otherwise new hypotheses with the same parameters will be created for the new mesh.
      *  \param toCopyElements - to copy mesh elements of same sub-shapes of the two geometries
      *  \param newMesh - return a new mesh
      *         otherwise new hypotheses with the same parameters will be created for the new mesh.
      *  \param toCopyElements - to copy mesh elements of same sub-shapes of the two geometries
      *  \param newMesh - return a new mesh
@@ -386,8 +414,8 @@ module SMESH
     /*!
      * Evaluates size of prospective mesh on a shape
      */
     /*!
      * Evaluates size of prospective mesh on a shape
      */
-    long_array  Evaluate(in SMESH_Mesh        theMesh,
-                         in GEOM::GEOM_Object theSubObject)
+    smIdType_array  Evaluate(in SMESH_Mesh        theMesh,
+                             in GEOM::GEOM_Object theSubObject)
       raises ( SALOME::SALOME_Exception );
 
     /*!
       raises ( SALOME::SALOME_Exception );
 
     /*!
@@ -445,17 +473,17 @@ module SMESH
      * The returned geometrical object, if not nil, is either found in the
      * study or is published by this method with the given name
      */
      * The returned geometrical object, if not nil, is either found in the
      * study or is published by this method with the given name
      */
-    GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh  theMesh,
-                                                in long        theElementID,
-                                                in string      theGeomName)
+    GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh,
+                                                in smIdType   theElementID,
+                                                in string     theGeomName)
       raises ( SALOME::SALOME_Exception );
 
     /*!
      * Return geometrical object the given element is built on.
      * The returned geometrical object not published in study by this method.
      */
       raises ( SALOME::SALOME_Exception );
 
     /*!
      * Return geometrical object the given element is built on.
      * The returned geometrical object not published in study by this method.
      */
-    GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh  theMesh,
-                                                 in long        theElementID)
+    GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh theMesh,
+                                                 in smIdType   theElementID)
       raises ( SALOME::SALOME_Exception );
 
     /*!
       raises ( SALOME::SALOME_Exception );
 
     /*!
@@ -526,10 +554,10 @@ module SMESH
      */
     long_array GetInsideSphere( in SMESH_IDSource theSource,
                                in ElementType    theElemType,
      */
     long_array GetInsideSphere( in SMESH_IDSource theSource,
                                in ElementType    theElemType,
-                               in double theX, 
-                               in double theY, 
+                               in double theX,
+                               in double theY,
                                in double theZ,
                                in double theZ,
-                               in double theR );    
+                               in double theR );
 
     /*!
      * Return indices of elements, which are located inside the box
 
     /*!
      * Return indices of elements, which are located inside the box
@@ -544,12 +572,12 @@ module SMESH
      */
     long_array GetInsideBox( in SMESH_IDSource theSource,
                             in ElementType    theElemType,
      */
     long_array GetInsideBox( in SMESH_IDSource theSource,
                             in ElementType    theElemType,
-                            in double theX1, 
-                            in double theY1, 
+                            in double theX1,
+                            in double theY1,
                             in double theZ1,
                             in double theX2,
                             in double theY2,
                             in double theZ1,
                             in double theX2,
                             in double theY2,
-                            in double theZ2);    
+                            in double theZ2);
     /*!
      * Return indices of elements, which are located inside the box
      *  \param theSource - mesh, sub-mesh or group
     /*!
      * Return indices of elements, which are located inside the box
      *  \param theSource - mesh, sub-mesh or group
@@ -565,14 +593,14 @@ module SMESH
      */
     long_array GetInsideCylinder( in SMESH_IDSource theSource,
                                  in ElementType    theElemType,
      */
     long_array GetInsideCylinder( in SMESH_IDSource theSource,
                                  in ElementType    theElemType,
-                                 in double theX, 
-                                 in double theY, 
+                                 in double theX,
+                                 in double theY,
                                  in double theZ,
                                  in double theDX,
                                  in double theDY,
                                  in double theDZ,
                                  in double theH,
                                  in double theZ,
                                  in double theDX,
                                  in double theDY,
                                  in double theDZ,
                                  in double theH,
-                                 in double theR );    
+                                 in double theR );
     /*!
      * Return indices of elements, which are located inside the geometry
      *  \param theSource - mesh, sub-mesh or group
     /*!
      * Return indices of elements, which are located inside the geometry
      *  \param theSource - mesh, sub-mesh or group
@@ -583,12 +611,13 @@ module SMESH
     long_array GetInside( in SMESH_IDSource theSource,
                          in ElementType    theElemType,
                          in GEOM::GEOM_Object theGeom,
     long_array GetInside( in SMESH_IDSource theSource,
                          in ElementType    theElemType,
                          in GEOM::GEOM_Object theGeom,
-                         in double theTolerance );    
+                         in double theTolerance );
 
 
-   
-       MG_ADAPT CreateMG_ADAPT();
-       MG_ADAPT_OBJECT Adaptation(in string adaptType);
-       MG_ADAPT CreateAdaptationHypothesis();
+    MG_ADAPT CreateMG_ADAPT();
+    SMESHHOMARD::HOMARD_Gen CreateHOMARD_ADAPT() raises ( SALOME::SALOME_Exception );
+    //MG_ADAPT_OBJECT Adaptation(in string adaptType);
+    SALOME::GenericObj Adaptation(in string adaptType) raises ( SALOME::SALOME_Exception );
+    MG_ADAPT CreateAdaptationHypothesis();
   };
 
 };
   };
 
 };