]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/QT/MPR3DWidget.h
Raster filter updated. LUT image visualization strange bug :-(
[cpPlugins.git] / lib / cpExtensions / QT / MPR3DWidget.h
1 #ifndef __cpExtensions__QT__MPR3DWidget__h__
2 #define __cpExtensions__QT__MPR3DWidget__h__
3
4 #include <cpExtensions/QT/RendererWidget.h>
5
6 #ifdef cpExtensions_QT4
7
8 // -------------------------------------------------------------------------
9 class vtkDataSet;
10
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
13 {
14   namespace Visualization
15   {
16     class ImageOutlineActor;
17     class MeshActor;
18     class WindowLevelImageActor;
19   }
20
21   namespace QT
22   {
23     /**
24      */
25     class cpExtensions_EXPORT MPR3DWidget
26       : public cpExtensions::QT::RendererWidget
27     {
28       Q_OBJECT;
29
30     public:
31       typedef MPR3DWidget                      Self;
32       typedef cpExtensions::QT::RendererWidget Superclass;
33
34       typedef cpExtensions::Visualization::MeshActor             TActor;
35       typedef cpExtensions::Visualization::ImageOutlineActor     TOLActor;
36       typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
37
38     public:
39       explicit MPR3DWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 );
40       virtual ~MPR3DWidget( );
41
42       void Clear( );
43       void SetImage( vtkImageData* image, const std::string& name );
44       void Add( vtkDataSet* data, const std::string& name );
45
46       TWLActor* GetImageActor( int o );
47       const TWLActor* GetImageActor( int o ) const;
48
49       void SetSliceNumber( int orientation, int slice );
50       void SetSlicesNumbers( int x, int y, int z );
51
52       /* TODO
53          void SetImage( vtkImageData* image, const std::string& name );
54
55
56          void SetScalarRange( double r[ 2 ] );
57          void SetWindowLevel( double wl[ 2 ] );
58          void SetImageOpacity( double o );
59          void SetImageInterpolation( unsigned char i );
60       */
61
62     protected:
63       std::string m_ImageName;
64
65       vtkSmartPointer< TWLActor > m_WLActors[ 3 ];
66       vtkSmartPointer< TOLActor > m_OLActors[ 3 ];
67       std::vector< TActor* > m_Actors;
68
69       /* TODO
70          vtkSmartPointer< cpExtensions::Visualization::MPR3DActors > m_Actors;
71          std::string m_ImageName;
72       */
73     };
74
75   } // ecapseman
76
77 } // ecapseman
78
79 #endif // cpExtensions_QT4
80
81 #endif // __cpExtensions__QT__MPR3DWidget__h__
82
83 // eof - $RCSfile$