1 #ifndef __FPA__VTK__IMAGE2DOBSERVER__H__
2 #define __FPA__VTK__IMAGE2DOBSERVER__H__
5 #include <itkCommand.h>
7 #include <vtkImageActor.h>
8 #include <vtkImageData.h>
9 #include <vtkPolyData.h>
10 #include <vtkSmartPointer.h>
18 template< class F, class R >
23 typedef Image2DObserver Self;
24 typedef itk::Command Superclass;
25 typedef itk::SmartPointer< Self > Pointer;
26 typedef itk::SmartPointer< const Self > ConstPointer;
29 typedef R TRenderWindow;
30 typedef typename TFilter::TInputImage TImage;
31 typedef typename TFilter::TVertex TVertex;
33 typedef std::set< TVertex > TVertices;
37 itkTypeMacro( Image2DObserver, itkCommand );
40 void SetImage( const TImage* img, R* rw );
42 typename TImage::IndexType idx,
49 void Execute( itk::Object* c, const itk::EventObject& e )
50 { this->Execute( ( const itk::Object* )( c ), e ); }
51 void Execute( const itk::Object* c, const itk::EventObject& e );
56 m_RenderWindow( NULL ),
60 this->m_Stencil = TImageData::New( );
61 this->m_StencilActor = TImageActor::New( );
63 virtual ~Image2DObserver( )
67 Image2DObserver( const Self& ); // Not impl.
68 void operator=( const Self& ); // Not impl.
71 typedef vtkSmartPointer< vtkImageActor > TImageActor;
72 typedef vtkSmartPointer< vtkImageData > TImageData;
74 typename TImage::ConstPointer m_Image;
78 TImageActor m_StencilActor;
79 unsigned long m_Number;
80 unsigned long m_Percentage;
87 #include <fpa/VTK/Image2DObserver.hxx>
89 #endif // __FPA__VTK__IMAGE2DOBSERVER__H__