]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.cxx
Use of MPR simplified
[cpPlugins.git] / appli / ImageMPR / ImageMPR.cxx
index 6ee1fb02454f29fc0780cda1142d1690d6f08d18..26c8f349076c6e8c50a8047c2f7a4a200dc2d474 100644 (file)
@@ -6,26 +6,6 @@
 #include <QFileDialog>
 #include <QMessageBox>
 
-/*
-#include <algorithm>
-#include <cctype>
-#include <fstream>
-
-#include <vtkAnnotatedCubeActor.h>
-#include <vtkAxesActor.h>
-#include <vtkPropAssembly.h>
-#include <vtkProperty.h>
-
-#include <cpPlugins/Interface/Image.h>
-
-// -------------------------------------------------------------------------
-#define IDMS_QT_ACTION( name )                                         \
-  QObject::connect(                                                    \
-    this->m_UI->action##name, SIGNAL( triggered( ) ),                  \
-    this, SLOT( _triggered_action##name( ) )                           \
-    )
-*/
-
 // -------------------------------------------------------------------------
 ImageMPR::ImageMPR( QWidget* parent )
   : QMainWindow( parent ),
@@ -35,74 +15,14 @@ ImageMPR::ImageMPR( QWidget* parent )
   this->m_UI->setupUi( this );
 
   // Create and associate renderers
-  this->m_3DRenderer = vtkSmartPointer< vtkRenderer >::New( );
-  this->m_XPlaneRenderer = vtkSmartPointer< vtkRenderer >::New( );
-  this->m_YPlaneRenderer = vtkSmartPointer< vtkRenderer >::New( );
-  this->m_ZPlaneRenderer = vtkSmartPointer< vtkRenderer >::New( );
-  this->m_3DRenderer->SetBackground( 0.2, 0.2, 0.2 );
-  this->m_XPlaneRenderer->SetBackground( 0.1, 0.3, 0.8 );
-  this->m_YPlaneRenderer->SetBackground( 0.1, 0.3, 0.8 );
-  this->m_ZPlaneRenderer->SetBackground( 0.1, 0.3, 0.8 );
-  this->m_UI->m_3DVTK->GetRenderWindow( )->
-    AddRenderer( this->m_3DRenderer );
-  this->m_UI->m_XPlaneVTK->GetRenderWindow( )->
-    AddRenderer( this->m_XPlaneRenderer );
-  this->m_UI->m_YPlaneVTK->GetRenderWindow( )->
-    AddRenderer( this->m_YPlaneRenderer );
-  this->m_UI->m_ZPlaneVTK->GetRenderWindow( )->
-    AddRenderer( this->m_ZPlaneRenderer );
-
-  // Configure MPR actors
-  this->m_MPRActors = vtkSmartPointer< TMPRActors >::New( );
-
-  // Prepare interaction
-  this->m_XStyle = vtkSmartPointer< TStyle >::New( );
-  this->m_YStyle = vtkSmartPointer< TStyle >::New( );
-  this->m_ZStyle = vtkSmartPointer< TStyle >::New( );
-  this->m_XStyle->
-    Configure( this->m_MPRActors->GetSliceActors( 0 ), this->m_MPRActors );
-  this->m_YStyle->
-    Configure( this->m_MPRActors->GetSliceActors( 1 ), this->m_MPRActors );
-  this->m_ZStyle->
-    Configure( this->m_MPRActors->GetSliceActors( 2 ), this->m_MPRActors );
-  this->m_XStyle->
-    SetInteractor( this->m_UI->m_XPlaneVTK->GetInteractor( ), 0 );
-  this->m_YStyle->
-    SetInteractor( this->m_UI->m_YPlaneVTK->GetInteractor( ), 1 );
-  this->m_ZStyle->
-    SetInteractor( this->m_UI->m_ZPlaneVTK->GetInteractor( ), 2 );
-  this->m_XStyle->SetModeToNavigation( );
-  this->m_YStyle->SetModeToNavigation( );
-  this->m_ZStyle->SetModeToNavigation( );
-
-  this->m_XStyle->AssociateInteractor(
-    this->m_UI->m_YPlaneVTK->GetInteractor( )
-    );
-  this->m_XStyle->AssociateInteractor(
-    this->m_UI->m_ZPlaneVTK->GetInteractor( )
-    );
-  this->m_XStyle->AssociateInteractor(
-    this->m_UI->m_3DVTK->GetInteractor( )
-    );
-  this->m_YStyle->AssociateInteractor(
-    this->m_UI->m_XPlaneVTK->GetInteractor( )
-    );
-  this->m_YStyle->AssociateInteractor(
-    this->m_UI->m_ZPlaneVTK->GetInteractor( )
-    );
-  this->m_YStyle->AssociateInteractor(
-    this->m_UI->m_3DVTK->GetInteractor( )
-    );
-  this->m_ZStyle->AssociateInteractor(
-    this->m_UI->m_XPlaneVTK->GetInteractor( )
-    );
-  this->m_ZStyle->AssociateInteractor(
-    this->m_UI->m_YPlaneVTK->GetInteractor( )
-    );
-  this->m_ZStyle->AssociateInteractor(
-    this->m_UI->m_3DVTK->GetInteractor( )
+  this->m_MPR = new TMPR(
+    this->m_UI->m_XPlaneVTK->GetRenderWindow( ),
+    this->m_UI->m_YPlaneVTK->GetRenderWindow( ),
+    this->m_UI->m_ZPlaneVTK->GetRenderWindow( ),
+    this->m_UI->m_3DVTK->GetRenderWindow( )
     );
 
+  // signals <-> slots
   QObject::connect(
     this->m_UI->actionOpenPlugins, SIGNAL( triggered( ) ),
     this, SLOT( _triggered_actionOpenPlugins( ) )
@@ -125,6 +45,7 @@ ImageMPR::
 
   // Delete objects
   delete this->m_UI;
+  delete this->m_MPR;
   if( this->m_InputImage != NULL ) delete this->m_InputImage;
 }
 
@@ -234,28 +155,7 @@ _triggered_actionOpenInputImage( )
   } // fi
 
   if( this->m_InputImage != NULL )
-  {
-    this->m_MPRActors->SetInputData( this->m_InputImage->GetVTKImageData( ) );
-    this->m_MPRActors->PushDataInto(
-      this->m_XPlaneRenderer,
-      this->m_YPlaneRenderer,
-      this->m_ZPlaneRenderer,
-      this->m_3DRenderer
-      );
-
-    // Reset all cameras
-    this->m_3DRenderer->ResetCamera( );
-    this->m_XPlaneRenderer->ResetCamera( );
-    this->m_YPlaneRenderer->ResetCamera( );
-    this->m_ZPlaneRenderer->ResetCamera( );
-
-    // Ok, start!
-    this->m_UI->m_3DVTK->GetRenderWindow( )->Render( );
-    this->m_UI->m_XPlaneVTK->GetRenderWindow( )->Render( );
-    this->m_UI->m_YPlaneVTK->GetRenderWindow( )->Render( );
-    this->m_UI->m_ZPlaneVTK->GetRenderWindow( )->Render( );
-
-  } // fi
+    this->m_MPR->SetImage( this->m_InputImage->GetVTKImageData( ) );
 }
 
 // eof - $RCSfile$