]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/Image/VisualDebugger2D.h
21346d90458698fee6894c195450a296daf2dca9
[FrontAlgorithms.git] / lib / fpa / Image / VisualDebugger2D.h
1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5
6 #ifndef __fpa__Image__VisualDebugger2D__h__
7 #define __fpa__Image__VisualDebugger2D__h__
8
9 #include <fpa/Image/VisualDebugger.h>
10 #ifdef USE_ivq
11 #include <vtkSmartPointer.h>
12 #include <ivq/VTK/ImageActor.h>
13 #endif // USE_ivq
14
15 namespace fpa
16 {
17   namespace Image
18   {
19     /**
20      */
21     template< class _TFilter >
22     class VisualDebugger2D
23       : public fpa::Image::VisualDebugger< _TFilter >
24     {
25     public:
26       typedef VisualDebugger2D                       Self;
27       typedef fpa::Image::VisualDebugger< _TFilter > Superclass;
28       typedef itk::SmartPointer< Self >              Pointer;
29       typedef itk::SmartPointer< const Self >        ConstPointer;
30
31       typedef typename Superclass::TFilter TFilter;
32       typedef typename Superclass::TImage  TImage;
33       typedef typename Superclass::TLabel  TLabel;
34       typedef typename Superclass::TLabels TLabels;
35 #ifdef USE_ivq
36       typedef typename Superclass::TVTKLabels TVTKLabels;
37       typedef ivq::VTK::ImageActor TImageActor;
38 #endif // USE_ivq
39
40     public:
41       itkNewMacro( Self );
42       itkTypeMacro( fpa::Image::VisualDebugger2D, fpa::Image::VisualDebugger );
43
44     public:
45       virtual void Render( ) override;
46       virtual void StartVisualization( ) override;
47       virtual void EndVisualization( ) override;
48
49     protected:
50       VisualDebugger2D( );
51       virtual ~VisualDebugger2D( );
52
53     private:
54       // Purposely not implemented.
55       VisualDebugger2D( const Self& other );
56       Self& operator=( const Self& other );
57
58     protected:
59 #ifdef USE_ivq
60       vtkSmartPointer< TImageActor > m_Actor;
61       unsigned long m_NumberOfPixels;
62       unsigned long m_RenderCount;
63 #endif // USE_ivq
64     };
65
66   } // ecapseman
67
68 } // ecapseman
69
70 #ifndef ITK_MANUAL_INSTANTIATION
71 #  include <fpa/Image/VisualDebugger2D.hxx>
72 #endif // ITK_MANUAL_INSTANTIATION
73
74 #endif // __fpa__Image__VisualDebugger2D__h__
75
76 // eof - $RCSfile$