]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Visualization/ImageSliceActors.h
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / cpExtensions / Visualization / ImageSliceActors.h
1 #ifndef __cpExtensions__Visualization__ImageSliceActors__h__
2 #define __cpExtensions__Visualization__ImageSliceActors__h__
3
4 #include <cpExtensions/Config.h>
5 #include <vtkPropCollection.h>
6 #include <vtkSmartPointer.h>
7
8 // -------------------------------------------------------------------------
9 class vtkImageData;
10
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
13 {
14   namespace Visualization
15   {
16     class ImageOutlineActor;
17     class LUTImageActor;
18     class WindowLevelImageActor;
19
20     /**
21      */
22     class cpExtensions_EXPORT ImageSliceActors
23       : public vtkPropCollection
24     {
25     public:
26       typedef ImageSliceActors Self;
27
28     public:
29       vtkTypeMacro( ImageSliceActors, vtkPropCollection );
30
31     public:
32       static Self* New( );
33
34       vtkImageData* GetImage( );
35       const vtkImageData* GetImage( ) const;
36
37       WindowLevelImageActor* GetWindowLevelImageActor( );
38       const WindowLevelImageActor* GetWindowLevelImageActor( ) const;
39
40       LUTImageActor* GetLUTImageActor( );
41       const LUTImageActor* GetLUTImageActor( ) const;
42
43       ImageOutlineActor* GetImageOutlineActor( );
44       const ImageOutlineActor* GetImageOutlineActor( ) const;
45
46       int GetOrientation( ) const;
47
48       int GetSliceNumber( ) const;
49       virtual void SetImage( vtkImageData* image, int orientation );
50       virtual unsigned int AddLUTImage( vtkImageData* image );
51       virtual void SetSliceNumber( int slice );
52
53     protected:
54       ImageSliceActors( );
55       virtual ~ImageSliceActors( );
56
57     private:
58       // Purposely not implemented
59       ImageSliceActors( const Self& );
60       Self& operator=( const Self& );
61
62     protected:
63       vtkSmartPointer< ImageOutlineActor >     m_ImageOutlineActor;
64       vtkSmartPointer< LUTImageActor >         m_LUTImageActor;
65       vtkSmartPointer< WindowLevelImageActor > m_WindowLevelImageActor;
66     };
67
68   } // ecapseman
69
70 } // ecapseman
71
72 #endif // __cpExtensions__Visualization__ImageSliceActors__h__
73
74 // eof - $RCSfile$