Salome HOME
bos #23972 [CEA 19980] sphinxcontrib_napoleon is not needed with Sphinx >= 1.3
[modules/smesh.git] / idl / SMESH_Gen.idl
index 81e4a48cc1636577b28140beb3dbf56043cabd12..a7e4c50940d535482525235f37ca4fb35c27e86c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  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
@@ -116,6 +116,15 @@ module SMESH
   };
   typedef sequence<ComputeError> compute_error_array;
 
+  /*!
+   * Way to initialize hypothesis
+   */
+  struct HypInitParams
+  {
+    short   way; // 0 - by mesh, 1 - by geometry size + preferred parameters, 2 - by averageLength
+    double  averageLength;
+    boolean quadDominated;
+  };
 
   interface SMESH_Gen : Engines::EngineComponent, SALOMEDS::Driver
   {
@@ -164,6 +173,15 @@ module SMESH
                                        in string theLibName )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Create a hypothesis and initialize it by average length
+     */
+    SMESH_Hypothesis CreateHypothesisByAverageLength( in string  theHypName,
+                                                      in string  theLibName,
+                                                      in double  theAverageLength,
+                                                      in boolean theQuadDominated)
+      raises ( SALOME::SALOME_Exception );
+
     /*!
      * Return a hypothesis holding parameter values corresponding either to the mesh
      * existing on the given geometry or to size of the geometry.
@@ -175,7 +193,7 @@ module SMESH
                                                    in string            theLibName,
                                                    in SMESH_Mesh        theMesh,
                                                    in GEOM::GEOM_Object theGeom,
-                                                   in boolean           byMesh)
+                                                   in HypInitParams     theWay)
       raises ( SALOME::SALOME_Exception );
 
     /*!
@@ -281,7 +299,39 @@ module SMESH
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * Concatenate the given meshes or groups into one mesh.
+     * Create a mesh by copying definitions of another mesh to a given geometry
+     *  \param sourceMesh - a mesh to copy
+     *  \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, 
+     *         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
+     *  \param newGroups - return new groups
+     *  \param newSubmeshes - return new sub-meshes
+     *  \param newHypotheses - return new algorithms and hypotheses
+     *  \param invalidEntries - return study entries of objects whose
+     *         counterparts are not found in the newGeometry, followed by entries
+     *         of mesh sub-objects that are invalid because they depend on a not found
+     *         preceding sub-shape
+     */
+    boolean CopyMeshWithGeom( in SMESH_Mesh        sourceMesh,
+                              in GEOM::GEOM_Object newGeometry,
+                              in string            meshName,
+                              in boolean           toCopyGroups,
+                              in boolean           toReuseHypotheses,
+                              in boolean           toCopyElements,
+                              out SMESH_Mesh       newMesh,
+                              out ListOfGroups     newGroups,
+                              out submesh_array    newSubmeshes,
+                              out ListOfHypothesis newHypotheses,
+                              out string_array     invalidEntries)
+      raises ( SALOME::SALOME_Exception );
+
+    /*!
+     * Concatenate the given meshes or groups into one mesh,
+     * optionally to theMeshToAppendTo.
      * Union groups with the same name and type if
      * theUniteIdenticalGroups flag is true.
      * Merge coincident nodes and elements if
@@ -290,11 +340,13 @@ module SMESH
     SMESH_Mesh Concatenate(in ListOfIDSources theMeshesArray,
                            in boolean         theUniteIdenticalGroups,
                            in boolean         theMergeNodesAndElements,
-                           in double          theMergeTolerance)
+                           in double          theMergeTolerance,
+                           in SMESH_Mesh      theMeshToAppendTo)
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * Concatenate the given meshes into one mesh.
+     * Concatenate the given meshes into one mesh,
+     * optionally to theMeshToAppendTo.
      * Union groups with the same name and type if
      * theUniteIdenticalGroups flag is true.
      * Merge coincident nodes and elements if
@@ -304,7 +356,8 @@ module SMESH
     SMESH_Mesh ConcatenateWithGroups(in ListOfIDSources theMeshesArray,
                                      in boolean         theUniteIdenticalGroups,
                                      in boolean         theMergeNodesAndElements,
-                                     in double          theMergeTolerance)
+                                     in double          theMergeTolerance,
+                                     in SMESH_Mesh      theMeshToAppendTo)
       raises ( SALOME::SALOME_Exception );
 
     /*!
@@ -465,9 +518,9 @@ module SMESH
      * Return indices of elements, which are located inside the sphere
      *  \param theSource - mesh, sub-mesh or group
      *  \param theElemType - mesh element type
-     *  \param theX - x cooridate of the center of the sphere
-     *  \param theY - y cooridate of the center of the sphere
-     *  \param theZ - y cooridate of the center of the sphere
+     *  \param theX - x coordinate of the center of the sphere
+     *  \param theY - y coordinate of the center of the sphere
+     *  \param theZ - y coordinate of the center of the sphere
      *  \param theR - radius of the sphere
      */
     long_array GetInsideSphere( in SMESH_IDSource theSource,
@@ -481,12 +534,12 @@ module SMESH
      * Return indices of elements, which are located inside the box
      *  \param theSource - mesh, sub-mesh or group
      *  \param theElemType - mesh element type
-     *  \param theX1 - x cooridate of the first opposite point
-     *  \param theY1 - y cooridate of the first opposite point
-     *  \param theZ1 - y cooridate of the first opposite point
-     *  \param theX2 - x cooridate of the second opposite point
-     *  \param theY2 - y cooridate of the second opposite point
-     *  \param theZ2 - y cooridate of the second opposite point
+     *  \param theX1 - x coordinate of the first opposite point
+     *  \param theY1 - y coordinate of the first opposite point
+     *  \param theZ1 - y coordinate of the first opposite point
+     *  \param theX2 - x coordinate of the second opposite point
+     *  \param theY2 - y coordinate of the second opposite point
+     *  \param theZ2 - y coordinate of the second opposite point
      */
     long_array GetInsideBox( in SMESH_IDSource theSource,
                             in ElementType    theElemType,
@@ -500,12 +553,12 @@ module SMESH
      * Return indices of elements, which are located inside the box
      *  \param theSource - mesh, sub-mesh or group
      *  \param theElemType - mesh element type
-     *  \param theX - x cooridate of the cented of the bottom face
-     *  \param theY - y cooridate of the cented of the bottom face
-     *  \param theZ - y cooridate of the cented of the bottom face
-     *  \param theDX - x cooridate of the cented of the base vector
-     *  \param theDY - y cooridate of the cented of the base vector
-     *  \param theDZ - z cooridate of the cented of the base vector
+     *  \param theX - x coordinate of the cented of the bottom face
+     *  \param theY - y coordinate of the cented of the bottom face
+     *  \param theZ - y coordinate of the cented of the bottom face
+     *  \param theDX - x coordinate of the cented of the base vector
+     *  \param theDY - y coordinate of the cented of the base vector
+     *  \param theDZ - z coordinate of the cented of the base vector
      *  \param theH - height of the cylinder
      *  \param theR - radius of the cylinder
      */