X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FQT%2FSimpleMPRWidget.cxx;fp=lib%2FcpExtensions%2FQT%2FSimpleMPRWidget.cxx;h=0000000000000000000000000000000000000000;hb=2e142df11d6f312a2a2b5097b8da73571ed523e8;hp=9b47dfddbb020ab1cc3aed6fca956c77f505179f;hpb=61b3659afe961ed248f30e26f9ca8f28fcfafddc;p=cpPlugins.git diff --git a/lib/cpExtensions/QT/SimpleMPRWidget.cxx b/lib/cpExtensions/QT/SimpleMPRWidget.cxx deleted file mode 100644 index 9b47dfd..0000000 --- a/lib/cpExtensions/QT/SimpleMPRWidget.cxx +++ /dev/null @@ -1,635 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -// ------------------------------------------------------------------------- -cpExtensions::QT::SimpleMPRWidget:: -SimpleMPRWidget( QWidget* parent, Qt::WindowFlags f ) - : Superclass( parent, f ), - Superclass2( ), - m_UI( new Ui::SimpleMPRWidget ), - m_MainImageName( "" ) -{ - this->m_UI->setupUi( this ); - - // Prepare default configuration - this->m_UI->Q1->hide( ); - this->m_UI->Q2->hide( ); - this->m_UI->Q3->hide( ); - this->m_UI->Q4->hide( ); - this->m_UI->Q1->close( ); - this->m_UI->Q2->close( ); - this->m_UI->Q3->close( ); - this->m_UI->Q4->close( ); - delete this->m_UI->Q1; - delete this->m_UI->Q2; - delete this->m_UI->Q3; - delete this->m_UI->Q4; - this->m_XImage = new ImageWidget( this ); - this->m_YImage = new ImageWidget( this ); - this->m_ZImage = new ImageWidget( this ); - this->m_3DView = new MPR3DWidget( this ); - this->m_UI->Q1 = this->m_XImage; - this->m_UI->Q2 = this->m_YImage; - this->m_UI->Q3 = this->m_ZImage; - this->m_UI->Q4 = this->m_3DView; - this->Configure( 'y', 'x', 'w', 'z' ); - - // Interaction synchronizer - unsigned long ev1 = vtkCommand::UserEvent + 1; - unsigned long ev2 = vtkCommand::UserEvent + 2; - vtkSmartPointer< cpExtensions::QT::MPRInteractionCommand > cmd = - vtkSmartPointer< cpExtensions::QT::MPRInteractionCommand >::New( ); - cmd->AddWidget( this->m_XImage ); - cmd->AddWidget( this->m_YImage ); - cmd->AddWidget( this->m_ZImage ); - cmd->AddWidget( this->m_3DView ); - this->m_XImage->GetStyle( )->AddObserver( ev1, cmd ); - this->m_YImage->GetStyle( )->AddObserver( ev1, cmd ); - this->m_ZImage->GetStyle( )->AddObserver( ev1, cmd ); - this->m_XImage->GetStyle( )->AddObserver( ev2, cmd ); - this->m_YImage->GetStyle( )->AddObserver( ev2, cmd ); - this->m_ZImage->GetStyle( )->AddObserver( ev2, cmd ); - - // Connect slots - this->connect( - this->m_UI->Top, SIGNAL( splitterMoved( int, int ) ), - this, SLOT( _SyncBottom( int, int ) ) - ); - this->connect( - this->m_UI->Bottom, SIGNAL( splitterMoved( int, int ) ), - this, SLOT( _SyncTop( int, int ) ) - ); -} - -// ------------------------------------------------------------------------- -cpExtensions::QT::SimpleMPRWidget:: -~SimpleMPRWidget( ) -{ - delete this->m_UI; -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -Configure( char q1, char q2, char q3, char q4 ) -{ - // Hide all widgets - this->m_UI->Q1->hide( ); - this->m_UI->Q2->hide( ); - this->m_UI->Q3->hide( ); - this->m_UI->Q4->hide( ); - this->m_UI->Q1->close( ); - this->m_UI->Q2->close( ); - this->m_UI->Q3->close( ); - this->m_UI->Q4->close( ); - - // Reorder them - if ( q1 == 'x' ) this->m_UI->Top->addWidget( this->m_XImage ); - else if( q1 == 'y' ) this->m_UI->Top->addWidget( this->m_YImage ); - else if( q1 == 'z' ) this->m_UI->Top->addWidget( this->m_ZImage ); - else if( q1 == 'w' ) this->m_UI->Top->addWidget( this->m_3DView ); - if ( q2 == 'x' ) this->m_UI->Top->addWidget( this->m_XImage ); - else if( q2 == 'y' ) this->m_UI->Top->addWidget( this->m_YImage ); - else if( q2 == 'z' ) this->m_UI->Top->addWidget( this->m_ZImage ); - else if( q2 == 'w' ) this->m_UI->Top->addWidget( this->m_3DView ); - this->m_UI->Top->update( ); - if ( q4 == 'x' ) this->m_UI->Bottom->addWidget( this->m_XImage ); - else if( q4 == 'y' ) this->m_UI->Bottom->addWidget( this->m_YImage ); - else if( q4 == 'z' ) this->m_UI->Bottom->addWidget( this->m_ZImage ); - else if( q4 == 'w' ) this->m_UI->Bottom->addWidget( this->m_3DView ); - if ( q3 == 'x' ) this->m_UI->Bottom->addWidget( this->m_XImage ); - else if( q3 == 'y' ) this->m_UI->Bottom->addWidget( this->m_YImage ); - else if( q3 == 'z' ) this->m_UI->Bottom->addWidget( this->m_ZImage ); - else if( q3 == 'w' ) this->m_UI->Bottom->addWidget( this->m_3DView ); - this->m_UI->Bottom->update( ); - - // Keep track - if ( q1 == 'x' ) this->m_UI->Q1 = this->m_XImage; - else if( q1 == 'y' ) this->m_UI->Q1 = this->m_YImage; - else if( q1 == 'z' ) this->m_UI->Q1 = this->m_ZImage; - else if( q1 == 'w' ) this->m_UI->Q1 = this->m_3DView; - if ( q2 == 'x' ) this->m_UI->Q2 = this->m_XImage; - else if( q2 == 'y' ) this->m_UI->Q2 = this->m_YImage; - else if( q2 == 'z' ) this->m_UI->Q2 = this->m_ZImage; - else if( q2 == 'w' ) this->m_UI->Q2 = this->m_3DView; - if ( q3 == 'x' ) this->m_UI->Q3 = this->m_XImage; - else if( q3 == 'y' ) this->m_UI->Q3 = this->m_YImage; - else if( q3 == 'z' ) this->m_UI->Q3 = this->m_ZImage; - else if( q3 == 'w' ) this->m_UI->Q3 = this->m_3DView; - if ( q4 == 'x' ) this->m_UI->Q4 = this->m_XImage; - else if( q4 == 'y' ) this->m_UI->Q4 = this->m_YImage; - else if( q4 == 'z' ) this->m_UI->Q4 = this->m_ZImage; - else if( q4 == 'w' ) this->m_UI->Q4 = this->m_3DView; - - // Draw all - this->m_UI->Q1->show( ); - this->m_UI->Q2->show( ); - this->m_UI->Q3->show( ); - this->m_UI->Q4->show( ); - dynamic_cast< RendererWidget* >( this->m_UI->Q1 )->SetQuadrant( 1 ); - dynamic_cast< RendererWidget* >( this->m_UI->Q2 )->SetQuadrant( 2 ); - dynamic_cast< RendererWidget* >( this->m_UI->Q3 )->SetQuadrant( 3 ); - dynamic_cast< RendererWidget* >( this->m_UI->Q4 )->SetQuadrant( 4 ); -} - -// ------------------------------------------------------------------------- -bool cpExtensions::QT::SimpleMPRWidget:: -HasImage( ) const -{ - return( this->m_MainImage.GetPointer( ) != NULL ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetImage( vtkImageData* image, const std::string& name ) -{ - if( this->m_MainImageName != "" || image == NULL ) - { - // TODO: Clear visualization - - } // fi - this->m_MainImageName = name; - this->m_MainImage = image; - - if( this->m_MainImage != NULL && this->m_MainImageName != "" ) - { - this->m_XImage->SetImage( this->m_MainImage, name, 0 ); - this->m_YImage->SetImage( this->m_MainImage, name, 1 ); - this->m_ZImage->SetImage( this->m_MainImage, name, 2 ); - this->m_3DView->SetImage( this->m_MainImage, name ); - - } // fi -} - -// ------------------------------------------------------------------------- -bool cpExtensions::QT::SimpleMPRWidget:: -Add( vtkDataSet* data, const std::string& name ) -{ - bool success = true; - auto image = dynamic_cast< vtkImageData* >( data ); - auto pdata = dynamic_cast< vtkPolyData* >( data ); - - if( image != NULL ) - { - if( this->m_MainImageName != "" ) - { - this->m_XImage->Add( image, name ); - this->m_YImage->Add( image, name ); - this->m_ZImage->Add( image, name ); - // TODO: this->m_3DView->Add( image, name ); - } - else - this->SetImage( image, name ); - } - else if( pdata != NULL ) - this->m_3DView->Add( pdata, name ); - else - success = false; - return( success ); -} - -// ------------------------------------------------------------------------- -cpExtensions::QT::SimpleMPRWidget:: -TProps cpExtensions::QT::SimpleMPRWidget:: -GetViewProps( const std::string& name ) const -{ -/* - auto x = this->m_XImage->GetViewProps( name ); - auto y = this->m_YImage->GetViewProps( name ); - auto z = this->m_ZImage->GetViewProps( name ); - auto w = this->m_3DView->GetViewProps( name ); - - TProps props; - if( x != NULL ) props.insert( x ); - if( y != NULL ) props.insert( y ); - if( z != NULL ) props.insert( z ); - if( w != NULL ) props.insert( w ); - return( props ); -*/ - TProps props; - return( props ); -} - -// ------------------------------------------------------------------------- -cpExtensions::QT::SimpleMPRWidget:: -TProps cpExtensions::QT::SimpleMPRWidget:: -GetImageProps( ) const -{ - return( this->GetViewProps( this->m_MainImageName ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetXInteractor( ) -{ - return( this->m_XImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetXInteractor( ) const -{ - return( this->m_XImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetYInteractor( ) -{ - return( this->m_YImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetYInteractor( ) const -{ - return( this->m_YImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetZInteractor( ) -{ - return( this->m_ZImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetZInteractor( ) const -{ - return( this->m_ZImage->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetWInteractor( ) -{ - return( this->m_3DView->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget:: -GetWInteractor( ) const -{ - return( this->m_3DView->GetInteractor( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetXRenderWindow( ) -{ - return( this->m_XImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetXRenderWindow( ) const -{ - return( this->m_XImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetYRenderWindow( ) -{ - return( this->m_YImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetYRenderWindow( ) const -{ - return( this->m_YImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetZRenderWindow( ) -{ - return( this->m_ZImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -const vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetZRenderWindow( ) const -{ - return( this->m_ZImage->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetWRenderWindow( ) -{ - return( this->m_3DView->GetRenderWindow( ) ); -} - - -// ------------------------------------------------------------------------- -const vtkRenderWindow* cpExtensions::QT::SimpleMPRWidget:: -GetWRenderWindow( ) const -{ - return( this->m_3DView->GetRenderWindow( ) ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -ResetCameras( ) -{ - this->m_XImage->ResetCamera( ); - this->m_YImage->ResetCamera( ); - this->m_ZImage->ResetCamera( ); - this->m_3DView->ResetCamera( ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -Render( ) -{ - this->m_XImage->Render( ); - this->m_YImage->Render( ); - this->m_ZImage->Render( ); - this->m_3DView->Render( ); -} - -// ------------------------------------------------------------------------- -std::set< vtkRenderWindowInteractor* > cpExtensions::QT::SimpleMPRWidget:: -GetInteractors( ) const -{ - std::set< vtkRenderWindowInteractor* > ret; - ret.insert( this->m_XImage->GetInteractor( ) ); - ret.insert( this->m_YImage->GetInteractor( ) ); - ret.insert( this->m_ZImage->GetInteractor( ) ); - ret.insert( this->m_3DView->GetInteractor( ) ); - return( ret ); -} - -// ------------------------------------------------------------------------- -std::set< std::string > cpExtensions::QT::SimpleMPRWidget:: -GetActorsNames( ) const -{ - std::set< std::string > names = this->m_XImage->GetActorsNames( ); - std::set< std::string > y = this->m_YImage->GetActorsNames( ); - std::set< std::string > z = this->m_ZImage->GetActorsNames( ); - std::set< std::string > w = this->m_3DView->GetActorsNames( ); - names.insert( y.begin( ), y.end( ) ); - names.insert( z.begin( ), z.end( ) ); - names.insert( w.begin( ), w.end( ) ); - return( names ); -} - -// ------------------------------------------------------------------------- -bool cpExtensions::QT::SimpleMPRWidget:: -IsWindowLevelImageActor( const std::string& name ) const -{ - return( this->m_XImage->IsWindowLevelImageActor( name ) ); -} - -// ------------------------------------------------------------------------- -bool cpExtensions::QT::SimpleMPRWidget:: -IsLUTImageActor( const std::string& name ) const -{ - return( this->m_XImage->IsLUTImageActor( name ) ); -} - -// ------------------------------------------------------------------------- -bool cpExtensions::QT::SimpleMPRWidget:: -Is3DActor( const std::string& name ) const -{ - return( - this->m_XImage->Is3DActor( name ) || this->m_3DView->Is3DActor( name ) - ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -GetScalarRange( const std::string& name, double r[ 2 ] ) const -{ - this->m_XImage->GetScalarRange( name, r ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -GetWindowLevel( const std::string& name, double wl[ 2 ] ) const -{ - this->m_XImage->GetWindowLevel( name, wl ); -} - -// ------------------------------------------------------------------------- -double cpExtensions::QT::SimpleMPRWidget:: -GetWindow( const std::string& name ) const -{ - return( this->m_XImage->GetWindow( name ) ); -} - -// ------------------------------------------------------------------------- -double cpExtensions::QT::SimpleMPRWidget:: -GetLevel( const std::string& name ) const -{ - return( this->m_XImage->GetLevel( name ) ); -} - -// ------------------------------------------------------------------------- -char cpExtensions::QT::SimpleMPRWidget:: -GetImageInterpolation( const std::string& name ) const -{ - return( this->m_XImage->GetImageInterpolation( name ) ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -GetColor( const std::string& name, double& r, double& g, double& b ) const -{ - this->m_XImage->GetColor( name, r, g, b ); -} - -// ------------------------------------------------------------------------- -double cpExtensions::QT::SimpleMPRWidget:: -GetOpacity( const std::string& name ) const -{ - return( this->m_XImage->GetOpacity( name ) ); -} - -// ------------------------------------------------------------------------- -double cpExtensions::QT::SimpleMPRWidget:: -GetPointSize( const std::string& name ) const -{ - return( this->m_XImage->GetPointSize( name ) ); -} - -// ------------------------------------------------------------------------- -double cpExtensions::QT::SimpleMPRWidget:: -GetLineWidth( const std::string& name ) const -{ - return( this->m_XImage->GetLineWidth( name ) ); -} - -// ------------------------------------------------------------------------- -int cpExtensions::QT::SimpleMPRWidget:: -GetRepresentation( const std::string& name ) const -{ - return( this->m_XImage->GetRepresentation( name ) ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetScalarRange( const std::string& name, double r[ 2 ] ) -{ - this->m_XImage->SetScalarRange( name, r ); - this->m_YImage->SetScalarRange( name, r ); - this->m_ZImage->SetScalarRange( name, r ); - this->m_3DView->SetScalarRange( name, r ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetScalarRange( const std::string& name, double min, double max ) -{ - this->m_XImage->SetScalarRange( name, min, max ); - this->m_YImage->SetScalarRange( name, min, max ); - this->m_ZImage->SetScalarRange( name, min, max ); - this->m_3DView->SetScalarRange( name, min, max ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetWindowLevel( const std::string& name, double wl[ 2 ] ) -{ - this->m_XImage->SetWindowLevel( name, wl ); - this->m_YImage->SetWindowLevel( name, wl ); - this->m_ZImage->SetWindowLevel( name, wl ); - this->m_3DView->SetWindowLevel( name, wl ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetWindowLevel( const std::string& name, double w, double l ) -{ - this->m_XImage->SetWindowLevel( name, w, l ); - this->m_YImage->SetWindowLevel( name, w, l ); - this->m_ZImage->SetWindowLevel( name, w, l ); - this->m_3DView->SetWindowLevel( name, w, l ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetWindow( const std::string& name, double w ) -{ - this->m_XImage->SetWindow( name, w ); - this->m_YImage->SetWindow( name, w ); - this->m_ZImage->SetWindow( name, w ); - this->m_3DView->SetWindow( name, w ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetLevel( const std::string& name, double l ) -{ - this->m_XImage->SetLevel( name, l ); - this->m_YImage->SetLevel( name, l ); - this->m_ZImage->SetLevel( name, l ); - this->m_3DView->SetLevel( name, l ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetImageInterpolation( const std::string& name, char i ) -{ - this->m_XImage->SetImageInterpolation( name, i ); - this->m_YImage->SetImageInterpolation( name, i ); - this->m_ZImage->SetImageInterpolation( name, i ); - this->m_3DView->SetImageInterpolation( name, i ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetColor( const std::string& name, double r, double g, double b ) -{ - this->m_XImage->SetColor( name, r, g, b ); - this->m_YImage->SetColor( name, r, g, b ); - this->m_ZImage->SetColor( name, r, g, b ); - this->m_3DView->SetColor( name, r, g, b ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetOpacity( const std::string& name, double o ) -{ - this->m_XImage->SetOpacity( name, o ); - this->m_YImage->SetOpacity( name, o ); - this->m_ZImage->SetOpacity( name, o ); - this->m_3DView->SetOpacity( name, o ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetPointSize( const std::string& name, double s ) -{ - this->m_XImage->SetPointSize( name, s ); - this->m_YImage->SetPointSize( name, s ); - this->m_ZImage->SetPointSize( name, s ); - this->m_3DView->SetPointSize( name, s ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetLineWidth( const std::string& name, double w ) -{ - this->m_XImage->SetLineWidth( name, w ); - this->m_YImage->SetLineWidth( name, w ); - this->m_ZImage->SetLineWidth( name, w ); - this->m_3DView->SetLineWidth( name, w ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetRepresentationToPoints( const std::string& name ) -{ - this->m_XImage->SetRepresentationToPoints( name ); - this->m_YImage->SetRepresentationToPoints( name ); - this->m_ZImage->SetRepresentationToPoints( name ); - this->m_3DView->SetRepresentationToPoints( name ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetRepresentationToSurface( const std::string& name ) -{ - this->m_XImage->SetRepresentationToSurface( name ); - this->m_YImage->SetRepresentationToSurface( name ); - this->m_ZImage->SetRepresentationToSurface( name ); - this->m_3DView->SetRepresentationToSurface( name ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -SetRepresentationToWireframe( const std::string& name ) -{ - this->m_XImage->SetRepresentationToWireframe( name ); - this->m_YImage->SetRepresentationToWireframe( name ); - this->m_ZImage->SetRepresentationToWireframe( name ); - this->m_3DView->SetRepresentationToWireframe( name ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -_SyncBottom( int a, int b ) -{ - this->m_UI->Bottom->setSizes( this->m_UI->Top->sizes( ) ); -} - -// ------------------------------------------------------------------------- -void cpExtensions::QT::SimpleMPRWidget:: -_SyncTop( int a, int b ) -{ - this->m_UI->Top->setSizes( this->m_UI->Bottom->sizes( ) ); -} - -// eof - $RCSfile$