Salome HOME
Changed Component in EngineComponent
[samples/genericsolver.git] / idl / DEVIATION_Gen.idl
1 //  Copyright (C) 2009-2010 EDF R&D
2 //
3 //  This library is free software; you can redistribute it and/or
4 //  modify it under the terms of the GNU Lesser General Public
5 //  License as published by the Free Software Foundation; either
6 //  version 2.1 of the License.
7 //
8 //  This library is distributed in the hope that it will be useful,
9 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 //  Lesser General Public License for more details.
12 //
13 //  You should have received a copy of the GNU Lesser General Public
14 //  License along with this library; if not, write to the Free Software
15 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 //  $Id$
20 //
21
22 #ifndef __DEVIATION_GEN__
23 #define __DEVIATION_GEN__
24
25 #include "SALOME_Component.idl"
26 #include "SALOMEDS.idl"
27 #include "SALOME_Exception.idl"
28 #include "SALOME_Parametric.idl"
29
30 module GENERICSOLVER_ORB
31 {
32   interface DEVIATION_Gen : Engines::EngineComponent, SALOMEDS::Driver
33   {
34
35     /**
36      * @brief Initialize the component with the deterministic variables and the lists of
37      *        probabilistic variables.
38      *
39      * The Init method prepares the component for a series of computation with
40      * the method Exec. It extracts the deterministic data from Salome study and
41      * stores this data along with the lists of input and output variables to
42      * identify them in future calls to Exec.
43      *
44      * @param studyID        the identifier of the study containing the deterministic data
45      * @param detCaseEntry   the identifier of the deterministic case within the study
46      */
47     void Init(in long studyID, in SALOMEDS::ID detCaseEntry)
48       raises (SALOME::SALOME_Exception);
49
50     /**
51      * @brief Execute a computation with a given sample of variables.
52      *
53      * The Exec method realizes the computation with the probabilistic variables
54      * described in paramInput and the deterministic variables set previously with
55      * the Init method. The result is put in paramOutput in the order specified by
56      * paramInput.outputVarList.
57      *
58      * @param paramInput   a structure describing the probabilistic variables and the order
59      *                     of the output variables.
60      * @param paramOutput  a structure containing the result of the computation
61      */
62     void Exec(in SALOME_TYPES::ParametricInput paramInput,
63               out SALOME_TYPES::ParametricOutput paramOutput)
64       raises (SALOME::SALOME_Exception);
65
66     /**
67      * @brief Cleanup everything that was previously set
68      *
69      * The Finalize method is in charge of cleaning everything that what set hitherto.
70      * It may be empty.
71      */
72     void Finalize()
73       raises (SALOME::SALOME_Exception);
74
75   };
76 };
77
78 #endif