Salome HOME
Copyright update 2021
[modules/yacs.git] / src / evalyfx / YACSEvalYFX.cxx
index 423c46f4de297c5aad69b40cde3c5bdf44873fba..c27cc9a3b9cd71418c15db1b1bc9a44bb3933fa7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2016  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
@@ -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)