X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FGENERICSOLVER_Gen.idl;h=1e9f67d0b68ae51e9c8cd56ebc6227ce681a01d7;hb=4a890ef78d8733d7a2b57ecc2012f7b0d8a63ea4;hp=e0e9b0e899b4d11e1f678d3c1c5d5d5ea5dc5636;hpb=5667e36add256d43910356bdf5c8e12ea08a20b8;p=samples%2Fgenericsolver.git diff --git a/idl/GENERICSOLVER_Gen.idl b/idl/GENERICSOLVER_Gen.idl index e0e9b0e..1e9f67d 100644 --- a/idl/GENERICSOLVER_Gen.idl +++ b/idl/GENERICSOLVER_Gen.idl @@ -1,7 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2009-2010 EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -19,6 +16,9 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // +// $Id$ +// + #ifndef __GENERICSOLVER_GEN__ #define __GENERICSOLVER_GEN__ @@ -31,6 +31,8 @@ module GENERICSOLVER_ORB typedef sequence Point; typedef SALOMEDS::ID ID; + typedef sequence VarList; + typedef Engines::fileBlock pyobj; interface GENERICSOLVER_Gen : Engines::Component, SALOMEDS::Driver { @@ -49,7 +51,7 @@ module GENERICSOLVER_ORB * @param entry the identifier of the study case within the study * @param wrapperDescription a string containing the XML wrapper description */ - short Init(in short studyID, in ID entry, in string wrapperDescription) + long Init(in long studyID, in ID entry, in string wrapperDescription) raises (SALOME::SALOME_Exception); /** @@ -62,7 +64,7 @@ module GENERICSOLVER_ORB * @param inPoint a vector of floating point values to be modified * @param outPoint the result of the computation as a vector of floating point values */ - short Exec(in Point inPoint, inout Point outPoint) + long Exec(in Point inPoint, out Point outPoint) raises (SALOME::SALOME_Exception); /** @@ -73,7 +75,43 @@ module GENERICSOLVER_ORB * * @return 0 if success, non zero if failure */ - short Finalize() + long Finalize() + raises (SALOME::SALOME_Exception); + + + /** + * @brief Initialize the component with the deterministic variables and the lists of + * probabilistic variables. + * + * The InitWithVarList method prepares the component for a series of computation + * with the method ExecWithVarList. It stores the deterministic variables and the + * lists of input and output variables to identify them in future calls to + * ExecWithVarList. + * + * @param inputVarList a list of strings containing the names of the input + * variables in the same order as in subsequent calls to + * ExecWithVarList. + * @param outputVarList a list of strings containing the names of the output + * variables in the same order as they should be returned + * in subsequent calls to ExecWithVarList. + * @param deterministicVars a python dictionary containing the deterministic + * variables (mapping variable names to variable values) + */ + void InitWithVarList(in VarList inputVarList, in VarList outputVarList, in pyobj deterministicVars) + raises (SALOME::SALOME_Exception); + + /** + * @brief Execute a computation with a given sample of variables. + * + * The ExecWithVarList method realizes the computation with some parameters (within + * inPoint) corresponding to the variables set previously with the method + * InitWithVarList. The result is put in outPoint in the order specified by + * outputVarList of InitWithVarList method. + * + * @param inPoint a vector of floating point values to be evaluated + * @param outPoint the result of the computation as a vector of floating point values + */ + void ExecWithVarList(in Point inPoint, out Point outPoint) raises (SALOME::SALOME_Exception); };