X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FVTK%2FImage2DObserver.hxx;h=61ea5a9e2cf571d11c905cff8cee76de40c8c1cb;hb=fa661a47e8fc3263a13202949abed47877b44857;hp=fd6247ffb6be1d7d881b1fc5b5da048ed67eb2ae;hpb=6fcc9fc78c44fa789bf092e2897cb6b391259b42;p=FrontAlgorithms.git diff --git a/lib/fpa/VTK/Image2DObserver.hxx b/lib/fpa/VTK/Image2DObserver.hxx index fd6247f..61ea5a9 100644 --- a/lib/fpa/VTK/Image2DObserver.hxx +++ b/lib/fpa/VTK/Image2DObserver.hxx @@ -62,6 +62,10 @@ Execute( const itk::Object* c, const itk::EventObject& e ) typedef typename F::TFrontEvent _TFrontEvent; typedef typename F::TFreezeEvent _TFreezeEvent; + typedef typename F::TStartBacktrackingEvent _TStartBacktrackingEvent; + typedef typename F::TEndBacktrackingEvent _TEndBacktrackingEvent; + typedef typename F::TBacktrackingEvent _TBacktrackingEvent; + static unsigned char Colors[][4] = { { 0, 0, 127, 127 }, @@ -87,7 +91,9 @@ Execute( const itk::Object* c, const itk::EventObject& e ) return; const _TStartEvent* startEvt = dynamic_cast< const _TStartEvent* >( &e ); - if( startEvt != NULL ) + const _TStartBacktrackingEvent* startBackEvt = + dynamic_cast< const _TStartBacktrackingEvent* >( &e ); + if( startEvt != NULL || startBackEvt != NULL ) { const typename F::TInputImage* img = filter->GetInput( ); unsigned int minD = F::TInputImage::ImageDimension; @@ -171,6 +177,29 @@ Execute( const itk::Object* c, const itk::EventObject& e ) return; } // fi + + const _TBacktrackingEvent* backEvt = + dynamic_cast< const _TBacktrackingEvent* >( &e ); + const _TEndBacktrackingEvent* endBackEvt = + dynamic_cast< const _TEndBacktrackingEvent* >( &e ); + if( backEvt != NULL ) + { + this->SetPixel( backEvt->Vertex, 0, 0, 255, 255 ); + return; + + } // fi + + if( endBackEvt != NULL ) + { + this->m_RenderWindow->Render( ); + /* TODO: DEBUG + std::cout << "Press enter: " << std::ends; + int aux; + std::cin >> aux; + */ + return; + + } // fi } // -------------------------------------------------------------------------