1 #include <cpExtensions/Visualization/MPRObjects.h>
4 #include <vtkImageData.h>
5 #include <vtkLookupTable.h>
7 // -------------------------------------------------------------------------
8 cpExtensions::Visualization::MPRObjects*
9 cpExtensions::Visualization::MPRObjects::
12 return( new Self( ) );
15 // -------------------------------------------------------------------------
16 void cpExtensions::Visualization::MPRObjects::
18 vtkRenderWindow* wx, vtkRenderWindow* wy,
19 vtkRenderWindow* wz, vtkRenderWindow* w3D
22 this->m_Windows[ 0 ] = wx;
23 this->m_Windows[ 1 ] = wy;
24 this->m_Windows[ 2 ] = wz;
25 this->m_Windows[ 3 ] = w3D;
27 // Prepare 2D renderers
28 for( int i = 0; i < 4; ++i )
30 if( this->m_Windows[ i ] == NULL )
32 this->m_Renderers[ i ] = NULL;
37 // Create renderer, if render window exists
38 this->m_Renderers[ i ] = vtkSmartPointer< vtkRenderer >::New( );
39 this->m_Renderers[ i ]->SetBackground( 0.1, 0.3, 0.8 );
40 this->m_Windows[ i ]->AddRenderer( this->m_Renderers[ i ] );
45 if( this->m_Windows[ 3 ] != NULL )
46 this->m_Renderers[ 3 ]->SetBackground( 0.2, 0.2, 0.2 );
49 // -------------------------------------------------------------------------
50 void cpExtensions::Visualization::MPRObjects::
51 AddImage( vtkImageData* image )
53 this->m_MPRActors->AddInputData( image );
54 this->m_MPRActors->PushActorsInto(
62 if( this->m_MPRActors->GetNumberOfImages( ) == 1 )
64 this->m_MPRActors->ResetSlices( );
65 this->ResetCameras( );
68 this->RenderAll( 1e-3 );
71 // -------------------------------------------------------------------------
72 void cpExtensions::Visualization::MPRObjects::
75 this->m_MPRActors->PopActorsFrom(
81 this->ResetCameras( );
82 this->RenderAll( 1e-3 );
85 // -------------------------------------------------------------------------
86 void cpExtensions::Visualization::MPRObjects::
87 ResetCamera( const int& id )
90 if( this->m_Windows[ id ] != NULL )
91 this->m_Renderers[ id ]->ResetCamera( );
94 // -------------------------------------------------------------------------
95 void cpExtensions::Visualization::MPRObjects::
98 for( int i = 0; i < 4; ++i )
99 if( this->m_Windows[ i ] != NULL )
100 this->m_Renderers[ i ]->ResetCamera( );
103 // -------------------------------------------------------------------------
104 void cpExtensions::Visualization::MPRObjects::
105 Render( const int& id, const double& t )
109 if( this->m_Windows[ id ] != NULL )
111 if( this->m_Renderers[ id ] != NULL )
112 this->m_Renderers[ id ]->SetAllocatedRenderTime( t );
113 this->m_Windows[ id ]->Render( );
120 // -------------------------------------------------------------------------
121 void cpExtensions::Visualization::MPRObjects::
122 RenderAll( const double& t )
124 for( int i = 0; i < 4; ++i )
126 if( this->m_Windows[ i ] != NULL )
128 if( this->m_Renderers[ i ] != NULL )
129 this->m_Renderers[ i ]->SetAllocatedRenderTime( t );
130 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::
195 MPRActors* cpExtensions::Visualization::MPRObjects::
198 return( this->m_MPRActors );
201 // -------------------------------------------------------------------------
202 const cpExtensions::Visualization::
203 MPRActors* cpExtensions::Visualization::MPRObjects::
204 GetMPRActors( ) const
206 return( this->m_MPRActors );
209 // -------------------------------------------------------------------------
210 double cpExtensions::Visualization::MPRObjects::
213 return( this->m_MPRActors->GetWindow( ) );
216 // -------------------------------------------------------------------------
217 double cpExtensions::Visualization::MPRObjects::
220 return( this->m_MPRActors->GetLevel( ) );
223 // -------------------------------------------------------------------------
224 cpExtensions::Visualization::MPRObjects::
229 this->m_MPRActors = vtkSmartPointer< MPRActors >::New( );
232 // -------------------------------------------------------------------------
233 cpExtensions::Visualization::MPRObjects::