]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Visualization/ImageOutlineActor.h
yet another refactoring
[cpPlugins.git] / lib / cpExtensions / Visualization / ImageOutlineActor.h
1 #ifndef __cpExtensions__Visualization__ImageOutlineActor__h__
2 #define __cpExtensions__Visualization__ImageOutlineActor__h__
3
4 #include <cpExtensions/Config.h>
5 #include <vtkOpenGLActor.h>
6 #include <vtkSmartPointer.h>
7
8 // -------------------------------------------------------------------------
9 class vtkPolyDataMapper;
10
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
13 {
14   namespace Visualization
15   {
16     class ImageOutlineSource;
17
18     /**
19      */
20     class cpExtensions_EXPORT ImageOutlineActor
21       : public vtkOpenGLActor
22     {
23     public:
24       typedef ImageOutlineActor Self;
25
26     public:
27       vtkTypeMacro( ImageOutlineActor, vtkOpenGLActor );
28
29     public:
30       static Self* New( );
31
32       virtual void Modified( ) cpExtensions_OVERRIDE;
33
34       void SetBounds( int orientation, double step, double* bounds );
35
36     protected:
37       ImageOutlineActor( );
38       virtual ~ImageOutlineActor( );
39
40     private:
41       // Purposely not implemented
42       ImageOutlineActor( const Self& );
43       Self& operator=( const Self& );
44
45     public:
46       static double Colors[ 3 ][ 3 ];
47
48     protected:
49       vtkSmartPointer< ImageOutlineSource > m_Outline;
50       vtkSmartPointer< vtkPolyDataMapper >  m_Mapper;
51     };
52
53   } // ecapseman
54
55 } // ecapseman
56
57 #endif // __cpExtensions__Visualization__ImageOutlineActor__h__
58
59 // eof - $RCSfile$