1 #ifndef __CPEXTENSIONS__QT__SIMPLEMPRWIDGET__H__
2 #define __CPEXTENSIONS__QT__SIMPLEMPRWIDGET__H__
4 #include <cpExtensions/Config.h>
6 #ifdef cpExtensions_QT4
12 #include <vtkSmartPointer.h>
13 #include <cpExtensions/Visualization/ImageSliceActors.h>
15 #define cpExtensions_MAX_POLYS 65535
17 // -------------------------------------------------------------------------
22 class SimpleMPRWidget;
25 // -------------------------------------------------------------------------
26 namespace cpExtensions
32 class cpExtensions_EXPORT SimpleMPRWidget
38 typedef SimpleMPRWidget Self;
43 const vtkSmartPointer< vtkProp >& a,
44 const vtkSmartPointer< vtkProp >& b
46 { return( a.GetPointer( ) < b.GetPointer( ) ); }
48 typedef std::set< vtkSmartPointer< vtkProp >, TActorCmp > TActors;
49 typedef std::map< std::string, TActors > TNamedActors;
50 typedef cpExtensions::Visualization::ImageSliceActors TSliceActors;
53 explicit SimpleMPRWidget( QWidget* parent = 0 );
54 virtual ~SimpleMPRWidget( );
58 void SetMainImage( vtkImageData* image, const std::string& name );
59 void SetMainActor( vtkImageActor* actor, const std::string& name );
60 void AddImage( vtkImageData* image, const std::string& name );
61 void AddImageActor( vtkImageActor* actor, const std::string& name );
62 void AddMesh( vtkPolyData* mesh, const std::string& name );
63 void AddMeshActor( vtkProp3D* actor, const std::string& name );
64 void AddActor( vtkProp* actor, const std::string& name );
65 const TActors& GetActors( const std::string& name ) const;
68 vtkRenderWindowInteractor* GetInteractor( unsigned int i );
69 vtkRenderer* GetRenderer( unsigned int i );
70 vtkRenderWindow* GetRenderWindow( unsigned int i );
73 void _AssociateSlices( );
76 void _SyncBottom( int a, int b );
77 void _SyncTop( int a, int b );
80 Ui::SimpleMPRWidget* m_UI;
81 QVTKWidget* m_VTK[ 4 ];
83 vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
84 vtkSmartPointer< TSliceActors > m_2DSlices[ 3 ];
85 vtkSmartPointer< TSliceActors > m_3DSlices[ 3 ];
87 TNamedActors m_NamedActors;
94 #endif // cpExtensions_QT4
96 #endif // __CPEXTENSIONS__QT__SIMPLEMPRWIDGET__H__