X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpExtensions%2FQT%2FMPR3DWidget.cxx;h=788fb22a44b86ce9015d2ee3426c466ad8a71f20;hb=4e55e875e42fe56e3fb92a38015ffa035ac9d0bb;hp=f0331c0d287ae404d232d61ed1753dafc2bd30f9;hpb=878705ae4eab58fc442c37bee7a2ea5124311b66;p=cpPlugins.git diff --git a/lib/cpExtensions/QT/MPR3DWidget.cxx b/lib/cpExtensions/QT/MPR3DWidget.cxx index f0331c0..788fb22 100644 --- a/lib/cpExtensions/QT/MPR3DWidget.cxx +++ b/lib/cpExtensions/QT/MPR3DWidget.cxx @@ -3,13 +3,18 @@ #ifdef cpExtensions_QT4 #include -#include -#include #include -#include #include -#include +#include + +/* TODO + #include + #include + + #include + #include +*/ // ------------------------------------------------------------------------- cpExtensions::QT::MPR3DWidget:: @@ -17,8 +22,10 @@ MPR3DWidget( QWidget* parent, Qt::WindowFlags f ) : Superclass( parent, f ), m_ImageName( "" ) { - this->m_Actors = - vtkSmartPointer< cpExtensions::Visualization::MPR3DActors >::New( ); + /* TODO + this->m_Actors = + vtkSmartPointer< cpExtensions::Visualization::MPR3DActors >::New( ); + */ } // ------------------------------------------------------------------------- @@ -27,9 +34,94 @@ cpExtensions::QT::MPR3DWidget:: { } +// ------------------------------------------------------------------------- +void cpExtensions::QT::MPR3DWidget:: +Clear( ) +{ + this->RemoveViewProps( ); + this->m_ImageName = ""; +} + // ------------------------------------------------------------------------- void cpExtensions::QT::MPR3DWidget:: SetImage( vtkImageData* image, const std::string& name ) +{ + if( name == "" ) + return; + if( this->m_ImageName != "" ) + this->Clear( ); + this->m_ImageName = name; + + for( unsigned int o = 0; o < 3; ++o ) + { + this->m_WLActors[ o ] = vtkSmartPointer< TWLActor >::New( ); + this->m_WLActors[ o ]->SetImage( image ); + this->m_WLActors[ o ]->SetOrientation( o ); + + this->m_OLActors[ o ] = vtkSmartPointer< TOLActor >::New( ); + this->m_OLActors[ o ]->SetBounds( + o, image->GetBounds( )[ o << 1 ], image->GetBounds( ) + ); + + this->AddViewProp( this->m_WLActors[ o ], this->m_ImageName ); + this->AddAuxViewProp( this->m_OLActors[ o ], this->m_ImageName ); + this->ResetCamera( ); + + } // rof +} + +// ------------------------------------------------------------------------- +cpExtensions::QT::MPR3DWidget:: +TWLActor* cpExtensions::QT::MPR3DWidget:: +GetImageActor( int o ) +{ + return( this->m_WLActors[ o % 3 ] ); +} + +// ------------------------------------------------------------------------- +const cpExtensions::QT::MPR3DWidget:: +TWLActor* cpExtensions::QT::MPR3DWidget:: +GetImageActor( int o ) const +{ + return( this->m_WLActors[ o % 3 ] ); +} + +// ------------------------------------------------------------------------- +void cpExtensions::QT::MPR3DWidget:: +SetSliceNumber( int orientation, int slice ) +{ + int o = orientation % 3; + this->m_WLActors[ o ]->SetSliceNumber( slice ); + this->m_OLActors[ o ]->SetBounds( + o, + this->m_WLActors[ o ]->GetSlicePlane( )->GetOrigin( )[ o ], + this->m_WLActors[ o ]->GetImage( )->GetBounds( ) + ); + this->Render( ); +} + +// ------------------------------------------------------------------------- +void cpExtensions::QT::MPR3DWidget:: +SetSlicesNumbers( int x, int y, int z ) +{ + int s[] = { x, y, z }; + for( int o = 0; o < 3; ++o ) + { + this->m_WLActors[ o ]->SetSliceNumber( s[ o ] ); + this->m_OLActors[ o ]->SetBounds( + o, + this->m_WLActors[ o ]->GetSlicePlane( )->GetOrigin( )[ o ], + this->m_WLActors[ o ]->GetImage( )->GetBounds( ) + ); + + } // rof + this->Render( ); +} + +// ------------------------------------------------------------------------- +/* +void cpExtensions::QT::MPR3DWidget:: +SetImage( vtkImageData* image, const std::string& name ) { if( this->m_ImageName != "" ) { @@ -76,7 +168,6 @@ Add( vtkDataSet* data, const std::string& name ) } // fi - /* TODO return; auto image = dynamic_cast< vtkImageData* >( data ); @@ -96,7 +187,6 @@ Add( vtkDataSet* data, const std::string& name ) { } // fi - */ } // ------------------------------------------------------------------------- @@ -148,6 +238,7 @@ SetImageInterpolation( unsigned char i ) this->m_Actors->SetImageInterpolation( i ); this->Render( ); } + */ #endif // cpExtensions_QT4