]> SALOME platform Git repositories - samples/genericsolver.git/blob - idl/DEVIATION_Gen.idl
Salome HOME
Added DEVIATION component to be used as an example for new code integrations
[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> Point;
33   typedef SALOMEDS::ID ID;
34   typedef sequence<string> VarList;
35
36   interface DEVIATION_Gen : Engines::Component, SALOMEDS::Driver
37   {
38
39     /**
40      * @brief Initialize the component with the deterministic variables and the lists of
41      *        probabilistic variables.
42      *
43      * The Init method prepares the component for a series of computation with
44      * the method Exec. It extracts the deterministic data from Salome study and
45      * stores this data along with the lists of input and output variables to
46      * identify them in future calls to Exec.
47      *
48      * @param inputVarList   a list of strings containing the names of the input
49      *                       variables in the same order as in subsequent calls to Exec.
50      * @param outputVarList  a list of strings containing the names of the output
51      *                       variables in the same order as they should be returned
52      *                       in subsequent calls to Exec.
53      * @param studyID        the identifier of the study containing the deterministic data
54      * @param entry          the identifier of the deterministic case within the study
55      */
56     void Init(in VarList inputVarList, in VarList outputVarList, in long studyID, in ID entry)
57       raises (SALOME::SALOME_Exception);
58
59     /**
60      * @brief Execute a computation with a given sample of variables.
61      *
62      * The Exec method realizes the computation with some parameters (within
63      * inPoint) corresponding to the variables set previously with the method
64      * Init. The result is put in outPoint in the order specified by
65      * outputVarList of Init method.
66      *
67      * @param inPoint   a vector of floating point values to be evaluated
68      * @param outPoint  the result of the computation as a vector of floating point values
69      */
70     void Exec(in Point inPoint, out Point outPoint)
71       raises (SALOME::SALOME_Exception);
72
73     /**
74      * @brief Cleanup everything that was previously set
75      *
76      * The Finalize method is in charge of cleaning everything that what set hitherto.
77      * It may be empty.
78      */
79     void Finalize()
80       raises (SALOME::SALOME_Exception);
81
82   };
83 };
84
85 #endif