Salome HOME
PAL10953. Add Fineness parameter to Automatic Length hypothesis
[modules/smesh.git] / idl / SMESH_Gen.idl
index c30750bf071b43be534679ac9e32ce4605abe203..5757e10750205a381e8c4907caad1381c9633b23 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();
+
     /*!
-     * Create an hypothesis that can be shared by differents parts of the mesh.
+      Set the current study
+     */
+    void SetCurrentStudy( in SALOMEDS::Study theStudy );
+
+    /*!
+      Get the current study
+     */
+    SALOMEDS::Study GetCurrentStudy();
+
+    /*!
+     * Create a hypothesis that can be shared by differents parts of the mesh.
      * An hypothesis is either:
      * - a method used to generate or modify a part of the mesh (algorithm).
      * - a parameter or a law used by an algorithm.
      * Algorithms are 1D, 2D or 3D.
      */
-    SMESH_Hypothesis CreateHypothesis( in string anHyp,
-                                      in long studyId)
-      raises (SALOME::SALOME_Exception);
+    SMESH_Hypothesis CreateHypothesis( in string theHypName,
+                                      in string theLibName )
+      raises ( SALOME::SALOME_Exception );
 
     /*!
      * Create a Mesh object, given a geometry shape.
@@ -60,51 +87,72 @@ module SMESH
      * of TopoDS_Shapes and bind CORBA references of shape & subshapes
      * with TopoDS_Shapes
      */
-     SMESH_Mesh Init(in GEOM::GEOM_Gen geomEngine,
-                    in long studyId,
-                    in GEOM::GEOM_Shape aShape)
-       raises (SALOME::SALOME_Exception);
+    SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
+      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
+     */
+     mesh_array CreateMeshesFromMED( in string theFileName,
+                                    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
      */
-//      SMESH_Mesh NewEmpty(in GEOM::GEOM_Gen geomEngine,
-//                      in long studyId)
-//        raises (SALOME::SALOME_Exception);
+//      SMESH_Mesh NewEmpty()
+//        raises ( SALOME::SALOME_Exception );
 
     /*!
      * Mesh a subShape. 
      * First, verify list of hypothesis associated with the subShape,
      * return NOK if hypothesis are not sufficient
      */
-    boolean Compute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape)
-      raises (SALOME::SALOME_Exception);
+    boolean Compute( in SMESH_Mesh       theMesh, 
+                    in GEOM::GEOM_Object theSubObject )
+      raises ( SALOME::SALOME_Exception );
 
     /*!
      * 
      */
 
-    boolean IsReadyToCompute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape)
-      raises (SALOME::SALOME_Exception);
+    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_Gen geomEngine,
-                            in long studyId,
-                            in GEOM::GEOM_Shape mainShape,
-                            in shape_array listOfSubShape)
-       raises (SALOME::SALOME_Exception);
+    long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
+                            in object_array theListOfSubObjects )
+       raises ( SALOME::SALOME_Exception );
     
     /*!
      * 
      */
-    //    long_array GetSubMeshesState(in GEOM::GEOM_Gen geomEngine,
-    //                          in long studyId,
-    //                          in shape_array listOfSubShape)
-    //  raises (SALOME::SALOME_Exception);
+    //    long_array GetSubMeshesState( in object_array theListOfSubShape )
+    //  raises ( SALOME::SALOME_Exception );
     
-
   };
 
 };