]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.cxx
Kalman filter added
[cpPlugins.git] / lib / cpPlugins / Extensions / Visualization / MPRWithDifferentWindows.cxx
index f66c258f47d0292772374429de7cc5441565de44..1bf8ea9446a127d9b65370dd36b7515b3bc30374 100644 (file)
@@ -1,4 +1,5 @@
 #include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
+#include <vtkCamera.h>
 
 // -------------------------------------------------------------------------
 cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
@@ -84,11 +85,41 @@ 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( );
 }
 
+// -------------------------------------------------------------------------
+void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
+SetModeToNavigation( )
+{
+  for( unsigned int i = 0; i < 3; ++i )
+  {
+    if( this->m_Styles[ i ].GetPointer( ) != NULL )
+      this->m_Styles[ i ]->SetModeToNavigation( );
+    
+  } // rof
+}
+
+// -------------------------------------------------------------------------
+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
+}
+
 // -------------------------------------------------------------------------
 void cpPlugins::Extensions::Visualization::MPRWithDifferentWindows::
 ResetCamera( const int& id )
@@ -125,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$