1 #ifndef __cpPluginsWidgets__SplineWidget__h__
2 #define __cpPluginsWidgets__SplineWidget__h__
4 #include <plugins/cpPluginsWidgets_Export.h>
5 #include <cpPlugins/BaseObjects/Widget.h>
7 #include <vtkSmartPointer.h>
10 #include <cpExtensions/Interaction/SplineWidget.h>
11 #include <cpExtensions/Interaction/ImageSlicePointPlacer.h>
12 #include <cpExtensions/Visualization/WindowLevelImageActor.h>
13 #include <vtkImageSlice.h>
14 #include <vtkPointHandleRepresentation3D.h>
15 #include <vtkSeedRepresentation.h>
19 // -------------------------------------------------------------------------
22 // -------------------------------------------------------------------------
23 namespace cpPluginsWidgets
27 class cpPluginsWidgets_EXPORT SplineWidget
28 : public cpPlugins::BaseObjects::Widget
30 cpPluginsObject( SplineWidget, cpPlugins::BaseObjects::Widget, Widgets );
33 virtual void Clear( ) cpPlugins_OVERRIDE;
34 virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
38 vtkSmartPointer< vtkPolyData > m_Contour;
42 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
47 typedef cpExtensions::Interaction::SplineWidget _TWidget;
48 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
50 std::vector< vtkSmartPointer< _TWidget > > Widgets;
51 std::vector< vtkSmartPointer< _TPlacer > > Placers;
52 std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
53 std::vector< vtkSmartPointer< vtkSeedRepresentation > > Representations;
54 unsigned int ActualWidgetId;
55 vtkSmartPointer< vtkCommand > Command;
58 SplineWidget* seedWidget,
60 vtkRenderWindowInteractor* iren
62 virtual ~TWidgetData( );
68 template< class _TImage >
69 inline void _GD0_Image( _TImage* image );
72 std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
73 std::vector< TWidgetData* > m_Widgets;
80 #endif // __cpPluginsWidgets__SplineWidget__h__