]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h
6ac17e80112b9c8cda8bdb04512b4a207aaacde0
[cpPlugins.git] / lib / cpPlugins / Extensions / Visualization / MPRWithDifferentWindows.h
1 #ifndef __CPPLUGINS__EXTENSIONS__VISUALIZATION__MPRWITHDIFFERENTWINDOWS__H__
2 #define __CPPLUGINS__EXTENSIONS__VISUALIZATION__MPRWITHDIFFERENTWINDOWS__H__
3
4 #include <cpPlugins/Extensions/Visualization/MPRActors.h>
5 #include <cpPlugins/Extensions/Visualization/ImageInteractorStyle.h>
6
7 #include <vtkImageData.h>
8 #include <vtkRenderer.h>
9 #include <vtkRenderWindow.h>
10 #include <vtkSmartPointer.h>
11
12 namespace cpPlugins
13 {
14   namespace Extensions
15   {
16     namespace Visualization
17     {
18       /**
19        */
20       class MPRWithDifferentWindows
21       {
22       public:
23         typedef cpPlugins::Extensions::Visualization::
24         MPRActors TMPRActors;
25         typedef cpPlugins::Extensions::Visualization::
26         ImageInteractorStyle TStyle;
27
28       public:
29         MPRWithDifferentWindows(
30           vtkRenderWindow* xWin = NULL,
31           vtkRenderWindow* yWin = NULL,
32           vtkRenderWindow* zWin = NULL,
33           vtkRenderWindow* auxWin = NULL
34           );
35         virtual ~MPRWithDifferentWindows( );
36
37         void AddDoubleClickObserver( vtkCommand* observer );
38         void RemoveDoubleClickObserver( vtkCommand* observer );
39         void RemoveDoubleClickObservers( );
40
41         void SetImage( vtkImageData* image );
42         void SetSegmentation( vtkImageData* image );
43
44         void ResetCamera( const int& id );
45         void ResetCameras( );
46         void Render( const int& id );
47         void RenderAll( );
48
49       protected:
50         // Inputs
51         vtkRenderWindow* m_Windows[ 4 ];
52
53         // Internal pipelines
54         vtkSmartPointer< TMPRActors >  m_MPRActors;
55         vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
56         vtkSmartPointer< TStyle >      m_Styles[ 3 ];
57       };
58
59     } // ecapseman
60
61   } // ecapseman
62
63 } // ecapseman
64
65 #endif // __CPPLUGINS__EXTENSIONS__VISUALIZATION__MPRWITHDIFFERENTWINDOWS__H__
66
67
68 // eof - $RCSfile$