]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/QT/MPR3DWidget.h
...
[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 // -------------------------------------------------------------------------
7 class vtkDataSet;
8
9 // -------------------------------------------------------------------------
10 namespace cpExtensions
11 {
12   namespace Visualization
13   {
14     class ImageOutlineActor;
15     class MeshActor;
16     class WindowLevelImageActor;
17   }
18
19   namespace QT
20   {
21     /**
22      */
23     class cpExtensions_EXPORT MPR3DWidget
24       : public cpExtensions::QT::RendererWidget
25     {
26       Q_OBJECT;
27
28     public:
29       typedef MPR3DWidget                      Self;
30       typedef cpExtensions::QT::RendererWidget Superclass;
31
32       typedef cpExtensions::Visualization::MeshActor             TActor;
33       typedef cpExtensions::Visualization::ImageOutlineActor     TOLActor;
34       typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
35
36     public:
37       explicit MPR3DWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 );
38       virtual ~MPR3DWidget( );
39
40       void Clear( );
41       void SetImage( vtkImageData* image, const std::string& name );
42       void Add( vtkDataSet* data, const std::string& name );
43
44       TWLActor* GetImageActor( int o );
45       const TWLActor* GetImageActor( int o ) const;
46
47       void SetSliceNumber( int orientation, int slice );
48       void SetSlicesNumbers( int x, int y, int z );
49
50     protected:
51       std::string m_ImageName;
52
53       vtkSmartPointer< TWLActor > m_WLActors[ 3 ];
54       vtkSmartPointer< TOLActor > m_OLActors[ 3 ];
55       std::vector< TActor* > m_Actors;
56     };
57
58   } // ecapseman
59
60 } // ecapseman
61
62 #endif // __cpExtensions__QT__MPR3DWidget__h__
63
64 // eof - $RCSfile$