#include #include #include #include #include #include #include // ------------------------------------------------------------------------- cpExtensions::Visualization::MPR3DActors:: Self* cpExtensions::Visualization::MPR3DActors:: New( ) { return( new Self( ) ); } // ------------------------------------------------------------------------- vtkImageData* cpExtensions::Visualization::MPR3DActors:: GetImage( ) { return( this->m_Slices[ 0 ]->GetImage( ) ); } // ------------------------------------------------------------------------- const vtkImageData* cpExtensions::Visualization::MPR3DActors:: GetImage( ) const { return( this->m_Slices[ 0 ]->GetImage( ) ); } // ------------------------------------------------------------------------- cpExtensions::Visualization:: WindowLevelImageActor* cpExtensions::Visualization::MPR3DActors:: GetWindowLevelImageActor( int o ) { return( this->m_Slices[ o % 3 ]->GetWindowLevelImageActor( ) ); } // ------------------------------------------------------------------------- const cpExtensions::Visualization:: WindowLevelImageActor* cpExtensions::Visualization::MPR3DActors:: GetWindowLevelImageActor( int o ) const { return( this->m_Slices[ o % 3 ]->GetWindowLevelImageActor( ) ); } // ------------------------------------------------------------------------- cpExtensions::Visualization:: LUTImageActor* cpExtensions::Visualization::MPR3DActors:: GetLUTImageActor( int o ) { return( this->m_Slices[ o % 3 ]->GetLUTImageActor( ) ); } // ------------------------------------------------------------------------- const cpExtensions::Visualization:: LUTImageActor* cpExtensions::Visualization::MPR3DActors:: GetLUTImageActor( int o ) const { return( this->m_Slices[ o % 3 ]->GetLUTImageActor( ) ); } // ------------------------------------------------------------------------- cpExtensions::Visualization:: ImageOutlineActor* cpExtensions::Visualization::MPR3DActors:: GetImageOutlineActor( int o ) { return( this->m_Slices[ o % 3 ]->GetImageOutlineActor( ) ); } // ------------------------------------------------------------------------- const cpExtensions::Visualization:: ImageOutlineActor* cpExtensions::Visualization::MPR3DActors:: GetImageOutlineActor( int o ) const { return( this->m_Slices[ o % 3 ]->GetImageOutlineActor( ) ); } // ------------------------------------------------------------------------- int cpExtensions::Visualization::MPR3DActors:: GetSliceNumber( int o ) const { return( this->m_Slices[ o % 3 ]->GetSliceNumber( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetImage( vtkImageData* image ) { this->RemoveAllItems( ); for( int i = 0; i < 3; ++i ) { this->m_Slices[ i ]->SetImage( image, i ); this->m_Slices[ i ]->InitTraversal( ); while( vtkProp* p = this->m_Slices[ i ]->GetNextProp( ) ) this->AddItem( p ); } // rof } // ------------------------------------------------------------------------- unsigned int cpExtensions::Visualization::MPR3DActors:: AddLUTImage( vtkImageData* image ) { unsigned int res = 0; for( int i = 0; i < 3; ++i ) { res = this->m_Slices[ i ]->AddLUTImage( image ); this->AddItem( this->m_Slices[ i ]->GetLUTImageActor( ) ); } // rof return( res ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetSliceNumber( int o, int s ) { this->m_Slices[ o % 3 ]->SetSliceNumber( s ); } // ------------------------------------------------------------------------- vtkActor* cpExtensions::Visualization::MPR3DActors:: AddMesh( vtkPolyData* mesh ) { TMeshActor actor; actor.SetMesh( mesh ); this->m_Meshes[ mesh ] = actor; this->AddItem( actor.GetActor( ) ); return( actor.GetActor( ) ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetScalarRange( double r[ 2 ] ) { this->m_Slices[ 0 ]->GetWindowLevelImageActor( )->SetRange( r ); this->m_Slices[ 1 ]->GetWindowLevelImageActor( )->SetRange( r ); this->m_Slices[ 2 ]->GetWindowLevelImageActor( )->SetRange( r ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetWindowLevel( double wl[ 2 ] ) { this->m_Slices[ 0 ]->GetWindowLevelImageActor( )->SetWindowLevel( wl ); this->m_Slices[ 1 ]->GetWindowLevelImageActor( )->SetWindowLevel( wl ); this->m_Slices[ 2 ]->GetWindowLevelImageActor( )->SetWindowLevel( wl ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetImageOpacity( double o ) { this->m_Slices[ 0 ]->GetWindowLevelImageActor( )-> GetProperty( )->SetOpacity( o ); this->m_Slices[ 1 ]->GetWindowLevelImageActor( )-> GetProperty( )->SetOpacity( o ); this->m_Slices[ 2 ]->GetWindowLevelImageActor( )-> GetProperty( )->SetOpacity( o ); } // ------------------------------------------------------------------------- void cpExtensions::Visualization::MPR3DActors:: SetImageInterpolation( unsigned char i ) { // TODO } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPR3DActors:: MPR3DActors( ) : Superclass( ) { this->m_Slices[ 0 ] = vtkSmartPointer< ImageSliceActors >::New( ); this->m_Slices[ 1 ] = vtkSmartPointer< ImageSliceActors >::New( ); this->m_Slices[ 2 ] = vtkSmartPointer< ImageSliceActors >::New( ); } // ------------------------------------------------------------------------- cpExtensions::Visualization::MPR3DActors:: ~MPR3DActors( ) { } // eof - $RCSfile$