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( );
71 // -------------------------------------------------------------------------
72 void cpExtensions::Visualization::MPRObjects::
75 this->m_MPRActors->PopActorsFrom(
81 this->ResetCameras( );
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 )
108 if( this->m_Windows[ id ] != NULL )
109 this->m_Windows[ id ]->Render( );
112 // -------------------------------------------------------------------------
113 void cpExtensions::Visualization::MPRObjects::
116 for( int i = 0; i < 4; ++i )
117 if( this->m_Windows[ i ] != NULL )
118 this->m_Windows[ i ]->Render( );
121 // -------------------------------------------------------------------------
122 vtkRenderer* cpExtensions::Visualization::MPRObjects::
125 return( this->m_Renderers[ 0 ] );
128 // -------------------------------------------------------------------------
129 vtkRenderer* cpExtensions::Visualization::MPRObjects::
132 return( this->m_Renderers[ 1 ] );
135 // -------------------------------------------------------------------------
136 vtkRenderer* cpExtensions::Visualization::MPRObjects::
139 return( this->m_Renderers[ 2 ] );
142 // -------------------------------------------------------------------------
143 vtkRenderer* cpExtensions::Visualization::MPRObjects::
146 return( this->m_Renderers[ 3 ] );
149 // -------------------------------------------------------------------------
150 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
151 GetXRenderer( ) const
153 return( this->m_Renderers[ 0 ] );
156 // -------------------------------------------------------------------------
157 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
158 GetYRenderer( ) const
160 return( this->m_Renderers[ 1 ] );
163 // -------------------------------------------------------------------------
164 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
165 GetZRenderer( ) const
167 return( this->m_Renderers[ 2 ] );
170 // -------------------------------------------------------------------------
171 const vtkRenderer* cpExtensions::Visualization::MPRObjects::
172 Get3DRenderer( ) const
174 return( this->m_Renderers[ 3 ] );
177 // -------------------------------------------------------------------------
178 cpExtensions::Visualization::
179 MPRActors* cpExtensions::Visualization::MPRObjects::
182 return( this->m_MPRActors );
185 // -------------------------------------------------------------------------
186 const cpExtensions::Visualization::
187 MPRActors* cpExtensions::Visualization::MPRObjects::
188 GetMPRActors( ) const
190 return( this->m_MPRActors );
193 // -------------------------------------------------------------------------
194 double cpExtensions::Visualization::MPRObjects::
197 return( this->m_MPRActors->GetWindow( ) );
200 // -------------------------------------------------------------------------
201 double cpExtensions::Visualization::MPRObjects::
204 return( this->m_MPRActors->GetLevel( ) );
207 // -------------------------------------------------------------------------
208 cpExtensions::Visualization::MPRObjects::
213 this->m_MPRActors = vtkSmartPointer< MPRActors >::New( );
216 // -------------------------------------------------------------------------
217 cpExtensions::Visualization::MPRObjects::