#ifndef __cpExtensions__Visualization__ImageSliceActors__h__ #define __cpExtensions__Visualization__ImageSliceActors__h__ #include #include #include // ------------------------------------------------------------------------- class vtkImageData; // ------------------------------------------------------------------------- namespace cpExtensions { namespace Visualization { class ImageOutlineActor; class LUTImageActor; class WindowLevelImageActor; /** */ class cpExtensions_EXPORT ImageSliceActors : public vtkPropCollection { public: typedef ImageSliceActors Self; public: vtkTypeMacro( ImageSliceActors, vtkPropCollection ); public: static Self* New( ); vtkImageData* GetImage( ); const vtkImageData* GetImage( ) const; WindowLevelImageActor* GetWindowLevelImageActor( ); const WindowLevelImageActor* GetWindowLevelImageActor( ) const; LUTImageActor* GetLUTImageActor( ); const LUTImageActor* GetLUTImageActor( ) const; ImageOutlineActor* GetImageOutlineActor( ); const ImageOutlineActor* GetImageOutlineActor( ) const; int GetOrientation( ) const; int GetSliceNumber( ) const; virtual void SetImage( vtkImageData* image, int orientation ); virtual unsigned int AddLUTImage( vtkImageData* image ); virtual void SetSliceNumber( int slice ); protected: ImageSliceActors( ); virtual ~ImageSliceActors( ); private: // Purposely not implemented ImageSliceActors( const Self& ); Self& operator=( const Self& ); protected: vtkSmartPointer< ImageOutlineActor > m_ImageOutlineActor; vtkSmartPointer< LUTImageActor > m_LUTImageActor; vtkSmartPointer< WindowLevelImageActor > m_WindowLevelImageActor; }; } // ecapseman } // ecapseman #endif // __cpExtensions__Visualization__ImageSliceActors__h__ // eof - $RCSfile$