Salome HOME
Copyright update 2021
[modules/yacs.git] / src / evalyfx / YACSEvalYFX.cxx
index 3cac124bc0af7f43e6cd12240752edc788a16ec2..c27cc9a3b9cd71418c15db1b1bc9a44bb3933fa7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2015  CEA/DEN, EDF R&D
+// Copyright (C) 2012-2021  CEA/DEN, 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
@@ -15,7 +15,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-// 
+//
 // Author : Anthony Geay (EDF R&D)
 
 #include "YACSEvalYFX.hxx"
@@ -64,7 +64,6 @@ void YACSEvalYFX::lockPortsForEvaluation(const std::vector< YACSEvalInputPort *
 {
   checkPortsForEvaluation(inputsOfInterest,outputsOfInterest);
   _pattern->setOutPortsOfInterestForEvaluation(outputsOfInterest);
-  _pattern->generateGraph();
 }
 
 void YACSEvalYFX::unlockAll()
@@ -81,6 +80,9 @@ bool YACSEvalYFX::isLocked() const
   return _pattern->isLocked();
 }
 
+/*!
+ * Caller is not responsible from returned pointer
+ */
 YACSEvalListOfResources *YACSEvalYFX::giveResources()
 {
   return _pattern->giveResources();
@@ -88,20 +90,18 @@ YACSEvalListOfResources *YACSEvalYFX::giveResources()
 
 bool YACSEvalYFX::run(YACSEvalSession *session, int& nbOfBranches)
 {
+  _pattern->generateGraph();
   if(!session)
     {
       throw YACS::Exception("YACSEvalYFX::run : input session in null !");
     }
   session->launch();
-  //
   YACSEvalListOfResources *rss(giveResources());
   rss->checkOKForRun();
   _pattern->assignRandomVarsInputs();
-  //if(!rss->isInteractive())
-  //  throw YACS::Exception("YACSEvalYFX::run : not implemented yet for non interactive !");
   rss->apply();
   nbOfBranches=_pattern->assignNbOfBranches();
-  return _pattern->go(_params.getStopASAPAfterErrorStatus());
+  return _pattern->go(_params,session);
 }
 
 void YACSEvalYFX::registerObserver(YACSEvalObserver *observer)