1 #ifndef __cpPluginsVTKWidgets__SplineWidget__h__
2 #define __cpPluginsVTKWidgets__SplineWidget__h__
4 #include <cpPlugins_VTKWidgets_Export.h>
5 #include <cpPlugins/Pipeline/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 cpPluginsVTKWidgets
27 class cpPlugins_VTKWidgets_EXPORT SplineWidget
28 : public cpPlugins::Pipeline::Widget
30 cpPluginsObject( SplineWidget, cpPlugins::Pipeline::Widget, Widgets );
33 virtual void Clear( ) cpPlugins_OVERRIDE;
34 virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
35 virtual bool GetEnabled( ) const cpPlugins_OVERRIDE;
39 vtkSmartPointer< vtkPolyData > m_Contour;
43 typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
48 typedef cpExtensions::Interaction::SplineWidget _TWidget;
49 typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
51 std::vector< vtkSmartPointer< _TWidget > > Widgets;
52 std::vector< vtkSmartPointer< _TPlacer > > Placers;
53 std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
54 std::vector< vtkSmartPointer< vtkSeedRepresentation > > Representations;
55 unsigned int ActualWidgetId;
56 vtkSmartPointer< vtkCommand > Command;
59 SplineWidget* seedWidget,
61 vtkRenderWindowInteractor* iren
63 virtual ~TWidgetData( );
69 template< class _TImage >
70 inline void _GD0_Image( _TImage* image );
73 std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
74 std::vector< TWidgetData* > m_Widgets;
81 #endif // __cpPluginsVTKWidgets__SplineWidget__h__