]> Creatis software - cpPlugins.git/blob - plugins/Widgets/SplineWidget.h
83b57b2c93c8d50eb83440a15a6ce802eac92f07
[cpPlugins.git] / plugins / Widgets / SplineWidget.h
1 #ifndef __cpPluginsWidgets__SplineWidget__h__
2 #define __cpPluginsWidgets__SplineWidget__h__
3
4 #include <plugins/cpPluginsWidgets_Export.h>
5 #include <cpPlugins/BaseObjects/Widget.h>
6
7 #include <vtkSmartPointer.h>
8
9 /* TODO
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>
16    #include <map>
17 */
18
19 // -------------------------------------------------------------------------
20 class vtkPolyData;
21
22 // -------------------------------------------------------------------------
23 namespace cpPluginsWidgets
24 {
25   /**
26    */
27   class cpPluginsWidgets_EXPORT SplineWidget
28     : public cpPlugins::BaseObjects::Widget
29   {
30     cpPluginsObject( SplineWidget, cpPlugins::BaseObjects::Widget, Widgets );
31
32   protected:
33     bool m_Configured;
34     vtkSmartPointer< vtkPolyData > m_Contour;
35
36     /* TODO:
37        public:
38        typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
39
40        public:
41        struct TWidgetData
42        {
43        typedef cpExtensions::Interaction::SplineWidget            _TWidget;
44        typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
45
46        std::vector< vtkSmartPointer< _TWidget > >                       Widgets;
47        std::vector< vtkSmartPointer< _TPlacer > >                       Placers;
48        std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
49        std::vector< vtkSmartPointer< vtkSeedRepresentation > >  Representations;
50        unsigned int ActualWidgetId;
51        vtkSmartPointer< vtkCommand > Command;
52
53        TWidgetData(
54        SplineWidget* seedWidget,
55        TImageActor* actor,
56        vtkRenderWindowInteractor* iren
57        );
58        virtual ~TWidgetData( );
59        };
60
61        protected:
62        void _Configure( );
63
64        template< class _TImage >
65        inline void _GD0_Image( _TImage* image );
66
67        protected:
68        std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
69        std::vector< TWidgetData* > m_Widgets;
70        bool m_Configured;
71     */
72   };
73
74 } // ecapseman
75
76 #endif // __cpPluginsWidgets__SplineWidget__h__
77
78 // eof - $RCSfile$