1 #ifndef __CPPLUGINSWIDGETS__SEEDWIDGET__H__
2 #define __CPPLUGINSWIDGETS__SEEDWIDGET__H__
4 #include <plugins/cpPluginsWidgets_Export.h>
5 #include <cpPlugins/BaseObjects/Widget.h>
7 // -------------------------------------------------------------------------
8 class vtkPointHandleRepresentation3D;
10 class vtkSeedRepresentation;
11 namespace cpExtensions
15 class ImageSlicePointPlacer;
18 namespace Visualization
20 class WindowLevelImageActor;
24 // -------------------------------------------------------------------------
25 namespace cpPluginsWidgets
29 class cpPluginsWidgets_EXPORT SeedWidget
30 : public cpPlugins::BaseObjects::Widget
32 cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets );
35 typedef vtkPointHandleRepresentation3D THandleRep;
36 typedef vtkSeedRepresentation TSeedRep;
37 typedef cpExtensions::Interaction::SeedWidget TWidget;
38 typedef cpExtensions::Interaction::ImageSlicePointPlacer TPlacer;
39 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
42 virtual void Clear( ) cpPlugins_OVERRIDE;
43 virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
52 static TCallback* New( );
54 vtkObject* caller, unsigned long id, void* data
56 void SetSeeds( vtkPolyData* seeds );
60 virtual ~TCallback( );
64 std::set< TWidget* > m_Widgets;
68 inline void _GD0_Image( vtkImageData* image );
71 std::map< vtkRenderWindowInteractor*, vtkSmartPointer< TWidget > > m_Widgets;
72 vtkSmartPointer< TCallback > m_Command;
77 #endif // __CPPLUGINSWIDGETS__SEEDWIDGET__H__