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/ImageSlicePointPlacer.h>
8 #include <cpExtensions/Visualization/WindowLevelImageActor.h>
9 #include <vtkImageSlice.h>
10 #include <vtkPointHandleRepresentation3D.h>
11 #include <vtkSeedRepresentation.h>
12 #include <vtkSmartPointer.h>
15 // -------------------------------------------------------------------------
16 namespace cpExtensions { namespace Interaction { class SeedWidget; } }
18 // -------------------------------------------------------------------------
19 namespace cpPluginsWidgets
23 class cpPluginsWidgets_EXPORT SeedWidget
24 : public cpPlugins::BaseObjects::Widget
26 cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets );
29 typedef cpExtensions::Interaction::SeedWidget TWidget;
30 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
36 typedef cpExtensions::Interaction::SeedWidget _TWidget;
37 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
39 std::vector< vtkSmartPointer< _TWidget > > Widgets;
40 std::vector< vtkSmartPointer< _TPlacer > > Placers;
41 std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
42 std::vector< vtkSmartPointer< vtkSeedRepresentation > > Representations;
43 unsigned int ActualWidgetId;
44 vtkSmartPointer< vtkCommand > Command;
47 SeedWidget* seedWidget,
49 vtkRenderWindowInteractor* iren
51 virtual ~TWidgetData( );
57 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
59 vtkSmartPointer< TWidget > Widget;
60 vtkSmartPointer< _TPlacer > Placer;
61 vtkSmartPointer< vtkPointHandleRepresentation3D > Handle;
62 vtkSmartPointer< vtkSeedRepresentation > Representation;
65 SeedWidget* seedWidget,
67 vtkRenderWindowInteractor* iren,
70 virtual ~TWidgetData( );
76 inline void _GD0_Image( vtkImageData* image );
79 std::map< vtkRenderWindowInteractor*, TWidgetData* > m_Data;
80 vtkSmartPointer< vtkCommand > m_Command;
83 std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
84 std::vector< TWidgetData* > m_Widgets;
91 #endif // __CPPLUGINSWIDGETS__SEEDWIDGET__H__