1 #ifndef __CPPLUGINS__EXTENSIONS__VISUALIZATION__IMAGE3DMPR__H__
2 #define __CPPLUGINS__EXTENSIONS__VISUALIZATION__IMAGE3DMPR__H__
4 #include <cpPlugins/Extensions/cpPlugins_Extensions_Export.h>
7 #include <vtkCellPicker.h>
8 #include <vtkHandleWidget.h>
9 #include <vtkImageData.h>
10 #include <vtkImagePlaneWidget.h>
11 #include <vtkOutlineSource.h>
12 #include <vtkPointHandleRepresentation3D.h>
13 #include <vtkPolyDataMapper.h>
14 #include <vtkProperty.h>
15 #include <vtkRenderer.h>
16 #include <vtkRendererCollection.h>
17 #include <vtkRenderWindow.h>
18 #include <vtkRenderWindowInteractor.h>
19 #include <vtkSeedRepresentation.h>
20 #include <vtkSeedWidget.h>
21 #include <vtkSmartPointer.h>
22 #include <vtkSphereSource.h>
23 #include <vtkLookupTable.h>
29 namespace Visualization
33 class cpPlugins_Extensions_EXPORT Image3DMPR
37 virtual ~Image3DMPR( );
39 void SetImage( vtkImageData* image );
40 void SetBackground( double r, double g, double b );
41 void SetSize( unsigned int w, unsigned int h );
42 void SetWindowLevel( double w, double l );
44 void AddPolyData( vtkPolyData* pd, double opacity = double( 1 ) );
47 double r, double g, double b, double opacity = double( 1 )
52 double opacity = double( 1 )
55 unsigned int GetNumberOfSeeds( ) const;
56 void GetSeed( int n, double* s ) const;
58 const double& x, const double& y, const double& z
61 vtkRenderWindow* GetWindow( ) const;
62 vtkRenderer* GetRenderer( ) const;
68 vtkSmartPointer< vtkImageData > m_Image;
69 vtkSmartPointer< vtkOutlineSource > m_Outline;
70 vtkSmartPointer< vtkPolyDataMapper > m_OutlineMapper;
71 vtkSmartPointer< vtkActor > m_OutlineActor;
72 vtkSmartPointer< vtkCellPicker > m_Picker;
73 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetX;
74 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetY;
75 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetZ;
76 vtkSmartPointer< vtkRenderer > m_Renderer;
77 vtkSmartPointer< vtkRenderWindow > m_Window;
78 vtkSmartPointer< vtkRenderWindowInteractor > m_Interactor;
80 std::vector< vtkSmartPointer< vtkPolyData > > m_PolyDatas;
81 std::vector< vtkSmartPointer< vtkPolyDataMapper > > m_Mappers;
82 std::vector< vtkSmartPointer< vtkActor > > m_Actors;
84 // Create the widget and its representation
85 vtkSmartPointer< vtkPointHandleRepresentation3D >
86 m_SeedHandleRepresentation;
87 vtkSmartPointer< vtkSeedRepresentation > m_SeedRepresentation;
88 vtkSmartPointer< vtkSeedWidget > m_SeedWidget;
97 #endif // __CPPLUGINS__EXTENSIONS__VISUALIZATION__IMAGE3DMPR__H__