1 #ifndef __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__
2 #define __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__
4 #include <cpExtensions/cpExtensions_Export.h>
5 #include <cpExtensions/Visualization/MPRActors.h>
8 #include <vtkRenderer.h>
9 #include <vtkRenderWindow.h>
11 namespace cpExtensions
13 namespace Visualization
17 class cpExtensions_EXPORT MPRObjects
21 typedef MPRObjects Self;
22 typedef cpExtensions::Visualization::MPRActors TMPRActors;
24 typedef TMPRActors::TCursorCommand TCursorCommand;
25 typedef TMPRActors::TMouseCommand TMouseCommand;
26 typedef TMPRActors::TMouseWheelCommand TMouseWheelCommand;
27 typedef TMPRActors::TKeyCommand TKeyCommand;
30 vtkTypeMacro( MPRObjects, vtkObject );
34 static MPRObjects* New( );
36 void AddCursorCommand( TCursorCommand command, void* data )
38 this->m_MPRActors->AddCursorCommand( command, data );
41 void SetRenderWindows(
42 vtkRenderWindow* wx, vtkRenderWindow* wy,
43 vtkRenderWindow* wz, vtkRenderWindow* w3D
45 void AddImage( vtkImageData* image );
48 void ResetCamera( const int& id );
50 void Render( const int& id );
52 vtkRenderer* GetXRenderer( );
53 vtkRenderer* GetYRenderer( );
54 vtkRenderer* GetZRenderer( );
55 vtkRenderer* Get3DRenderer( );
56 const vtkRenderer* GetXRenderer( ) const;
57 const vtkRenderer* GetYRenderer( ) const;
58 const vtkRenderer* GetZRenderer( ) const;
59 const vtkRenderer* Get3DRenderer( ) const;
61 TMPRActors* GetMPRActors( );
62 const TMPRActors* GetMPRActors( ) const;
64 double GetWindow( ) const
66 return( this->m_MPRActors->GetWindow( ) );
68 double GetLevel( ) const
70 return( this->m_MPRActors->GetLevel( ) );
75 virtual ~MPRObjects( );
78 // Purposely not implemented
79 MPRObjects( const Self& );
80 Self& operator=( const Self& );
84 vtkSmartPointer< vtkRenderWindow > m_Windows[ 4 ];
87 vtkSmartPointer< TMPRActors > m_MPRActors;
88 vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
90 std::vector< TCursorCommand > CursorCommands;
91 std::vector< TMouseCommand > MouseCommands;
92 std::vector< TMouseCommand > MouseClickCommands;
93 std::vector< TMouseCommand > MouseDoubleClickCommands;
94 std::vector< TMouseWheelCommand > MouseWheelCommands;
95 std::vector< TKeyCommand > KeyCommands;
102 #endif // __CPEXTENSIONS__VISUALIZATION__MPROBJECTS__H__