1 #ifndef __FPA__VTK__IMAGE3DOBSERVER__H__
2 #define __FPA__VTK__IMAGE3DOBSERVER__H__
6 #include <itkCommand.h>
10 #include <vtkPolyData.h>
11 #include <vtkPolyDataMapper.h>
12 #include <vtkSmartPointer.h>
20 template< class F, class R >
25 typedef Image3DObserver Self;
26 typedef itk::Command Superclass;
27 typedef itk::SmartPointer< Self > Pointer;
28 typedef itk::SmartPointer< const Self > ConstPointer;
31 typedef R TRenderWindow;
33 typedef itk::Image< long, 3 > TMarks;
37 itkTypeMacro( Image3DObserver, itkCommand );
39 itkGetConstMacro( RenderPercentage, double );
40 itkSetMacro( RenderPercentage, double );
43 void SetRenderWindow( R* rw );
44 void Execute( itk::Object* c, const itk::EventObject& e )
45 { this->Execute( ( const itk::Object* )( c ), e ); }
46 void Execute( const itk::Object* c, const itk::EventObject& e );
50 virtual ~Image3DObserver( )
54 Image3DObserver( const Self& ); // Not impl.
55 void operator=( const Self& ); // Not impl.
59 unsigned long m_Count;
60 unsigned long m_RenderCount;
61 double m_RenderPercentage;
63 TMarks::Pointer m_Marks;
64 vtkSmartPointer< vtkPolyData > m_Data;
65 vtkSmartPointer< vtkPolyDataMapper > m_Mapper;
66 vtkSmartPointer< vtkActor > m_Actor;
73 #include <fpa/VTK/Image3DObserver.hxx>
75 #endif // __FPA__VTK__IMAGE3DOBSERVER__H__