1 #include <cpExtensions/Visualization/MPRObjects.h>
3 // -------------------------------------------------------------------------
4 cpExtensions::Visualization::MPRObjects*
5 cpExtensions::Visualization::MPRObjects::
11 // -------------------------------------------------------------------------
12 void cpExtensions::Visualization::MPRObjects::
14 vtkRenderWindow* wx, vtkRenderWindow* wy,
15 vtkRenderWindow* wz, vtkRenderWindow* w3D
18 this->m_Windows[ 0 ] = wx;
19 this->m_Windows[ 1 ] = wy;
20 this->m_Windows[ 2 ] = wz;
21 this->m_Windows[ 3 ] = w3D;
24 for( int i = 0; i < 4; ++i )
26 if( this->m_Windows[ i ] == NULL )
28 this->m_Renderers[ i ] = NULL;
34 this->m_Renderers[ i ] = vtkSmartPointer< vtkRenderer >::New( );
35 this->m_Renderers[ i ]->SetBackground( 0.1, 0.3, 0.8 );
36 this->m_Windows[ i ]->AddRenderer( this->m_Renderers[ i ] );
38 // Image styles (just for 2D windows)
41 this->m_Styles[ i ] = vtkSmartPointer< TStyle >::New( );
42 this->m_Styles[ i ]->Configure(
43 this->m_MPRActors->GetSliceActors( i ), this->m_MPRActors
47 SetInteractor( this->m_Windows[ i ]->GetInteractor( ), i );
48 this->m_Styles[ i ]->SetModeToNavigation( );
53 if( this->m_Windows[ 3 ] != NULL )
54 this->m_Renderers[ 3 ]->SetBackground( 0.2, 0.2, 0.2 );
56 for( int i = 0; i < 3; ++i )
58 for( int j = 0; j < 3; ++j )
61 this->m_Windows[ i ] != NULL &&
62 this->m_Windows[ j ] != NULL &&
66 AssociateInteractor( this->m_Windows[ j ]->GetInteractor( ) );
69 if( this->m_Windows[ 3 ] != NULL )
71 AssociateInteractor( this->m_Windows[ 3 ]->GetInteractor( ) );
76 // -------------------------------------------------------------------------
77 void cpExtensions::Visualization::MPRObjects::
78 SetImage( vtkImageData* image )
80 this->m_MPRActors->SetInputData( image );
81 this->m_MPRActors->PushDataInto(
82 this->m_Renderers[ 0 ],
83 this->m_Renderers[ 1 ],
84 this->m_Renderers[ 2 ],
85 this->m_Renderers[ 3 ]
88 // Correct cameras positions
90 vtkCamera* zCam = this->m_Renderers[ 2 ]->GetActiveCamera( );
91 zCam->SetViewUp( 0, -1, 0 );
92 zCam->SetPosition( 0, 0, -1 );
93 zCam->SetFocalPoint( 0, 0, 0 );
97 this->ResetCameras( );
101 // -------------------------------------------------------------------------
102 void cpExtensions::Visualization::MPRObjects::
103 ResetCamera( const int& id )
106 if( this->m_Windows[ id ] != NULL )
107 this->m_Renderers[ id ]->ResetCamera( );
110 // -------------------------------------------------------------------------
111 void cpExtensions::Visualization::MPRObjects::
114 for( int i = 0; i < 4; ++i )
115 if( this->m_Windows[ i ] != NULL )
116 this->m_Renderers[ i ]->ResetCamera( );
119 // -------------------------------------------------------------------------
120 void cpExtensions::Visualization::MPRObjects::
121 Render( const int& id )
124 if( this->m_Windows[ id ] != NULL )
125 this->m_Windows[ id ]->Render( );
128 // -------------------------------------------------------------------------
129 void cpExtensions::Visualization::MPRObjects::
132 for( int i = 0; i < 4; ++i )
133 if( this->m_Windows[ i ] != NULL )
134 this->m_Windows[ i ]->Render( );
137 // -------------------------------------------------------------------------
138 vtkRenderer* cpExtensions::Visualization::MPRObjects::
141 return( this->m_Renderers[ 0 ] );
144 // -------------------------------------------------------------------------
145 vtkRenderer* cpExtensions::Visualization::MPRObjects::
148 return( this->m_Renderers[ 1 ] );
151 // -------------------------------------------------------------------------
152 vtkRenderer* cpExtensions::Visualization::MPRObjects::
155 return( this->m_Renderers[ 2 ] );
158 // -------------------------------------------------------------------------
159 vtkRenderer* cpExtensions::Visualization::MPRObjects::
162 return( this->m_Renderers[ 3 ] );
165 // -------------------------------------------------------------------------
166 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
167 GetXRenderer( ) const
169 return( this->m_Renderers[ 0 ] );
172 // -------------------------------------------------------------------------
173 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
174 GetYRenderer( ) const
176 return( this->m_Renderers[ 1 ] );
179 // -------------------------------------------------------------------------
180 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
181 GetZRenderer( ) const
183 return( this->m_Renderers[ 2 ] );
186 // -------------------------------------------------------------------------
187 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
188 Get3DRenderer( ) const
190 return( this->m_Renderers[ 3 ] );
193 // -------------------------------------------------------------------------
194 cpExtensions::Visualization::MPRObjects::
199 this->m_MPRActors = vtkSmartPointer< TMPRActors >::New( );
202 // -------------------------------------------------------------------------
203 cpExtensions::Visualization::MPRObjects::