1 #ifndef __cpPluginsVTKWidgets__SeedWidget__h__
2 #define __cpPluginsVTKWidgets__SeedWidget__h__
4 #include <cpPluginsVTKWidgets_Export.h>
5 #include <cpPlugins/BaseObjects/Widget.h>
6 #include <vtkCommand.h>
8 // -------------------------------------------------------------------------
10 class vtkPointHandleRepresentation3D;
12 class vtkSeedRepresentation;
13 namespace cpExtensions
17 class ImageSlicePointPlacer;
20 namespace Visualization
22 class WindowLevelImageActor;
26 // -------------------------------------------------------------------------
27 namespace cpPluginsVTKWidgets
31 class cpPluginsVTKWidgets_EXPORT SeedWidget
32 : public cpPlugins::BaseObjects::Widget
34 cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets );
37 typedef vtkPointHandleRepresentation3D THandleRep;
38 typedef vtkSeedRepresentation TSeedRep;
39 typedef cpExtensions::Interaction::SeedWidget TWidget;
40 typedef cpExtensions::Interaction::ImageSlicePointPlacer TPlacer;
41 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
44 virtual void Clear( ) cpPlugins_OVERRIDE;
45 virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
46 virtual bool GetEnabled( ) const cpPlugins_OVERRIDE;
55 static TCallback* New( );
57 vtkObject* caller, unsigned long id, void* data
59 void SetSeeds( vtkPolyData* seeds );
63 virtual ~TCallback( );
67 std::set< TWidget* > m_Widgets;
71 inline void _GD0_Image( vtkImageData* image );
74 std::map< vtkRenderWindowInteractor*, vtkSmartPointer< TWidget > > m_Widgets;
75 vtkSmartPointer< TCallback > m_Command;
80 #endif // __cpPluginsVTKWidgets__SeedWidget__h__