1 #ifndef __cpExtensions__Visualization__ImageSliceActors__h__
2 #define __cpExtensions__Visualization__ImageSliceActors__h__
4 #include <cpExtensions/Config.h>
5 #include <vtkPropCollection.h>
6 #include <vtkSmartPointer.h>
8 // -------------------------------------------------------------------------
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
14 namespace Visualization
16 class ImageOutlineActor;
18 class WindowLevelImageActor;
22 class cpExtensions_EXPORT ImageSliceActors
23 : public vtkPropCollection
26 typedef ImageSliceActors Self;
29 vtkTypeMacro( ImageSliceActors, vtkPropCollection );
34 vtkImageData* GetImage( );
35 const vtkImageData* GetImage( ) const;
37 WindowLevelImageActor* GetWindowLevelImageActor( );
38 const WindowLevelImageActor* GetWindowLevelImageActor( ) const;
40 LUTImageActor* GetLUTImageActor( );
41 const LUTImageActor* GetLUTImageActor( ) const;
43 ImageOutlineActor* GetImageOutlineActor( );
44 const ImageOutlineActor* GetImageOutlineActor( ) const;
46 int GetOrientation( ) const;
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 );
55 virtual ~ImageSliceActors( );
58 // Purposely not implemented
59 ImageSliceActors( const Self& );
60 Self& operator=( const Self& );
63 vtkSmartPointer< ImageOutlineActor > m_ImageOutlineActor;
64 vtkSmartPointer< LUTImageActor > m_LUTImageActor;
65 vtkSmartPointer< WindowLevelImageActor > m_WindowLevelImageActor;
72 #endif // __cpExtensions__Visualization__ImageSliceActors__h__