diff --git a/example/RefractiveIndex.cpp b/example/RefractiveIndex.cpp index c788b9c..40d3b37 100644 --- a/example/RefractiveIndex.cpp +++ b/example/RefractiveIndex.cpp @@ -94,9 +94,9 @@ void RefractiveIndex::setup() //TODO: whichever one of these is first - it always runs twice ? - //_analysisVector.push_back(new ShadowScapesAnalysis(V)); - //_analysisVector.push_back(new ShadowScapesAnalysis(H)); - //_analysisVector.push_back(new ShadowScapesAnalysis(D)); + _analysisVector.push_back(new ShadowScapesAnalysis(V)); + _analysisVector.push_back(new ShadowScapesAnalysis(H)); + _analysisVector.push_back(new ShadowScapesAnalysis(D)); _analysisVector.push_back(new RelaxRateAnalysis()); diff --git a/src/ShadowScapesAnalysis.cpp b/src/ShadowScapesAnalysis.cpp index bfd9b97..b59bffa 100755 --- a/src/ShadowScapesAnalysis.cpp +++ b/src/ShadowScapesAnalysis.cpp @@ -79,7 +79,7 @@ void ShadowScapesAnalysis::acquire() save_timer.start(save_callback); - while(!_RUN_DONE) + while(!_RUN_DONE && _state != STATE_STOP) Thread::sleep(3); save_timer.stop(); @@ -93,7 +93,7 @@ void ShadowScapesAnalysis::synthesise() { // _saved_filenames has all the file names of all the saved images - while(!_RUN_DONE) + while(!_RUN_DONE && _state != STATE_STOP) Thread::sleep(3); } @@ -105,6 +105,8 @@ void ShadowScapesAnalysis::displayresults() // cout << "_saved_filenames[i]" << _saved_filenames[i] << endl; + if(_state == STATE_STOP) return; + while(!_image_shown){ Thread::sleep(2); //cout << "!_image_shown" << endl;