1 #ifndef __cpExtensions__QT__ImageWidget__h__
2 #define __cpExtensions__QT__ImageWidget__h__
4 #include <cpExtensions/QT/RendererWidget.h>
6 #ifdef cpExtensions_QT4
8 // TODO: class vtkDataSet;
10 namespace cpExtensions
12 namespace Visualization
14 class ImageOutlineActor;
15 class WindowLevelImageActor;
17 class ImageSliceActors;
18 class ImageViewerActors;
21 namespace Interaction { class ImageSliceStyle; }
27 class cpExtensions_EXPORT ImageWidget
28 : public RendererWidget
33 typedef ImageWidget Self;
34 typedef RendererWidget Superclass;
36 typedef cpExtensions::Visualization::ImageOutlineActor TOLActor;
37 typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
38 typedef cpExtensions::Interaction::ImageSliceStyle TStyle;
41 explicit ImageWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 );
42 virtual ~ImageWidget( );
46 vtkImageData* image, int orientation, const std::string& name
51 vtkImageData* image, int orientation, const std::string& name
53 void Add( vtkDataSet* data, const std::string& name );
55 // TODO: std::vector< vtkProp* > GetActors( const std::string& name ) const;
56 int GetOrientation( ) const;
57 void SetSliceNumber( int slice );
59 virtual void ResetCamera( ) cpExtensions_OVERRIDE;
61 void GetScalarRange( double r[ 2 ] ) const;
62 void GetWindowLevel( double wl[ 2 ] ) const;
63 double GetImageOpacity( ) const;
64 unsigned char GetImageInterpolation( ) const;
66 void SetScalarRange( double r[ 2 ] );
67 void SetWindowLevel( double wl[ 2 ] );
68 void SetImageOpacity( double o );
69 void SetImageInterpolation( unsigned char i );
71 vtkProp* GetImageActor( );
72 const vtkProp* GetImageActor( ) const;
76 std::string m_ImageName;
78 vtkSmartPointer< TWLActor > m_WLActor;
79 vtkSmartPointer< TOLActor > m_OLActor;
81 vtkSmartPointer< TStyle > m_Style;
85 vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors >
87 vtkSmartPointer< cpExtensions::Interaction::ImageSliceStyle >
89 std::string m_ImageName;
97 #endif // cpExtensions_QT4
99 #endif // __cpExtensions__QT__ImageWidget__h__