]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/Visualization/MPRActors.cxx
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / lib / cpExtensions / Visualization / MPRActors.cxx
index 6419daa47830969507a127700e00471876eae15d..00d27dc6e8411c62388b6f29a4487f2719cc1a5d 100644 (file)
@@ -215,22 +215,35 @@ PushActorsInto(
   this->Slices[ 1 ][ 1 ]->PushActorsInto( w, false );
   this->Slices[ 1 ][ 2 ]->PushActorsInto( w, false );
 
-  /*
+  vtkRenderer* xren =
+    ( x != NULL )? x->GetRenderers( )->GetFirstRenderer( ): NULL;
+  vtkRenderer* yren =
+    ( y != NULL )? y->GetRenderers( )->GetFirstRenderer( ): NULL;
+  vtkRenderer* zren =
+    ( z != NULL )? z->GetRenderers( )->GetFirstRenderer( ): NULL;
+  vtkRenderer* wren =
+    ( w != NULL )? w->GetRenderers( )->GetFirstRenderer( ): NULL;
 
-  this->Slices[ 0 ][ 0 ]->PushActorsInto( y, false );
-  this->Slices[ 0 ][ 0 ]->PushActorsInto( z, false );
+  if( xren != NULL )
+  {
+    xren->AddActor( this->Slices[ 0 ][ 1 ]->GetPlaneActor( ) );
+    xren->AddActor( this->Slices[ 0 ][ 2 ]->GetPlaneActor( ) );
 
-  this->Slices[ 0 ][ 1 ]->PushActorsInto( x, false );
-  this->Slices[ 0 ][ 1 ]->PushActorsInto( z, false );
+  } // fi
+  if( yren != NULL )
+  {
+    yren->AddActor( this->Slices[ 0 ][ 0 ]->GetPlaneActor( ) );
+    yren->AddActor( this->Slices[ 0 ][ 2 ]->GetPlaneActor( ) );
 
-  this->Slices[ 0 ][ 2 ]->PushActorsInto( x, false );
-  this->Slices[ 0 ][ 2 ]->PushActorsInto( y, false );
+  } // fi
+  if( zren != NULL )
+  {
+    zren->AddActor( this->Slices[ 0 ][ 0 ]->GetPlaneActor( ) );
+    zren->AddActor( this->Slices[ 0 ][ 1 ]->GetPlaneActor( ) );
 
-  vtkRenderer* wren =
-    ( w != NULL )? w->GetRenderers( )->GetFirstRenderer( ): NULL;
+  } // fi
   if( wren != NULL )
     wren->AddActor( this->ImageOutlineActor );
-  */
 }
 
 // -------------------------------------------------------------------------
@@ -357,7 +370,7 @@ ResetSlices( )
   for( unsigned int i = 0; i < 2; ++i )
     for( unsigned int j = 0; j < 3; ++j )
       this->Slices[ i ][ j ]->SetSliceNumber(
-        this->Slices[ i ][ j ]->GetSliceNumberMinValue( )
+        this->Slices[ i ][ j ]->GetSliceNumberMaxValue( )
         );
 }
 
@@ -383,7 +396,7 @@ MPRActors( )
     this->Slices[ 0 ][ i ]->AddWindowLevelCommand(
       Self::_WindowLevelCommand, this
       );
-    // this->Slices[ 0 ][ i ]->AddSlicesCommand( Self::_SlicesCommand, this );
+    this->Slices[ 0 ][ i ]->AddSlicesCommand( Self::_SlicesCommand, this );
 
   } // rof
 }
@@ -398,15 +411,21 @@ cpExtensions::Visualization::MPRActors::
 void cpExtensions::Visualization::MPRActors::
 _SlicesCommand( double* pos, int axis, void* data )
 {
-  /*
-    MPRActors* actors = reinterpret_cast< MPRActors* >( data );
-    if( actors == NULL )
+  MPRActors* actors = reinterpret_cast< MPRActors* >( data );
+  if( actors == NULL )
     return;
-    for( unsigned int j = 0; j < 3; ++j )
+  for( unsigned int j = 0; j < 3; ++j )
+  {
     if( actors->Slices[ 0 ][ j ]->GetAxis( ) != axis )
-    actors->Slices[ 0 ][ j ]->SetSlice( pos );
-    actors->Modified( );
-  */
+    {
+      actors->Slices[ 0 ][ j ]->SetSlice( pos );
+      actors->Slices[ 1 ][ j ]->SetSlice( pos );
+      actors->Slices[ 0 ][ j ]->Render( 1e-3 );
+      actors->Slices[ 1 ][ j ]->Render( 1e-3 );
+
+    } // fi
+
+  } // rof
 }
 
 // -------------------------------------------------------------------------
@@ -416,12 +435,12 @@ _WindowLevelCommand( double window, double level, void* data )
   MPRActors* actors = reinterpret_cast< MPRActors* >( data );
   if( actors == NULL )
     return;
-  actors->Slices[ 0 ][ 0 ]->Render( );
-  actors->Slices[ 0 ][ 1 ]->Render( );
-  actors->Slices[ 0 ][ 2 ]->Render( );
-  actors->Slices[ 1 ][ 0 ]->Render( );
-  actors->Slices[ 1 ][ 1 ]->Render( );
-  actors->Slices[ 1 ][ 2 ]->Render( );
+  actors->Slices[ 0 ][ 0 ]->Render( 1e-3 );
+  actors->Slices[ 0 ][ 1 ]->Render( 1e-3 );
+  actors->Slices[ 0 ][ 2 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 0 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 1 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 2 ]->Render( 1e-3 );
 }
 
 // -------------------------------------------------------------------------
@@ -431,12 +450,12 @@ _RenderCommand( void* data )
   MPRActors* actors = reinterpret_cast< MPRActors* >( data );
   if( actors == NULL )
     return;
-  actors->Slices[ 0 ][ 0 ]->Render( );
-  actors->Slices[ 0 ][ 1 ]->Render( );
-  actors->Slices[ 0 ][ 2 ]->Render( );
-  actors->Slices[ 1 ][ 0 ]->Render( );
-  actors->Slices[ 1 ][ 1 ]->Render( );
-  actors->Slices[ 1 ][ 2 ]->Render( );
+  actors->Slices[ 0 ][ 0 ]->Render( 1e-3 );
+  actors->Slices[ 0 ][ 1 ]->Render( 1e-3 );
+  actors->Slices[ 0 ][ 2 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 0 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 1 ]->Render( 1e-3 );
+  actors->Slices[ 1 ][ 2 ]->Render( 1e-3 );
 }
 
 // eof - $RCSfile$