]> SALOME platform Git repositories - samples/genericsolver.git/blob - idl/DEVIATION_Gen.idl
Salome HOME
svn merge -r100:HEAD svn://nepal.der.edf.fr/OPENTURNS/GENERICSOLVER_SRC/branches...
[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
29 module GENERICSOLVER_ORB
30 {
31
32   typedef sequence<double> Value;
33   typedef sequence<string> VarList;
34   typedef sequence<Value> ValueList;
35
36   struct InputDescription {
37     VarList inputVarList;
38     VarList outputVarList;
39     ValueList inputValues;
40   };
41
42   interface DEVIATION_Gen : Engines::Component, SALOMEDS::Driver
43   {
44
45     /**
46      * @brief Initialize the component with the deterministic variables and the lists of
47      *        probabilistic variables.
48      *
49      * The Init method prepares the component for a series of computation with
50      * the method Exec. It extracts the deterministic data from Salome study and
51      * stores this data along with the lists of input and output variables to
52      * identify them in future calls to Exec.
53      *
54      * @param studyID        the identifier of the study containing the deterministic data
55      * @param detCaseEntry   the identifier of the deterministic case within the study
56      */
57     void Init(in long studyID, in SALOMEDS::ID detCaseEntry)
58       raises (SALOME::SALOME_Exception);
59
60     /**
61      * @brief Execute a computation with a given sample of variables.
62      *
63      * The Exec method realizes the computation with the probabilistic variables
64      * described in inputDesc and the deterministic variables set previously with
65      * the Init method. The result is put in outputValues in the order specified by
66      * inputDesc.outputVarList.
67      *
68      * @param inputDesc     a structure describing the probabilistic variables and the order
69      *                      of the output variables.
70      * @param outputValues  the result of the computation
71      */
72     void Exec(in InputDescription inputDesc, out ValueList outputValues)
73       raises (SALOME::SALOME_Exception);
74
75     /**
76      * @brief Cleanup everything that was previously set
77      *
78      * The Finalize method is in charge of cleaning everything that what set hitherto.
79      * It may be empty.
80      */
81     void Finalize()
82       raises (SALOME::SALOME_Exception);
83
84   };
85 };
86
87 #endif