Salome HOME
Implement sweep mesh elements along a path (PAL7218).
[modules/smesh.git] / idl / SMESH_Mesh.idl
index d64d9389f269a7daab7e72e8e35a8a7ad4bd6842..094b66583a5aa2d9c0b5b92419eef7c356a2dd3b 100644 (file)
@@ -132,6 +132,15 @@ module SMESH
     DRS_FAIL            // general failure (exception etc.)
   }; 
 
+  /*!
+   * Enumeration for DriverMED (used by Perform() method)
+   */  
+  enum MED_VERSION // in the order of severity
+  {
+    MED_V2_1,
+    MED_V2_2
+  };
+
   typedef sequence<log_block> log_array;
 
 
@@ -315,12 +324,18 @@ module SMESH
        raises (SALOME::SALOME_Exception);
 
     /*!
-     * Export Mesh with DAT and MED Formats
+     * Export Mesh to MED Formats
      */
-    void ExportDAT( in string file )
+    void ExportToMED( in string file, in boolean auto_groups, in MED_VERSION theVersion )
       raises (SALOME::SALOME_Exception);
     void ExportMED( in string file, in boolean auto_groups )
       raises (SALOME::SALOME_Exception);
+
+    /*!
+     * Export Mesh to DAT, UNV and STL Formats
+     */
+    void ExportDAT( in string file )
+      raises (SALOME::SALOME_Exception);
     void ExportUNV( in string file )
       raises (SALOME::SALOME_Exception);
     void ExportSTL( in string file, in boolean isascii )
@@ -335,6 +350,9 @@ module SMESH
     long NbNodes()
       raises (SALOME::SALOME_Exception);
 
+    long NbElements()
+      raises (SALOME::SALOME_Exception);
+
     long NbEdges()
       raises (SALOME::SALOME_Exception);
 
@@ -365,6 +383,15 @@ module SMESH
     long NbSubMesh()
       raises (SALOME::SALOME_Exception);
 
+    long_array GetElementsId()
+      raises (SALOME::SALOME_Exception);
+
+    long_array GetElementsByType( in ElementType theType )
+      raises (SALOME::SALOME_Exception);
+
+    long_array GetNodesId()
+      raises (SALOME::SALOME_Exception);
+
     string Dump();
   };
 
@@ -508,6 +535,34 @@ module SMESH
                              in DirStruct       StepVector,
                              in long            NbOfSteps);
 
+    enum Extrusion_Error {
+      EXTR_OK,
+      EXTR_NO_ELEMENTS, 
+      EXTR_PATH_NOT_EDGE,
+      EXTR_BAD_PATH_SHAPE,
+      EXTR_BAD_STARTING_NODE,
+      EXTR_BAD_ANGLES_NUMBER,
+      EXTR_CANT_GET_TANGENT
+      };
+
+    Extrusion_Error ExtrusionAlongPath(in long_array        IDsOfElements,
+                                      in SMESH_Mesh        PathMesh,
+                                      in GEOM::GEOM_Object PathShape,
+                                      in long              NodeStart,
+                                      in boolean           HasAngles,
+                                      in double_array      Angles,
+                                      in boolean           HasRefPoint,
+                                      in PointStruct       RefPoint);
+
+    Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource    theObject,
+                                            in SMESH_Mesh        PathMesh,
+                                            in GEOM::GEOM_Object PathShape,
+                                            in long              NodeStart,
+                                            in boolean           HasAngles,
+                                            in double_array      Angles,
+                                            in boolean           HasRefPoint,
+                                            in PointStruct       RefPoint);
+
     enum MirrorType { POINT, AXIS, PLANE };
 
     void Mirror (in long_array       IDsOfElements,