X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FVisualization%2FImageSliceActors.h;h=25f81f6fae52a849e86019fe9a2b2c84e6b1dfcd;hb=d8ebffc6ece697ddf7b358946ef5d9c9cd7191fe;hp=37aeac402cef79579d23b0bbab961fbb209b162c;hpb=506b27e2ea07cb34ba230b02eb6857b20cbf78b1;p=cpPlugins.git diff --git a/lib/cpExtensions/Visualization/ImageSliceActors.h b/lib/cpExtensions/Visualization/ImageSliceActors.h index 37aeac4..25f81f6 100644 --- a/lib/cpExtensions/Visualization/ImageSliceActors.h +++ b/lib/cpExtensions/Visualization/ImageSliceActors.h @@ -1,31 +1,11 @@ -#ifndef __CPEXTENSIONS__VISUALIZATION__IMAGESLICEACTORS__H__ -#define __CPEXTENSIONS__VISUALIZATION__IMAGESLICEACTORS__H__ +#ifndef __cpExtensions__Visualization__ImageSliceActors__h__ +#define __cpExtensions__Visualization__ImageSliceActors__h__ -#include - -#include -#include -#include -#include -#include +#include #include #include -#include - -// ------------------------------------------------------------------------- -#define cpPlugins_ImageSliceActors( name, type ) \ - inline type* Get##name##Actor( ) const \ - { \ - return( \ - dynamic_cast< type* >( \ - const_cast< Self* >( this )-> \ - GetItemAsObject( this->name##ActorIndex ) \ - ) \ - ); \ - } // ------------------------------------------------------------------------- -class vtkAlgorithmOutput; class vtkImageData; // ------------------------------------------------------------------------- @@ -33,6 +13,10 @@ namespace cpExtensions { namespace Visualization { + class ImageOutlineActor; + class LUTImageActor; + class WindowLevelImageActor; + /** */ class cpExtensions_EXPORT ImageSliceActors @@ -44,26 +28,27 @@ namespace cpExtensions public: vtkTypeMacro( ImageSliceActors, vtkPropCollection ); - cpPlugins_ImageSliceActors( Image, vtkImageActor ); - cpPlugins_ImageSliceActors( Text, vtkTextActor ); - cpPlugins_ImageSliceActors( Plane, vtkActor ); - public: - // Creation - static ImageSliceActors* New( ); + static Self* New( ); + + vtkImageData* GetImage( ); + const vtkImageData* GetImage( ) const; + + WindowLevelImageActor* GetWindowLevelImageActor( ); + const WindowLevelImageActor* GetWindowLevelImageActor( ) const; + + LUTImageActor* GetLUTImageActor( ); + const LUTImageActor* GetLUTImageActor( ) const; - void SetInputConnection( vtkAlgorithmOutput* aout, int axis ); - void SetInputData( vtkImageData* data, int axis ); + ImageOutlineActor* GetImageOutlineActor( ); + const ImageOutlineActor* GetImageOutlineActor( ) const; - double* GetDisplayBounds( ) const; - void GetDisplayBounds( double bounds[ 6 ] ) const; + int GetOrientation( ) const; - int GetAxis( ) const; int GetSliceNumber( ) const; - int GetSliceNumberMinValue( ) const; - int GetSliceNumberMaxValue( ) const; - void SetSliceNumber( const int& slice ); - void UpdateText( ); + virtual void SetImage( vtkImageData* image, int orientation ); + virtual unsigned int AddLUTImage( vtkImageData* image ); + virtual void SetSliceNumber( int slice ); protected: ImageSliceActors( ); @@ -75,24 +60,15 @@ namespace cpExtensions Self& operator=( const Self& ); protected: - vtkSmartPointer< vtkImageSliceMapper > SliceMapper; - vtkSmartPointer< vtkPolyData > PlaneSource; - vtkSmartPointer< vtkPolyDataMapper > PlaneMapper; - char TextBuffer[ 1024 ]; - - vtkSmartPointer< vtkImageActor > ImageActor; - vtkSmartPointer< vtkTextActor > TextActor; - vtkSmartPointer< vtkActor > PlaneActor; - - unsigned int ImageActorIndex; - unsigned int TextActorIndex; - unsigned int PlaneActorIndex; + vtkSmartPointer< ImageOutlineActor > m_ImageOutlineActor; + vtkSmartPointer< LUTImageActor > m_LUTImageActor; + vtkSmartPointer< WindowLevelImageActor > m_WindowLevelImageActor; }; } // ecapseman } // ecapseman -#endif // __CPEXTENSIONS__VISUALIZATION__IMAGESLICEACTORS__H__ +#endif // __cpExtensions__Visualization__ImageSliceActors__h__ // eof - $RCSfile$