#ifdef cpExtensions_QT4
-#include <cpExtensions/ui_SimpleMPRWidget.h>
-#include <vtkRenderWindow.h>
+#include <cpExtensions/QT/ui_SimpleMPRWidget.h>
+#include <cpExtensions/QT/ImageWidget.h>
+#include <cpExtensions/QT/MPR3DWidget.h>
+#include <cpExtensions/QT/MPRInteractionCommand.h>
+#include <cpExtensions/QT/ConfigurationChooser.h>
+
+#include <vtkImageData.h>
+#include <vtkPolyData.h>
+#include <vtkProp.h>
+#include <vtkPropCollection.h>
// -------------------------------------------------------------------------
cpExtensions::QT::SimpleMPRWidget::
-SimpleMPRWidget( QWidget* parent )
- : QWidget( parent ),
- m_UI( new Ui::SimpleMPRWidget )
+SimpleMPRWidget( QWidget* parent, Qt::WindowFlags f )
+ : Superclass( parent, f ),
+ Superclass2( ),
+ m_UI( new Ui::SimpleMPRWidget ),
+ m_MainImageName( "" )
{
this->m_UI->setupUi( this );
- // Configure VTK widgets
- this->m_VTK[ 0 ] = this->m_UI->VTK01;
- this->m_VTK[ 1 ] = this->m_UI->VTK00;
- this->m_VTK[ 2 ] = this->m_UI->VTK10;
- this->m_VTK[ 3 ] = this->m_UI->VTK11;
-
- for( unsigned int i = 0; i < 4; ++i )
- {
- this->m_Renderers[ i ] = vtkSmartPointer< vtkRenderer >::New( );
- this->m_VTK[ i ]->GetRenderWindow( )->
- AddRenderer( this->m_Renderers[ i ] );
+ // 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' );
- } // rof
+ // 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
- QObject::connect(
- this->m_UI->TopSplitter, SIGNAL( splitterMoved( int, int ) ),
+ this->connect(
+ this->m_UI->Top, SIGNAL( splitterMoved( int, int ) ),
this, SLOT( _SyncBottom( int, int ) )
);
- QObject::connect(
- this->m_UI->BottomSplitter, SIGNAL( splitterMoved( int, int ) ),
+ this->connect(
+ this->m_UI->Bottom, SIGNAL( splitterMoved( int, int ) ),
this, SLOT( _SyncTop( int, int ) )
);
}
// -------------------------------------------------------------------------
void cpExtensions::QT::SimpleMPRWidget::
-Clear( )
+Configure( char q1, char q2, char q3, char q4 )
{
- for( unsigned int i = 0; i < 4; ++i )
- this->m_Renderers[ i ]->RemoveAllViewProps( );
- for( unsigned int i = 0; i < 3; ++i )
- {
- if( this->m_2DSlices[ i ].GetPointer( ) != NULL )
- this->m_2DSlices[ i ]->Clear( );
- if( this->m_3DSlices[ i ].GetPointer( ) != NULL )
- this->m_3DSlices[ i ]->Clear( );
+ // 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 );
+}
- } // rof
- this->m_PolyDatas.clear( );
+// -------------------------------------------------------------------------
+bool cpExtensions::QT::SimpleMPRWidget::
+HasImage( ) const
+{
+ return( this->m_MainImage.GetPointer( ) != NULL );
}
// -------------------------------------------------------------------------
void cpExtensions::QT::SimpleMPRWidget::
-SetMainImage( vtkImageData* image )
+SetImage( vtkImageData* image, const std::string& name )
{
- for( unsigned int i = 0; i < 3; ++i )
- {
- this->m_2DSlices[ i ] = vtkSmartPointer< TActors >::New( );
- this->m_2DSlices[ i ]->SetInputData( image, i );
- this->m_2DSlices[ i ]->PushInto( this->m_Renderers[ i ] );
- this->m_VTK[ i ]->GetRenderWindow( )->GetInteractor( )->
- SetInteractorStyle( this->m_2DSlices[ i ]->GetStyle( ) );
-
- this->m_3DSlices[ i ] = vtkSmartPointer< TActors >::New( );
- this->m_3DSlices[ i ]->SetInputData( image, i );
- this->m_3DSlices[ i ]->PushInto( this->m_Renderers[ 3 ] );
- this->m_3DSlices[ i ]->SetStyle(
- dynamic_cast< vtkInteractorStyle* >(
- this->m_Renderers[ 3 ]->GetRenderWindow( )->
- GetInteractor( )->GetInteractorStyle( )
- )
- );
-
- } // rof
-
- for( unsigned int i = 0; i < 3; ++i )
+ if( this->m_MainImageName != "" || image == NULL )
{
- for( unsigned int j = 0; j < 3; ++j )
- {
- if( i != j )
- this->m_2DSlices[ i ]->AssociateSlice( this->m_2DSlices[ j ] );
- this->m_2DSlices[ i ]->AssociateSlice( this->m_3DSlices[ j ] );
+ // TODO: Clear visualization
- } // rof
+ } // fi
+ this->m_MainImageName = name;
+ this->m_MainImage = image;
- } // rof
- for( unsigned int i = 0; i < 3; ++i )
+ if( this->m_MainImage != NULL && this->m_MainImageName != "" )
{
- this->m_2DSlices[ i ]->GetStyle( )->
- SetCurrentRenderer( this->m_Renderers[ i ] );
- this->m_Renderers[ i ]->ResetCamera( );
- this->m_VTK[ i ]->GetRenderWindow( )->Render( );
+ this->m_XImage->SetImage( this->m_MainImage, 0, name );
+ this->m_YImage->SetImage( this->m_MainImage, 1, name );
+ this->m_ZImage->SetImage( this->m_MainImage, 2, name );
+ this->m_3DView->SetImage( this->m_MainImage, name );
- } // rof
- this->m_Renderers[ 3 ]->ResetCamera( );
- this->m_VTK[ 3 ]->GetRenderWindow( )->Render( );
+ } // fi
}
// -------------------------------------------------------------------------
-void cpExtensions::QT::SimpleMPRWidget::
-AddMesh( vtkPolyData* mesh )
+bool cpExtensions::QT::SimpleMPRWidget::
+Add( vtkDataSet* data, const std::string& name )
{
- PolyDataActor a;
- a.Configure( mesh );
- this->m_PolyDatas[ mesh ] = a;
- this->m_Renderers[ 3 ]->AddViewProp( a.Actor );
+ bool success = true;
+ auto image = dynamic_cast< vtkImageData* >( data );
+ auto pdata = dynamic_cast< vtkPolyData* >( data );
- bool has_main_image = false;
- for( unsigned int i = 0; i < 3; ++i )
+ if( image != NULL )
{
- if( this->m_2DSlices[ i ].GetPointer( ) != NULL )
+ if( this->m_MainImageName != "" )
{
- if( this->m_2DSlices[ i ]->GetInputData( ) != NULL )
- {
- has_main_image = true;
- this->m_2DSlices[ i ]->AddMesh( mesh );
- this->m_2DSlices[ i ]->Render( );
+ 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 );
+}
- } // fi
+// -------------------------------------------------------------------------
+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 );
- } // fi
+ 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 );
+*/
+}
- } // rof
- if( !has_main_image )
- this->m_Renderers[ 3 ]->ResetCamera( );
- this->m_VTK[ 3 ]->GetRenderWindow( )->Render( );
+// -------------------------------------------------------------------------
+cpExtensions::QT::SimpleMPRWidget::
+TProps cpExtensions::QT::SimpleMPRWidget::
+GetImageProps( ) const
+{
+ return( this->GetViewProps( this->m_MainImageName ) );
}
// -------------------------------------------------------------------------
vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget::
-GetInteractor( unsigned int i )
+GetXInteractor( )
{
- if( i < 4 )
- return( this->m_VTK[ i ]->GetRenderWindow( )->GetInteractor( ) );
- else
- return( NULL );
+ return( this->m_XImage->GetInteractor( ) );
}
// -------------------------------------------------------------------------
-vtkActor* cpExtensions::QT::SimpleMPRWidget::
-GetActor( vtkPolyData* mesh )
+const vtkRenderWindowInteractor* cpExtensions::QT::SimpleMPRWidget::
+GetXInteractor( ) const
{
- auto i = this->m_PolyDatas.find( mesh );
- if( i != this->m_PolyDatas.end( ) )
- return( i->second.Actor.GetPointer( ) );
- else
- return( NULL );
+ 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< 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->BottomSplitter->setSizes( this->m_UI->TopSplitter->sizes( ) );
+ this->m_UI->Bottom->setSizes( this->m_UI->Top->sizes( ) );
}
// -------------------------------------------------------------------------
void cpExtensions::QT::SimpleMPRWidget::
_SyncTop( int a, int b )
{
- this->m_UI->TopSplitter->setSizes( this->m_UI->BottomSplitter->sizes( ) );
+ this->m_UI->Top->setSizes( this->m_UI->Bottom->sizes( ) );
}
#endif // cpExtensions_QT4