]> Creatis software - FrontAlgorithms.git/blob - lib/fpa/VTK/ImageMPR.h
First commit
[FrontAlgorithms.git] / lib / fpa / VTK / ImageMPR.h
1 #ifndef __FPA__VTK__IMAGEMPR__H__
2 #define __FPA__VTK__IMAGEMPR__H__
3
4 #include <fpa/FrontAlgorithms_Export.h>
5
6 #include <vtkActor.h>
7 #include <vtkCellPicker.h>
8 #include <vtkImageData.h>
9 #include <vtkImagePlaneWidget.h>
10 #include <vtkOutlineSource.h>
11 #include <vtkPolyDataMapper.h>
12 #include <vtkProperty.h>
13 #include <vtkRenderer.h>
14 #include <vtkRendererCollection.h>
15 #include <vtkRenderWindow.h>
16 #include <vtkRenderWindowInteractor.h>
17 #include <vtkSmartPointer.h>
18 #include <vtkSphereSource.h>
19
20 namespace fpa
21 {
22   namespace VTK
23   {
24     /**
25      */
26     class FrontAlgorithms_EXPORT ImageMPR
27     {
28     public:
29       ImageMPR( );
30       virtual ~ImageMPR( );
31
32       void SetImage( vtkImageData* image );
33       void SetBackground( double r, double g, double b );
34       void SetSize( unsigned int w, unsigned int h );
35
36       void AddPolyData( vtkPolyData* pd, double r, double g, double b );
37
38       vtkRenderWindow* GetWindow( ) const;
39       vtkRenderer* GetRenderer( ) const;
40
41       void Start( );
42
43     protected:
44       vtkSmartPointer< vtkImageData > m_Image;
45       vtkSmartPointer< vtkOutlineSource > m_Outline;
46       vtkSmartPointer< vtkPolyDataMapper > m_OutlineMapper;
47       vtkSmartPointer< vtkActor > m_OutlineActor;
48       vtkSmartPointer< vtkCellPicker > m_Picker;
49       vtkSmartPointer< vtkImagePlaneWidget > m_WidgetX;
50       vtkSmartPointer< vtkImagePlaneWidget > m_WidgetY;
51       vtkSmartPointer< vtkImagePlaneWidget > m_WidgetZ;
52       vtkSmartPointer< vtkRenderer > m_Renderer;
53       vtkSmartPointer< vtkRenderWindow > m_Window;
54       vtkSmartPointer< vtkRenderWindowInteractor > m_Interactor;
55
56       std::vector< vtkSmartPointer< vtkPolyData > > m_PolyDatas;
57       std::vector< vtkSmartPointer< vtkPolyDataMapper > > m_Mappers;
58       std::vector< vtkSmartPointer< vtkActor > > m_Actors;
59     };
60
61   } // ecapseman
62
63 } // ecapseman
64
65 #endif // __FPA__VTK__IMAGEMPR__H__
66
67 // eof - $RCSfile$