1 #include <cpPlugins/Interface/BaseMPRWindow.h>
3 #ifdef cpPlugins_Interface_QT4
5 #include <vtkRendererCollection.h>
7 // -------------------------------------------------------------------------
8 cpPlugins::Interface::BaseMPRWindow::
9 BaseMPRWindow( QWidget* parent )
10 : cpExtensions::QT::QuadSplitter( parent )
13 this->m_XVTK = new QVTKWidget( this );
14 this->m_YVTK = new QVTKWidget( this );
15 this->m_ZVTK = new QVTKWidget( this );
16 this->m_WVTK = new QVTKWidget( this );
17 this->addWidgets( this->m_YVTK, this->m_XVTK, this->m_ZVTK, this->m_WVTK );
19 // Create and associate vtk renderers
20 this->m_MPRObjects = vtkSmartPointer< TMPRObjects >::New( );
21 this->m_MPRObjects->SetRenderWindows(
22 this->m_XVTK->GetRenderWindow( ),
23 this->m_YVTK->GetRenderWindow( ),
24 this->m_ZVTK->GetRenderWindow( ),
25 this->m_WVTK->GetRenderWindow( )
29 // -------------------------------------------------------------------------
30 cpPlugins::Interface::BaseMPRWindow::
33 if( this->m_WVTK != NULL ) delete this->m_WVTK;
34 if( this->m_ZVTK != NULL ) delete this->m_ZVTK;
35 if( this->m_YVTK != NULL ) delete this->m_YVTK;
36 if( this->m_XVTK != NULL ) delete this->m_XVTK;
39 // -------------------------------------------------------------------------
40 bool cpPlugins::Interface::BaseMPRWindow::
41 ShowImage( vtkImageData* image )
43 bool r = ( image != NULL );
45 this->m_MPRObjects->AddImage( image );
49 // -------------------------------------------------------------------------
50 bool cpPlugins::Interface::BaseMPRWindow::
51 ShowImage( vtkImageData* image, double r, double g, double b )
56 // -------------------------------------------------------------------------
57 bool cpPlugins::Interface::BaseMPRWindow::
58 ShowMesh( vtkPolyData* mesh )
63 // -------------------------------------------------------------------------
65 void cpPlugins::Interface::BaseMPRWindow::
66 AddImage( const std::string& name, TImage* image )
68 this->m_Images[ name ] = image;
69 vtkImageData* vtk_id =
70 this->m_Images[ name ]->GetVTK< vtkImageData >( );
72 this->m_MPRObjects->AddImage( vtk_id );
76 // -------------------------------------------------------------------------
77 double cpPlugins::Interface::BaseMPRWindow::
80 return( this->m_MPRObjects->GetWindow( ) );
83 // -------------------------------------------------------------------------
84 double cpPlugins::Interface::BaseMPRWindow::
87 return( this->m_MPRObjects->GetLevel( ) );
90 // -------------------------------------------------------------------------
91 void cpPlugins::Interface::BaseMPRWindow::
95 this->m_MPRObjects->ClearAll( );
96 this->m_Images.clear( );
97 this->m_Meshes.clear( );
101 // -------------------------------------------------------------------------
102 void cpPlugins::Interface::BaseMPRWindow::
103 Add3DActor( vtkProp3D* prop )
106 this->m_WVTK->GetRenderWindow( )->GetRenderers( )->GetFirstRenderer( );
109 ren->AddActor( prop );
110 this->m_WVTK->GetRenderWindow( )->Render( );
113 #endif // cpPlugins_Interface_QT4