Salome HOME
Added support for polygones and polyhedres
[modules/smesh.git] / idl / SMESH_Mesh.idl
index 094b66583a5aa2d9c0b5b92419eef7c356a2dd3b..1456a3d6b74e15596a0de17579972fbd17335b8e 100644 (file)
@@ -58,14 +58,17 @@ module SMESH
       ADD_EDGE,
       ADD_TRIANGLE,
       ADD_QUADRANGLE,
+      ADD_POLYGON,
       ADD_TETRAHEDRON,
       ADD_PYRAMID,
       ADD_PRISM,
       ADD_HEXAHEDRON,
+      ADD_POLYHEDRON,
       REMOVE_NODE,
       REMOVE_ELEMENT,
       MOVE_NODE,
       CHANGE_ELEMENT_NODES,
+      CHANGE_POLYHEDRON_NODES,
       RENUMBER
     };
 
@@ -324,10 +327,20 @@ module SMESH
        raises (SALOME::SALOME_Exception);
 
     /*!
-     * Export Mesh to MED Formats
+     * Export Mesh to different MED Formats
+     * @params
+     * - 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.
+     * - theVersion : define the version of format of MED file, that will be created
      */
     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 ExportToMED, with MED_VERSION parameter equal to MED_V2_1.
+     * The method is kept in order to support old functionality
+     */
     void ExportMED( in string file, in boolean auto_groups )
       raises (SALOME::SALOME_Exception);
 
@@ -365,6 +378,9 @@ module SMESH
     long NbQuadrangles()
       raises (SALOME::SALOME_Exception);
 
+    long NbPolygones()
+      raises (SALOME::SALOME_Exception);
+
     long NbVolumes()
       raises (SALOME::SALOME_Exception);
 
@@ -380,6 +396,9 @@ module SMESH
     long NbPrisms()
       raises (SALOME::SALOME_Exception);
 
+    long NbPolyhedrones()
+      raises (SALOME::SALOME_Exception);
+
     long NbSubMesh()
       raises (SALOME::SALOME_Exception);
 
@@ -451,7 +470,7 @@ module SMESH
       raises (SALOME::SALOME_Exception);
   };
   
-  /* 
+  /*!
    * This interface makes modifications on the Mesh - removing elements and nodes etc.
    */
   interface NumericalFunctor;
@@ -470,6 +489,25 @@ module SMESH
 
     boolean AddVolume(in long_array IDsOfNodes);
 
+    //boolean AddPolygonalFace (in long_array IdsOfNodes);
+
+    /*!
+     *  Create volume of many faces, giving nodes for each face.
+     *  \param IdsOfNodes List of node IDs for volume creation face by face.
+     *  \param Quantities List of integer values, Quantities[i]
+     *         gives quantity of nodes in face number i.
+     */
+    boolean AddPolyhedralVolume (in long_array IdsOfNodes,
+                                in long_array Quantities);
+
+    /*!
+     *  Create volume of many faces, giving IDs of existing faces.
+     *  \param IdsOfFaces List of face IDs for volume creation.
+     *  \note The created volume will refer only to nodes
+     *        of the given faces, not to the faces itself.
+     */
+    boolean AddPolyhedralVolumeByFaces (in long_array IdsOfFaces);
+
     boolean MoveNode(in long NodeID, in double x, in double y, in double z);
 
     boolean InverseDiag(in long NodeID1, in long NodeID2);