1 #ifndef __CPPLUGINSWIDGETS__SEEDWIDGET__H__
2 #define __CPPLUGINSWIDGETS__SEEDWIDGET__H__
4 #include <plugins/cpPluginsWidgets_Export.h>
5 #include <cpPlugins/BaseObjects/Widget.h>
7 #include <cpExtensions/Interaction/SeedWidget.h>
8 #include <cpExtensions/Interaction/ImageSlicePointPlacer.h>
9 #include <cpExtensions/Visualization/WindowLevelImageActor.h>
10 #include <vtkImageSlice.h>
11 #include <vtkPointHandleRepresentation3D.h>
12 #include <vtkSeedRepresentation.h>
13 #include <vtkSmartPointer.h>
16 namespace cpPluginsWidgets
20 class cpPluginsWidgets_EXPORT SeedWidget
21 : public cpPlugins::BaseObjects::Widget
23 cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets );
26 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
32 typedef cpExtensions::Interaction::SeedWidget _TWidget;
33 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
35 std::vector< vtkSmartPointer< _TWidget > > Widgets;
36 std::vector< vtkSmartPointer< _TPlacer > > Placers;
37 std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
38 std::vector< vtkSmartPointer< vtkSeedRepresentation > > Representations;
39 unsigned int ActualWidgetId;
40 vtkSmartPointer< vtkCommand > Command;
43 SeedWidget* seedWidget,
45 vtkRenderWindowInteractor* iren
47 virtual ~TWidgetData( );
53 typedef cpExtensions::Interaction::SeedWidget _TWidget;
54 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
56 vtkSmartPointer< _TWidget > Widget;
57 vtkSmartPointer< _TPlacer > Placer;
58 vtkSmartPointer< vtkPointHandleRepresentation3D > Handle;
59 vtkSmartPointer< vtkSeedRepresentation > Representation;
62 SeedWidget* seedWidget,
64 vtkRenderWindowInteractor* iren
66 virtual ~TWidgetData( );
72 template< class _TImage >
73 inline void _GD0_Image( _TImage* image );
76 std::map< vtkRenderWindowInteractor*, TWidgetData* > m_Data;
79 std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
80 std::vector< TWidgetData* > m_Widgets;
87 #endif // __CPPLUGINSWIDGETS__SEEDWIDGET__H__