]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.cxx
Kalman filter added
[cpPlugins.git] / lib / cpPlugins / Extensions / Visualization / MPRWithDifferentWindows.cxx
index 6a7851acebf0deaddfb5412d729cb213d91ab751..1bf8ea9446a127d9b65370dd36b7515b3bc30374 100644 (file)
@@ -1,4 +1,5 @@
 #include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
+#include <vtkCamera.h>
 
 // -------------------------------------------------------------------------
 cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
@@ -72,33 +73,6 @@ cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
 {
 }
 
-// -------------------------------------------------------------------------
-void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
-AddDoubleClickObserver( vtkCommand* observer )
-{
-  for( int i = 0; i < 3; ++i )
-    if( this->m_Styles[ i ].GetPointer( ) != NULL )
-      this->m_Styles[ i ]->AddDoubleClickObserver( observer );
-}
-
-// -------------------------------------------------------------------------
-void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
-RemoveDoubleClickObserver( vtkCommand* observer )
-{
-  for( int i = 0; i < 3; ++i )
-    if( this->m_Styles[ i ].GetPointer( ) != NULL )
-      this->m_Styles[ i ]->RemoveDoubleClickObserver( observer );
-}
-
-// -------------------------------------------------------------------------
-void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
-RemoveDoubleClickObservers( )
-{
-  for( int i = 0; i < 3; ++i )
-    if( this->m_Styles[ i ].GetPointer( ) != NULL )
-      this->m_Styles[ i ]->RemoveDoubleClickObservers( );
-}
-
 // -------------------------------------------------------------------------
 void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
 SetImage( vtkImageData* image )
@@ -111,6 +85,12 @@ SetImage( vtkImageData* image )
     this->m_Renderers[ 3 ]
     );
 
+  // Correct cameras positions
+  vtkCamera* zCam = this->m_Renderers[ 2 ]->GetActiveCamera( );
+  zCam->SetViewUp( 0, -1, 0 );
+  zCam->SetPosition( 0, 0, -1 );
+  zCam->SetFocalPoint( 0, 0, 0 );
+
   // First rendering
   this->ResetCameras( );
   this->RenderAll( );
@@ -118,19 +98,26 @@ SetImage( vtkImageData* image )
 
 // -------------------------------------------------------------------------
 void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
-SetSegmentation( vtkImageData* image )
+SetModeToNavigation( )
 {
-  this->m_MPRActors->SetSegmentationData( image );
-  this->m_MPRActors->PushDataInto(
-    this->m_Renderers[ 0 ],
-    this->m_Renderers[ 1 ],
-    this->m_Renderers[ 2 ],
-    this->m_Renderers[ 3 ]
-    );
+  for( unsigned int i = 0; i < 3; ++i )
+  {
+    if( this->m_Styles[ i ].GetPointer( ) != NULL )
+      this->m_Styles[ i ]->SetModeToNavigation( );
+    
+  } // rof
+}
 
-  this->Render( 0 );
-  this->Render( 1 );
-  this->Render( 2 );
+// -------------------------------------------------------------------------
+void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
+SetModeToDeformation( )
+{
+  for( unsigned int i = 0; i < 3; ++i )
+  {
+    if( this->m_Styles[ i ].GetPointer( ) != NULL )
+      this->m_Styles[ i ]->SetModeToDeformation( );
+    
+  } // rof
 }
 
 // -------------------------------------------------------------------------
@@ -169,4 +156,27 @@ RenderAll( )
       this->m_Windows[ i ]->Render( );
 }
 
+// -------------------------------------------------------------------------
+vtkRenderer* cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
+GetRenderer( const int& id ) const
+{
+  if( id < 4 )
+    return( this->m_Renderers[ id ] );
+  else
+    return( NULL );
+}
+
+// -------------------------------------------------------------------------
+void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
+Add3DActor( vtkProp3D* prop )
+{
+  if( this->m_Renderers[ 3 ] != NULL )
+  {
+    this->m_Renderers[ 3 ]->AddActor( prop );
+    this->ResetCamera( 3 );
+    this->Render( 3 );
+
+  } // fi
+}
+
 // eof - $RCSfile$