Salome HOME
fix bug 12361. In SetName(): there may be no study
[modules/smesh.git] / idl / SMESH_Gen.idl
index 390813d48a0292d1ec3eb4ef09a7fbcfd6f81ec5..f9e3af677584d5f2bae47251efb83bd329430bc3 100644 (file)
 #include "SALOMEDS.idl"
 
 #include "GEOM_Gen.idl"
-#include "GEOM_Shape.idl"
 
 #include "SMESH_Mesh.idl"
 #include "SMESH_Hypothesis.idl"
 
 module SMESH
 {
-  typedef sequence<GEOM::GEOM_Shape> shape_array;
+  typedef sequence<GEOM::GEOM_Object> object_array;
   typedef sequence<SMESH_Mesh> mesh_array;
 
   interface FilterManager;
-
+  interface SMESH_Pattern;
+
+  enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH };
+  struct AlgoStateError {
+    AlgoStateErrorName name;
+    string             algoName;
+    long               algoDim;
+    boolean            isGlobalAlgo;
+  };
+  typedef sequence<AlgoStateError> algo_error_array;
+    
   interface SMESH_Gen : Engines::Component, SALOMEDS::Driver
   {
 
     FilterManager CreateFilterManager();
 
+    SMESH_Pattern GetPattern();
+
+    /*!
+      Set the current mode
+     */
+    void SetEmbeddedMode( in boolean theMode );
+
+    /*!
+      Get the current mode
+     */
+    boolean IsEmbeddedMode();
+
     /*!
       Set the current study
      */
@@ -69,6 +90,19 @@ module SMESH
                                       in string theLibName )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Return a hypothesis holding parameter values corresponding to the mesh
+     * existing on the given geometry.
+     * The returned hypothesis may be the one existing in a study and used
+     * to compute the mesh, or a temporary one created just to pass parameter
+     * values
+     */
+    SMESH_Hypothesis GetHypothesisParameterValues( in string            theHypName,
+                                                   in string            theLibName,
+                                                   in SMESH_Mesh        theMesh,
+                                                   in GEOM::GEOM_Object theGeom)
+      raises ( SALOME::SALOME_Exception );
+
     /*!
      * Create a Mesh object, given a geometry shape.
      * Mesh is created empty (no points, no elements).
@@ -76,9 +110,21 @@ module SMESH
      * of TopoDS_Shapes and bind CORBA references of shape & subshapes
      * with TopoDS_Shapes
      */
-    SMESH_Mesh CreateMesh( in GEOM::GEOM_Shape theShape )
+    SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
+      raises ( SALOME::SALOME_Exception );
+    
+    /*!
+     * Create a empty mesh object
+     */
+    SMESH_Mesh CreateEmptyMesh()
       raises ( SALOME::SALOME_Exception );
     
+    /*!
+     * Create Mesh object importing data from given UNV file
+     */
+    SMESH_Mesh CreateMeshesFromUNV( in string theFileName )
+      raises ( SALOME::SALOME_Exception );
+
     /*!
      * Create Mesh object(s) importing data from given MED file
      */
@@ -86,6 +132,12 @@ module SMESH
                                     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 a Mesh object, without a geometry shape reference
      */
@@ -97,31 +149,41 @@ module SMESH
      * First, verify list of hypothesis associated with the subShape,
      * return NOK if hypothesis are not sufficient
      */
-    boolean Compute( in SMESH_Mesh       theMesh, 
-                    in GEOM::GEOM_Shape theSubShape )
+    boolean Compute( in SMESH_Mesh        theMesh, 
+                    in GEOM::GEOM_Object theSubObject )
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * 
+     * Return true if hypotheses are defined well
      */
+    boolean IsReadyToCompute( in SMESH_Mesh        theMesh, 
+                             in GEOM::GEOM_Object theSubObject )
+      raises ( SALOME::SALOME_Exception );
 
-    boolean IsReadyToCompute( in SMESH_Mesh       theMesh, 
-                             in GEOM::GEOM_Shape theSubShape )
+    /*!
+     * Return errors of hypotheses definintion
+     * algo_error_array is empty if everything is OK
+     */
+    algo_error_array GetAlgoState( in SMESH_Mesh        theMesh, 
+                                   in GEOM::GEOM_Object theSubObject )
       raises ( SALOME::SALOME_Exception );
 
     /*!
      * 
      */
-    long_array GetSubShapesId( in GEOM::GEOM_Shape theMainShape,
-                              in shape_array      theListOfSubShape )
+    long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
+                               in object_array      theListOfSubObjects )
        raises ( SALOME::SALOME_Exception );
-    
+
     /*!
-     * 
+     * Return geometrical object the given element is built on.
+     * The returned geometrical object, if not nil, is either found in the 
+     * study or is published by this method with the given name
      */
-    //    long_array GetSubMeshesState( in shape_array theListOfSubShape )
-    //  raises ( SALOME::SALOME_Exception );
-    
+    GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh  theMesh,
+                                                in long        theElementID,
+                                                in string      theGeomName)
+      raises ( SALOME::SALOME_Exception );
 
   };