Salome HOME
Merge from V6_main 12/11/2012
[modules/smesh.git] / idl / SMESH_Gen.idl
index eec7b76237109c0cfe0f12dbe0583ed316943480..b8d3176f2c7d32e12eb66350aff58329f8d552ae 100644 (file)
@@ -1,23 +1,23 @@
-//  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //  File   : SMESH_Gen.idl
 //  Author : Paul RASCLE, EDF
@@ -70,7 +70,9 @@ module SMESH
   const long Tag_EdgeGroups             = 12;
   const long Tag_FaceGroups             = 13;
   const long Tag_VolumeGroups           = 14;
-  const long Tag_LastGroup              = 14;
+  const long Tag_0DElementsGroups       = 15;
+  const long Tag_BallElementsGroups     = 16;
+  const long Tag_LastGroup              = 16;
 
   /*!
    * Hypothesis definintion error
@@ -97,14 +99,17 @@ module SMESH
     COMPERR_EXCEPTION     ,  // other exception raised
     COMPERR_MEMORY_PB     ,  // memory allocation problem
     COMPERR_ALGO_FAILED   ,  // computation failed
-    COMPERR_BAD_SHAPE        // bad geometry
+    COMPERR_BAD_SHAPE     ,  // bad geometry
+    COMPERR_WARNING       ,  // algo reports error but sub-mesh is computed anyway
+    COMPERR_CANCELED      ,  // compute canceled
+    COMPERR_NO_MESH_ON_SHAPE // no mesh elements assigned to sub-mesh
   };
   struct ComputeError
   {
     short   code;       // ComputeErrorName or, if negative, algo specific code
     string  comment;    // textual problem description
     string  algoName;
-    short   subShapeID; // id of subshape of a shape to mesh
+    short   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;
@@ -213,12 +218,33 @@ module SMESH
                                      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 );
+
     /*!
      * Create Mesh object importing data from given STL file
      */
     SMESH_Mesh CreateMeshesFromSTL( in string theFileName )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Create Mesh object(s) importing data from given CGNS file
+     */
+    mesh_array CreateMeshesFromCGNS( in string theFileName,
+                                     out SMESH::DriverMED_ReadStatus theStatus )
+      raises ( SALOME::SALOME_Exception );
+
+    /*!
+     * Create Mesh object importing data from given GMF file
+     */
+    SMESH_Mesh CreateMeshesFromGMF( in string               theFileName,
+                                    out SMESH::ComputeError theError)
+      raises ( SALOME::SALOME_Exception );
+
     /*!
      * Create a mesh by copying a part of another mesh
      *  \param meshPart - a part of mesh to copy
@@ -262,13 +288,19 @@ module SMESH
 
     /*!
      * Mesh a subShape.
-     * First, verify list of hypothesis associated with the subShape,
+     * First, verify list of hypothesis associated with the Sub-shape,
      * return NOK if hypothesis are not sufficient
      */
     boolean Compute( in SMESH_Mesh        theMesh,
                      in GEOM::GEOM_Object theSubObject )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Cancel a computation.
+     */
+    void CancelCompute( in SMESH_Mesh        theMesh,
+                       in GEOM::GEOM_Object theSubObject );
+
     /*!
      * Return true if hypotheses are defined well
      */
@@ -285,7 +317,7 @@ module SMESH
 
     /*!
      * Calculate Mesh as preview till indicated dimension
-     * First, verify list of hypothesis associated with the subShape.
+     * First, verify list of hypothesis associated with the Sub-shape.
      * Return mesh preview structure
      */
     MeshPreviewStruct Precompute( in SMESH_Mesh        theMesh,
@@ -311,14 +343,14 @@ module SMESH
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * Return mesh elements preventing computation of a subshape
+     * Return mesh elements preventing computation of a sub-shape
      */
     MeshPreviewStruct GetBadInputElements( in SMESH_Mesh theMesh,
                                            in short      theSubShapeID )
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * Return indeces of faces, edges and vertices of given subshapes
+     * Return indeces of faces, edges and vertices of given sub-shapes
      * within theMainObject
      */
     long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,