Salome HOME
NRI : Update IDL Dependancies.
[modules/smesh.git] / idl / SMESH_Gen.idl
1 //=============================================================================
2 // File      : SMESH_Gen.idl
3 // Created   : jeu avr 11 15:26:35 CEST 2002
4 // Author    : Paul RASCLE, EDF
5 // Project   : SALOME
6 // Copyright : EDF 2002
7 // $Header$
8 //=============================================================================
9
10 #ifndef _SMESH_GEN_IDL_
11 #define _SMESH_GEN_IDL_
12
13 #include "SALOME_Exception.idl"
14 #include "SALOME_Component.idl"
15 #include "SALOMEDS.idl"
16
17 #include "GEOM_Gen.idl"
18 #include "GEOM_Shape.idl"
19
20 #include "SMESH_Mesh.idl"
21 #include "SMESH_Hypothesis.idl"
22
23 module SMESH
24 {
25   typedef sequence<GEOM::GEOM_Shape> shape_array;
26
27   interface SMESH_Gen : Engines::Component, SALOMEDS::Driver
28   {
29     /*!
30      * Create an hypothesis that can be shared by differents parts of the mesh.
31      * An hypothesis is either:
32      * - a method used to generate or modify a part of the mesh (algorithm).
33      * - a parameter or a law used by an algorithm.
34      * Algorithms are 1D, 2D or 3D.
35      */
36     SMESH_Hypothesis CreateHypothesis( in string anHyp,
37                                        in long studyId)
38       raises (SALOME::SALOME_Exception);
39
40     /*!
41      * Create a Mesh object, given a geometry shape.
42      * Mesh is created empty (no points, no elements).
43      * Shape is explored via GEOM_Client to create local copies.
44      * of TopoDS_Shapes and bind CORBA references of shape & subshapes
45      * with TopoDS_Shapes
46      */
47      SMESH_Mesh Init(in GEOM::GEOM_Gen geomEngine,
48                      in long studyId,
49                      in GEOM::GEOM_Shape aShape)
50        raises (SALOME::SALOME_Exception);
51
52     /*!
53      * Create a Mesh object, without a geometry shape reference
54      */
55 //      SMESH_Mesh NewEmpty(in GEOM::GEOM_Gen geomEngine,
56 //                       in long studyId)
57 //        raises (SALOME::SALOME_Exception);
58
59     /*!
60      * Mesh a subShape. 
61      * First, verify list of hypothesis associated with the subShape,
62      * return NOK if hypothesis are not sufficient
63      */
64     boolean Compute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape)
65       raises (SALOME::SALOME_Exception);
66
67     /*!
68      * 
69      */
70
71     boolean IsReadyToCompute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape)
72       raises (SALOME::SALOME_Exception);
73
74     /*!
75      * 
76      */
77     long_array GetSubShapesId(in GEOM::GEOM_Gen geomEngine,
78                              in long studyId,
79                              in GEOM::GEOM_Shape mainShape,
80                              in shape_array listOfSubShape)
81        raises (SALOME::SALOME_Exception);
82     
83     /*!
84      * 
85      */
86     //    long_array GetSubMeshesState(in GEOM::GEOM_Gen geomEngine,
87     //                           in long studyId,
88     //                           in shape_array listOfSubShape)
89     //  raises (SALOME::SALOME_Exception);
90     
91
92   };
93
94 };
95
96 #endif