]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h
152ea99ed6d41a7bca82691e232c99907bacac7b
[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 SetImage( vtkImageData* image );
38
39         void ResetCamera( const int& id );
40         void ResetCameras( );
41         void Render( const int& id );
42         void RenderAll( );
43
44       protected:
45         // Inputs
46         vtkRenderWindow* m_Windows[ 4 ];
47
48         // Internal pipelines
49         vtkSmartPointer< TMPRActors >  m_MPRActors;
50         vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
51         vtkSmartPointer< TStyle >      m_Styles[ 3 ];
52       };
53
54     } // ecapseman
55
56   } // ecapseman
57
58 } // ecapseman
59
60 #endif // __CPPLUGINS__EXTENSIONS__VISUALIZATION__MPRWITHDIFFERENTWINDOWS__H__
61
62
63 // eof - $RCSfile$