#include #include #include #include // ------------------------------------------------------------------------- cpExtensions::Visualization::MPRObjects* cpExtensions::Visualization::MPRObjects:: New( ) { return( new Self( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetRenderWindows( vtkRenderWindow* x, vtkRenderWindow* y, vtkRenderWindow* z, vtkRenderWindow* w ) { this->m_Windows[ 0 ] = x; this->m_Windows[ 1 ] = y; this->m_Windows[ 2 ] = z; this->m_Windows[ 3 ] = w; // Prepare 2D renderers for( int i = 0; i < 4; ++i ) { // Create renderer, if render window exists if( this->m_Windows[ i ] != NULL ) { this->m_Renderers[ i ] = vtkSmartPointer< vtkRenderer >::New( ); this->m_Renderers[ i ]->SetBackground( 0.3, 0.3, 0.3 ); this->m_Windows[ i ]->AddRenderer( this->m_Renderers[ i ] ); } else this->m_Renderers[ i ] = NULL; } // rof } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetInputConnection( vtkAlgorithmOutput* aout ) { this->m_MPRActors->SetInputConnection( aout ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetInputImage( vtkImageData* data ) { this->m_MPRActors->SetInputImage( data ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPRObjects:: AddBinaryConnection( vtkAlgorithmOutput* aout, const double& r, const double& g, const double& b ) { return( this->m_MPRActors->AddBinaryConnection( aout, r, g, b ) ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPRObjects:: AddBinaryImage( vtkImageData* data, const double& r, const double& g, const double& b ) { return( this->m_MPRActors->AddBinaryImage( data, r, g, b ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Show( ) { this->m_MPRActors->PushActorsInto( this->m_Windows[ 0 ], this->m_Windows[ 1 ], this->m_Windows[ 2 ], this->m_Windows[ 3 ] ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Hide( ) { } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Clear( ) { this->m_MPRActors->Clear( ); } // ------------------------------------------------------------------------- vtkImageData* cpExtensions::Visualization::MPRObjects:: GetInputImage( ) { return( this->m_MPRActors->GetInputImage( ) ); } // ------------------------------------------------------------------------- const vtkImageData* cpExtensions::Visualization::MPRObjects:: GetInputImage( ) const { return( this->m_MPRActors->GetInputImage( ) ); } // ------------------------------------------------------------------------- unsigned int cpExtensions::Visualization::MPRObjects:: GetNumberOfImages( ) const { return( this->m_MPRActors->GetNumberOfImages( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetInterpolate( bool v ) { this->m_MPRActors->SetInterpolate( v ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: InterpolateOn( ) { this->m_MPRActors->InterpolateOn( ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: InterpolateOff( ) { this->m_MPRActors->InterpolateOff( ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetMinWindow( ) const { return( this->m_MPRActors->GetMinWindow( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetMaxWindow( ) const { return( this->m_MPRActors->GetMaxWindow( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetMinLevel( ) const { return( this->m_MPRActors->GetMinLevel( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetMaxLevel( ) const { return( this->m_MPRActors->GetMaxLevel( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetWindow( ) const { return( this->m_MPRActors->GetWindow( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetLevel( ) const { return( this->m_MPRActors->GetLevel( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetWindow( double w ) { this->m_MPRActors->SetWindow( w ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetLevel( double l ) { this->m_MPRActors->SetLevel( l ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetWindowLevel( double w, double l ) { this->m_MPRActors->SetWindowLevel( w, l ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ResetWindowLevel( ) { this->m_MPRActors->ResetWindowLevel( ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPRObjects:: GetSliceNumber( const int& axis ) const { return( this->m_MPRActors->GetSliceNumber( axis ) ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPRObjects:: GetSliceNumberMinValue( const int& axis ) const { return( this->m_MPRActors->GetSliceNumberMinValue( axis ) ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPRObjects:: GetSliceNumberMaxValue( const int& axis ) const { return( this->m_MPRActors->GetSliceNumberMaxValue( axis ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetSliceNumber( const int& axis, const int& slice ) { this->m_MPRActors->SetSliceNumber( axis, slice ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetSlice( const int& axis, double* pos ) { this->m_MPRActors->SetSlice( axis, pos ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Render( const double& t ) { this->Render( 0, t ); this->Render( 1, t ); this->Render( 2, t ); this->Render( 3, t ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Render( const int& axis, const double& t ) { if( axis < 4 ) { if( this->m_Windows[ axis ].GetPointer( ) != NULL ) { if( this->m_Renderers[ axis ].GetPointer( ) != NULL ) this->m_Renderers[ axis ]->SetAllocatedRenderTime( t ); this->m_Windows[ axis ]->Render( ); } // fi } // fi } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ResetCamera( const int& axis ) { if( axis < 4 ) if( this->m_Renderers[ axis ].GetPointer( ) != NULL ) this->m_Renderers[ axis ]->ResetCamera( ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ResetCameras( ) { this->ResetCamera( 0 ); this->ResetCamera( 1 ); this->ResetCamera( 2 ); this->ResetCamera( 3 ); } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPRObjects:: MPRObjects( ) : vtkObject( ) { this->m_MPRActors = vtkSmartPointer< MPRActors >::New( ); } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPRObjects:: ~MPRObjects( ) { } /* // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: SetRenderWindows( vtkRenderWindow* wx, vtkRenderWindow* wy, vtkRenderWindow* wz, vtkRenderWindow* w3D ) { } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: AddImage( vtkImageData* image ) { this->m_MPRActors->AddInputData( image ); this->m_MPRActors->PushActorsInto( this->m_Windows[ 0 ], this->m_Windows[ 1 ], this->m_Windows[ 2 ], this->m_Windows[ 3 ] ); // First rendering if( this->m_MPRActors->GetNumberOfImages( ) == 1 ) { this->m_MPRActors->ResetSlices( ); this->ResetCameras( ); } // fi this->RenderAll( 1e-3 ); } // ------------------------------------------------------------------------- unsigned int cpExtensions::Visualization::MPRObjects:: GetNumberOfImages( ) const { return( this->m_MPRActors->GetNumberOfImages( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ClearAll( ) { this->m_MPRActors->PopActorsFrom( this->m_Windows[ 0 ], this->m_Windows[ 1 ], this->m_Windows[ 2 ], this->m_Windows[ 3 ] ); this->ResetCameras( ); this->RenderAll( 1e-3 ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ResetCamera( const int& id ) { if( id < 4 ) if( this->m_Windows[ id ] != NULL ) this->m_Renderers[ id ]->ResetCamera( ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: ResetCameras( ) { for( int i = 0; i < 4; ++i ) if( this->m_Windows[ i ] != NULL ) this->m_Renderers[ i ]->ResetCamera( ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: Render( const int& id, const double& t ) { if( id < 4 ) { if( this->m_Windows[ id ] != NULL ) { if( this->m_Renderers[ id ] != NULL ) this->m_Renderers[ id ]->SetAllocatedRenderTime( t ); this->m_Windows[ id ]->Render( ); } // fi } // fi } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPRObjects:: RenderAll( const double& t ) { for( int i = 0; i < 4; ++i ) { if( this->m_Windows[ i ] != NULL ) { if( this->m_Renderers[ i ] != NULL ) this->m_Renderers[ i ]->SetAllocatedRenderTime( t ); this->m_Windows[ i ]->Render( ); } // fi } // rof } // ------------------------------------------------------------------------- vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetXRenderer( ) { return( this->m_Renderers[ 0 ] ); } // ------------------------------------------------------------------------- vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetYRenderer( ) { return( this->m_Renderers[ 1 ] ); } // ------------------------------------------------------------------------- vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetZRenderer( ) { return( this->m_Renderers[ 2 ] ); } // ------------------------------------------------------------------------- vtkRenderer* cpExtensions::Visualization::MPRObjects:: Get3DRenderer( ) { return( this->m_Renderers[ 3 ] ); } // ------------------------------------------------------------------------- const vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetXRenderer( ) const { return( this->m_Renderers[ 0 ] ); } // ------------------------------------------------------------------------- const vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetYRenderer( ) const { return( this->m_Renderers[ 1 ] ); } // ------------------------------------------------------------------------- const vtkRenderer* cpExtensions::Visualization::MPRObjects:: GetZRenderer( ) const { return( this->m_Renderers[ 2 ] ); } // ------------------------------------------------------------------------- const vtkRenderer* cpExtensions::Visualization::MPRObjects:: Get3DRenderer( ) const { return( this->m_Renderers[ 3 ] ); } // ------------------------------------------------------------------------- cpExtensions::Visualization:: MPRActors* cpExtensions::Visualization::MPRObjects:: GetMPRActors( ) { return( this->m_MPRActors ); } // ------------------------------------------------------------------------- const cpExtensions::Visualization:: MPRActors* cpExtensions::Visualization::MPRObjects:: GetMPRActors( ) const { return( this->m_MPRActors ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetWindow( ) const { return( this->m_MPRActors->GetWindow( ) ); } // ------------------------------------------------------------------------- double cpExtensions::Visualization::MPRObjects:: GetLevel( ) const { return( this->m_MPRActors->GetLevel( ) ); } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPRObjects:: MPRObjects( ) : vtkObject( ) { // Prepare actors this->m_MPRActors = vtkSmartPointer< MPRActors >::New( ); } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPRObjects:: ~MPRObjects( ) { } */ // eof - $RCSfile$