X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FbbtkBlackBox.cxx;h=a249bfc79f9193fadebce4d7d02e4aa71054c0bc;hb=2d564c78c449d67b1d85511ba9601d3afb57c924;hp=dfdf6e5df63861b3c353e71d6e289b6e20ffdedd;hpb=731d9ee262e286a24e3ea2776d8e914950840a2c;p=bbtk.git diff --git a/kernel/src/bbtkBlackBox.cxx b/kernel/src/bbtkBlackBox.cxx index dfdf6e5..a249bfc 100644 --- a/kernel/src/bbtkBlackBox.cxx +++ b/kernel/src/bbtkBlackBox.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkBlackBox.cxx,v $ Language: C++ - Date: $Date: 2011/07/22 17:42:50 $ - Version: $Revision: 1.54 $ + Date: $Date: 2012/07/26 08:28:31 $ + Version: $Revision: 1.55 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -109,6 +109,7 @@ namespace bbtk bbmExecuting(false), bbmName(name), bbmBoxProcessMode("Pipeline"), + bbLetRecursiveExecuteManualMode(false), bbmParent() { @@ -135,6 +136,7 @@ namespace bbtk bbmExecuting(false), bbmName(name), bbmBoxProcessMode(from.bbmBoxProcessMode), + bbLetRecursiveExecuteManualMode(false), bbmParent() { @@ -378,13 +380,19 @@ namespace bbtk (p == "F") || (p == "f") || (p == "Flash") || (p == "flash") ) return Flash; */ - bbtkError(bbGetFullName()<<" : BoxProcessMode value '"<

bbCreateWindow(); // Updates its inputs - IOStatus s = bbUpdateInputs(); - - if ( (s != UPTODATE) || - bbBoxProcessModeIsAlways() ) + +// IOStatus s; + IOStatus s=UPTODATE; +// IOStatus s=OUTOFDATE; +// IOStatus s=MODIFIED; + + + if ( ( bbBoxProcessModeIsManual()==false ) || + ( (bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==true) ) ) + { + s = bbUpdateInputs(); + } + + if ( (s != UPTODATE) || bbBoxProcessModeIsAlways() ) { // Displays the window (WxBlackbox) // bbShowWindow(caller); // Actual processing (virtual) - this->bbProcess(); - - - // Update the I/O statuses - bbComputePostProcessStatus(); + if ( ( bbBoxProcessModeIsManual()==false ) || + ( (bbBoxProcessModeIsManual()==true)&&(bbLetRecursiveExecuteManualMode==true) ) + ) + { + this->bbProcess(); + } // Manual analysis + +//EED ups if ((bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==false)) +//EED ups { +//EED ups bbSignalOutputModification(true); +//EED ups } + + + // Update the I/O statuses + bbComputePostProcessStatus(); } else { @@ -809,7 +856,19 @@ namespace bbtk for ( o = bbGetOutputConnectorMap().begin(); o!= bbGetOutputConnectorMap().end(); ++o) { - o->second->SetStatus(new_output_status); + +//EED if ( ( bbBoxProcessModeIsManual()==false ) || +//EED ( (bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==true) ) +//EED ) +//EED { + o->second->SetStatus(new_output_status); +//EED } else { +//EED if (( (bbBoxProcessModeIsManual()==true) && (bbLetRecursiveExecuteManualMode==false) ) ) +//EED { +//EED o->second->SetStatus(UPTODATE); +//EED } +//EED } // Manual analysis + } bbtkBlackBoxDebugMessage("process",4,