Salome HOME
fix bug 12361. In SetName(): there may be no study
[modules/smesh.git] / idl / SMESH_Gen.idl
index 32486e5aa718aaef67ec90bfbac72213e45c7252..f9e3af677584d5f2bae47251efb83bd329430bc3 100644 (file)
@@ -43,6 +43,15 @@ module SMESH
   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
   {
 
@@ -50,6 +59,16 @@ module SMESH
 
     SMESH_Pattern GetPattern();
 
+    /*!
+      Set the current mode
+     */
+    void SetEmbeddedMode( in boolean theMode );
+
+    /*!
+      Get the current mode
+     */
+    boolean IsEmbeddedMode();
+
     /*!
       Set the current study
      */
@@ -71,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).
@@ -81,6 +113,12 @@ module SMESH
     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
      */
@@ -111,31 +149,42 @@ module SMESH
      * First, verify list of hypothesis associated with the subShape,
      * return NOK if hypothesis are not sufficient
      */
-    boolean Compute( in SMESH_Mesh       theMesh, 
+    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, 
+    boolean IsReadyToCompute( in SMESH_Mesh        theMesh, 
                              in GEOM::GEOM_Object theSubObject )
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * 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_Object theMainObject,
-                            in object_array theListOfSubObjects )
+                               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 object_array theListOfSubShape )
-    //  raises ( SALOME::SALOME_Exception );
-    
+    GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh  theMesh,
+                                                in long        theElementID,
+                                                in string      theGeomName)
+      raises ( SALOME::SALOME_Exception );
+
   };
 
 };