Salome HOME
Merge changes from 'master' branch.
[modules/smesh.git] / idl / SMESH_Mesh.idl
index bb193bcc15e2a26f3eea69c7811851f8417953e3..69c41d4d64a49f314ea73ef9f558ab4ef02afbb1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -66,6 +66,7 @@ module SMESH
       ADD_QUADEDGE,
       ADD_QUADTRIANGLE,
       ADD_QUADQUADRANGLE,
+      ADD_QUADPOLYGON,
       ADD_QUADTETRAHEDRON,
       ADD_QUADPYRAMID,
       ADD_QUADPENTAHEDRON,
@@ -89,18 +90,18 @@ module SMESH
 
   struct PointStruct { double x;
                        double y;
-                       double z; } ;
+                       double z; };
 
   typedef sequence<PointStruct> nodes_array;
 
-  struct DirStruct   { PointStruct PS ; } ;          // analog to OCCT gp_Vec
+  struct DirStruct   { PointStruct PS; };          // analog to OCCT gp_Vec
 
   struct AxisStruct  { double x;
                        double y;
                        double z;
                        double vx;
                        double vy;
-                       double vz; } ;
+                       double vz; };
   /*!
    * Node location on a shape
    */
@@ -132,7 +133,7 @@ module SMESH
     BALL,
     NB_ELEMENT_TYPES
   };
-  typedef sequence<ElementType> array_of_ElementType ;
+  typedef sequence<ElementType> array_of_ElementType;
 
   /*!
    * Enumeration for element geometry type, like SMDSAbs_GeometryType in SMDSAbs_ElementType.hxx
@@ -190,6 +191,7 @@ module SMESH
     Entity_TriQuad_Hexa,
     Entity_Penta,
     Entity_Quad_Penta,
+    Entity_BiQuad_Penta,
     Entity_Hexagonal_Prism,
     Entity_Polyhedra,
     Entity_Quad_Polyhedra,
@@ -234,15 +236,6 @@ module SMESH
     DRS_FAIL            // general failure (exception etc.)
   };
 
-  /*!
-   * Enumeration for ExportToMED*()
-   */
-  enum MED_VERSION
-  {
-    MED_V2_1,
-    MED_V2_2
-  };
-
   /*! 
    * \brief A structure containing information about MED file
    */
@@ -262,7 +255,7 @@ module SMESH
   };
 
   /*!
-   * Auxilary flags for advanced extrusion.
+   * Auxiliary flags for advanced extrusion.
    * BOUNDARY: create or not boundary for result of extrusion
    * SEW:      try to use existing nodes or create new nodes in any case
    */
@@ -339,7 +332,7 @@ module SMESH
   typedef sequence<SMESH_subMesh>     submesh_array;
   typedef sequence<submesh_array>     submesh_array_array;
 
-  interface SMESH_Mesh : SALOME::GenericObj, SMESH_IDSource
+  interface SMESH_Mesh : SMESH_IDSource
   {
     /*!
      * Return true if there is a geometry to be meshed
@@ -348,7 +341,7 @@ module SMESH
       raises (SALOME::SALOME_Exception);
 
     /*!
-     * Get geom shape to mesh. A result sould not be nil. Use HasShapeToMesh()
+     * Get geom shape to mesh. A result should not be nil. Use HasShapeToMesh()
      * to know if a returned shape 
      */
     GEOM::GEOM_Object GetShapeToMesh()
@@ -388,7 +381,7 @@ module SMESH
      * Get the subMesh object associated to a Sub-shape. The subMesh object
      * gives access to nodes and elements IDs.
      * SubMesh will be used instead of Sub-shape in a next idl version to
-     * adress a specific subMesh...
+     * address a specific subMesh...
      */
     SMESH_subMesh GetSubMesh(in GEOM::GEOM_Object aSubObject, in string name)
       raises (SALOME::SALOME_Exception);
@@ -549,7 +542,7 @@ module SMESH
       raises (SALOME::SALOME_Exception);
 
     /*!
-     * Remove an hypothesis previouly added with AddHypothesis.
+     * Remove an hypothesis previously added with AddHypothesis.
      */
     Hypothesis_Status RemoveHypothesis(in GEOM::GEOM_Object aSubObject,
                                        in SMESH_Hypothesis anHyp)
@@ -596,11 +589,6 @@ module SMESH
      */
     long GetId();
 
-    /*!
-     * Get the study Id
-     */
-    long GetStudyId();
-
     /*!
      * Obtain instance of SMESH_MeshEditor
      */
@@ -627,13 +615,12 @@ module SMESH
     boolean HasDuplicatedGroupNamesMED();
 
     /*!
-     * Export Mesh to a MED Format file
+     * Export a Mesh to MED file.
      * @params
-     * - file : name of the MED file
+     * - fileName : name of the MED file
      * - auto_groups : boolean parameter for creating/not creating
      *                 the groups Group_On_All_Nodes, Group_On_All_Faces, ... ;
      *                 the typical use is auto_groups=false.
-     * - version : defines the version of format of MED file, that will be created
      * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists
      * - autoDimension : if @c true, a space dimension of a MED mesh can be either
      *         - 1D if all mesh nodes lie on OX coordinate axis, or
@@ -641,18 +628,16 @@ module SMESH
      *         - 3D in the rest cases.
      *         If @a autoDimension is @c false, the space dimension is always 3.
      */
-    void ExportToMEDX( in string      file, 
-                       in boolean     auto_groups, 
-                       in MED_VERSION version, 
-                       in boolean     overwrite,
-                       in boolean     autoDimension) raises (SALOME::SALOME_Exception);
+    void ExportMED( in string      fileName, 
+                   in boolean     auto_groups, 
+                   in boolean     overwrite,
+                   in boolean     autoDimension) raises (SALOME::SALOME_Exception);
 
     /*!
      * Export a [part of] Mesh into a MED file
      * @params
      * - meshPart : a part of mesh to store
-     * - file : name of the MED file
-     * - version : define the version of format of MED file, that will be created
+     * - fileName : name of the MED file
      * - overwrite : boolean parameter for overwriting/not overwriting the file, if it exists
      * - autoDimension : if @c True, a space dimension for export is defined by mesh 
      *                 configuration; for example a planar mesh lying on XOY plane
@@ -667,31 +652,13 @@ module SMESH
      *         - 's' stands for _solids_ field.
      */
     void ExportPartToMED( in SMESH_IDSource     meshPart,
-                          in string             file,
+                          in string             fileName,
                           in boolean            auto_groups,
-                          in MED_VERSION        version,
                           in boolean            overwrite,
                           in boolean            autoDimension,
                           in GEOM::ListOfFields fields,
                           in string             geomAssocFields ) raises (SALOME::SALOME_Exception);
 
-    /*!
-     * Export Mesh to a MED Format file
-     * Works, just the same as ExportToMEDX, with overwrite parameter equal to true.
-     * The method is kept in order to support old functionality
-     */
-    void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion )
-      raises (SALOME::SALOME_Exception);
-
-    /*!
-     * Export Mesh to MED_V2_1 MED format
-     * Works, just the same as ExportToMEDX with MED_VERSION parameter equal to MED_V2_1
-     * and overwrite parameter equal to true
-     * The method is kept in order to support old functionality
-     */
-    void ExportMED( in string file, in boolean auto_groups )
-      raises (SALOME::SALOME_Exception);
-
     /*!
      * Export Mesh to SAUV formatted file
      * Write a temporary med file and use med2sauv
@@ -699,11 +666,6 @@ module SMESH
     void ExportSAUV( in string file, in boolean auto_groups )
       raises (SALOME::SALOME_Exception);
 
-    /*!
-     * Return string representation of a MED file version comprising nbDigits
-     */
-    string GetVersionString(in MED_VERSION version, in short nbDigits);
-
     /*!
      * Export Mesh to different Formats
      * (UNV supported version is I-DEAS 10)
@@ -714,7 +676,8 @@ module SMESH
                     in boolean isascii ) raises (SALOME::SALOME_Exception);
     void ExportCGNS( in SMESH_IDSource meshPart, 
                      in string         file,
-                     in boolean        overwrite ) raises (SALOME::SALOME_Exception);
+                     in boolean        overwrite,
+                     in boolean        groupElemsByType) raises (SALOME::SALOME_Exception);
     void ExportGMF( in SMESH_IDSource  meshPart, 
                     in string          file,
                     in boolean         withRequiredGroups) raises (SALOME::SALOME_Exception);
@@ -731,7 +694,7 @@ module SMESH
     double GetComputeProgress();
 
     /*!
-     * Get informations about mesh contents
+     * Get information about mesh contents
      */
     long NbNodes()
       raises (SALOME::SALOME_Exception);
@@ -778,6 +741,9 @@ module SMESH
     long NbPolygons()
       raises (SALOME::SALOME_Exception);
 
+    long NbPolygonsOfOrder(in ElementOrder order)
+      raises (SALOME::SALOME_Exception);
+
     long NbVolumes()
       raises (SALOME::SALOME_Exception);
 
@@ -971,6 +937,11 @@ module SMESH
      */
     long FindElementByNodes(in long_array nodes);
 
+    /*!
+     * Return elements including all given nodes.
+     */
+    long_array GetElementsByNodes(in long_array nodes, in ElementType elem_type);
+
     /*!
      * Returns true if given element is polygon
      */
@@ -1013,7 +984,7 @@ module SMESH
     string_array GetLastParameters();
   };
 
-  interface SMESH_subMesh : SALOME::GenericObj, SMESH_IDSource
+  interface SMESH_subMesh : SMESH_IDSource
   {
     /*!
      *
@@ -1040,7 +1011,7 @@ module SMESH
       raises (SALOME::SALOME_Exception);
     
     /*!
-     * Return type of submesh element
+     * Returns type of mesh element (same as SMESH_Mesh::GetElementType() )
      */
     ElementType GetElementType( in long id, in boolean iselem )
       raises (SALOME::SALOME_Exception);