1 #ifndef __FPA__VTK__IMAGEMPR__H__
2 #define __FPA__VTK__IMAGEMPR__H__
4 #include <fpa/FrontAlgorithms_Export.h>
7 #include <vtkCellPicker.h>
8 #include <vtkImageData.h>
9 #include <vtkImagePlaneWidget.h>
10 #include <vtkOutlineSource.h>
11 #include <vtkPolyDataMapper.h>
12 #include <vtkProperty.h>
13 #include <vtkRenderer.h>
14 #include <vtkRendererCollection.h>
15 #include <vtkRenderWindow.h>
16 #include <vtkRenderWindowInteractor.h>
17 #include <vtkSmartPointer.h>
18 #include <vtkSphereSource.h>
20 #include <vtkSeedWidget.h>
21 #include <vtkSeedRepresentation.h>
22 #include <vtkHandleWidget.h>
23 #include <vtkPointHandleRepresentation3D.h>
26 : public vtkSeedWidget
30 // Instantiate this class.
31 static vtkSeedWidget2 *New()
33 return new vtkSeedWidget2;
37 // Standard methods for a VTK class.
38 vtkTypeMacro(vtkSeedWidget2, vtkSeedWidget);
40 virtual vtkPickingManager* GetPickingManager( )
42 return( this->Superclass::GetPickingManager( ) );
50 virtual ~vtkSeedWidget2()
55 vtkSeedWidget2(const vtkSeedWidget2&); //Not implemented
56 void operator=(const vtkSeedWidget2&); //Not implemented
65 class FrontAlgorithms_EXPORT ImageMPR
71 void SetImage( vtkImageData* image );
72 void SetBackground( double r, double g, double b );
73 void SetSize( unsigned int w, unsigned int h );
75 void AddPolyData( vtkPolyData* pd, double r, double g, double b );
77 vtkRenderWindow* GetWindow( ) const;
78 vtkRenderer* GetRenderer( ) const;
83 vtkSmartPointer< vtkImageData > m_Image;
84 vtkSmartPointer< vtkOutlineSource > m_Outline;
85 vtkSmartPointer< vtkPolyDataMapper > m_OutlineMapper;
86 vtkSmartPointer< vtkActor > m_OutlineActor;
87 vtkSmartPointer< vtkCellPicker > m_Picker;
88 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetX;
89 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetY;
90 vtkSmartPointer< vtkImagePlaneWidget > m_WidgetZ;
91 vtkSmartPointer< vtkRenderer > m_Renderer;
92 vtkSmartPointer< vtkRenderWindow > m_Window;
93 vtkSmartPointer< vtkRenderWindowInteractor > m_Interactor;
95 std::vector< vtkSmartPointer< vtkPolyData > > m_PolyDatas;
96 std::vector< vtkSmartPointer< vtkPolyDataMapper > > m_Mappers;
97 std::vector< vtkSmartPointer< vtkActor > > m_Actors;
100 // Create the widget and its representation
101 vtkSmartPointer<vtkPointHandleRepresentation3D> handlePointRep3D;
102 vtkSmartPointer<vtkSeedRepresentation> seedRep;
103 vtkSmartPointer<vtkSeedWidget2> seedWidget;
111 #endif // __FPA__VTK__IMAGEMPR__H__