]> Creatis software - cpPlugins.git/blob - plugins/Widgets/SplineWidget.h
7eaeccdabeefcf1e6ff4698f827beed43a503e14
[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   public:
33     virtual void Clear( ) cpPlugins_OVERRIDE;
34     virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
35
36   protected:
37     bool m_Configured;
38     vtkSmartPointer< vtkPolyData > m_Contour;
39
40     /* TODO:
41        public:
42        typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
43
44        public:
45        struct TWidgetData
46        {
47        typedef cpExtensions::Interaction::SplineWidget            _TWidget;
48        typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
49
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;
56
57        TWidgetData(
58        SplineWidget* seedWidget,
59        TImageActor* actor,
60        vtkRenderWindowInteractor* iren
61        );
62        virtual ~TWidgetData( );
63        };
64
65        protected:
66        void _Configure( );
67
68        template< class _TImage >
69        inline void _GD0_Image( _TImage* image );
70
71        protected:
72        std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
73        std::vector< TWidgetData* > m_Widgets;
74        bool m_Configured;
75     */
76   };
77
78 } // ecapseman
79
80 #endif // __cpPluginsWidgets__SplineWidget__h__
81
82 // eof - $RCSfile$