]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Visualization/MPRObjects.h
Parameters are now part of the pipeline update process
[cpPlugins.git] / lib / cpExtensions / Visualization / MPRObjects.h
1 #ifndef __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__
2 #define __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__
3
4 #include <cpExtensions/cpExtensions_Export.h>
5 #include <cpExtensions/Visualization/MPRActors.h>
6
7 #include <vtkObject.h>
8 #include <vtkRenderer.h>
9 #include <vtkRenderWindow.h>
10
11 namespace cpExtensions
12 {
13   namespace Visualization
14   {
15     /**
16      */
17     class cpExtensions_EXPORT MPRObjects
18       : public vtkObject
19     {
20     public:
21       typedef MPRObjects Self;
22       typedef cpExtensions::Visualization::MPRActors TMPRActors;
23
24     public:
25       vtkTypeMacro( MPRObjects, vtkObject );
26
27     public:
28       // Creation
29       static MPRObjects* New( );
30
31       void SetRenderWindows(
32         vtkRenderWindow* wx, vtkRenderWindow* wy,
33         vtkRenderWindow* wz, vtkRenderWindow* w3D
34         );
35       void AddImage( vtkImageData* image );
36       void ClearAll( );
37
38       void ResetCamera( const int& id );
39       void ResetCameras( );
40       void Render( const int& id );
41       void RenderAll( );
42       vtkRenderer* GetXRenderer( );
43       vtkRenderer* GetYRenderer( );
44       vtkRenderer* GetZRenderer( );
45       vtkRenderer* Get3DRenderer( );
46       const vtkRenderer* GetXRenderer( ) const;
47       const vtkRenderer* GetYRenderer( ) const;
48       const vtkRenderer* GetZRenderer( ) const;
49       const vtkRenderer* Get3DRenderer( ) const;
50
51       TMPRActors* GetMPRActors( );
52       const TMPRActors* GetMPRActors( ) const;
53
54     protected:
55       MPRObjects( );
56       virtual ~MPRObjects( );
57
58     private:
59       // Purposely not implemented
60       MPRObjects( const Self& );
61       Self& operator=( const Self& );
62
63     protected:
64       // Inputs
65       vtkSmartPointer< vtkRenderWindow > m_Windows[ 4 ];
66
67       // Internal pipelines
68       vtkSmartPointer< TMPRActors >  m_MPRActors;
69       vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
70     };
71
72   } // ecapseman
73
74 } // ecapseman
75
76 #endif //  __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__
77
78 // eof - $RCSfile$