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
15 class WindowLevelImageActor;
18 class ImageSliceActors;
19 class ImageViewerActors;
22 namespace Interaction { class ImageSliceStyle; }
28 class cpExtensions_EXPORT ImageWidget
29 : public RendererWidget
34 typedef ImageWidget Self;
35 typedef RendererWidget Superclass;
37 typedef cpExtensions::Visualization::OutlineSource TOutline;
38 typedef cpExtensions::Visualization::MeshActor TActor;
39 typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
40 typedef cpExtensions::Interaction::ImageSliceStyle TStyle;
43 explicit ImageWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 );
44 virtual ~ImageWidget( );
48 vtkImageData* image, int orientation, const std::string& name
50 virtual void ResetCamera( ) cpExtensions_OVERRIDE;
52 TWLActor* GetImageActor( );
53 const TWLActor* GetImageActor( ) const;
57 vtkImageData* image, int orientation, const std::string& name
59 void Add( vtkDataSet* data, const std::string& name );
61 // TODO: std::vector< vtkProp* > GetActors( const std::string& name ) const;
62 int GetOrientation( ) const;
63 void SetSliceNumber( int slice );
66 void GetScalarRange( double r[ 2 ] ) const;
67 void GetWindowLevel( double wl[ 2 ] ) const;
68 double GetImageOpacity( ) const;
69 unsigned char GetImageInterpolation( ) const;
71 void SetScalarRange( double r[ 2 ] );
72 void SetWindowLevel( double wl[ 2 ] );
73 void SetImageOpacity( double o );
74 void SetImageInterpolation( unsigned char i );
76 vtkProp* GetImageActor( );
77 const vtkProp* GetImageActor( ) const;
81 std::string m_ImageName;
83 vtkSmartPointer< TWLActor > m_WLActor;
84 vtkSmartPointer< TOutline > m_Outline;
85 TActor* m_OutlineActor;
87 vtkSmartPointer< TStyle > m_Style;
91 vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors >
93 vtkSmartPointer< cpExtensions::Interaction::ImageSliceStyle >
95 std::string m_ImageName;
103 #endif // cpExtensions_QT4
105 #endif // __cpExtensions__QT__ImageWidget__h__