X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2FWidgets%2FSeedWidget.h;h=c185f1114df19d127af56212cefdb3828b9bb70e;hb=3393941bf8f26babc7b592db434b40c1b747a687;hp=5c9e68a6b8dbe683daba1231afb2bbc97789e723;hpb=201c5026430f9bcc33f9db6a39f5d03db096c860;p=cpPlugins.git diff --git a/plugins/Widgets/SeedWidget.h b/plugins/Widgets/SeedWidget.h index 5c9e68a..c185f11 100644 --- a/plugins/Widgets/SeedWidget.h +++ b/plugins/Widgets/SeedWidget.h @@ -1,64 +1,61 @@ #ifndef __CPPLUGINSWIDGETS__SEEDWIDGET__H__ #define __CPPLUGINSWIDGETS__SEEDWIDGET__H__ -#include -#include +#include +#include #include -#include +#include +#include +#include #include #include #include +#include namespace cpPluginsWidgets { /** */ class cpPluginsWidgets_EXPORT SeedWidget - : public cpPlugins::BaseWidget + : public cpPlugins::BaseObjects::Widget { - cpPluginsObject; - public: - typedef SeedWidget Self; - typedef cpPlugins::BaseWidget Superclass; - typedef itk::SmartPointer< Self > Pointer; - typedef itk::SmartPointer< const Self > ConstPointer; + cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets ); public: - itkNewMacro( Self ); - itkTypeMacro( SeedWidget, cpPlugins::BaseWidget ); - cpPlugins_Id_Macro( SeedWidget, Widgets ); + typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor; - struct WidgetData + public: + struct TWidgetData { - vtkSmartPointer< cpExtensions::Interaction::SeedWidget > Widget; - vtkSmartPointer< vtkImageActorPointPlacer > Placer; - vtkSmartPointer< vtkPointHandleRepresentation3D > Handle; - vtkSmartPointer< vtkSeedRepresentation > Seed; + typedef cpExtensions::Interaction::SeedWidget _TWidget; + typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer; - void Configure( - cpPluginsWidgets::SeedWidget* parent, - vtkRenderWindowInteractor* interactor, vtkImageActor* actor + std::vector< vtkSmartPointer< _TWidget > > Widgets; + std::vector< vtkSmartPointer< _TPlacer > > Placers; + std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles; + std::vector< vtkSmartPointer< vtkSeedRepresentation > > Representations; + unsigned int ActualWidgetId; + vtkSmartPointer< vtkCommand > Command; + + TWidgetData( + SeedWidget* seedWidget, + TImageActor* actor, + vtkRenderWindowInteractor* iren ); - void On( ); - void Off( ); + virtual ~TWidgetData( ); }; protected: - SeedWidget( ); - virtual ~SeedWidget( ); - - virtual void _GenerateData( ) ITK_OVERRIDE; + void _Configure( ); - private: - // Purposely not implemented - SeedWidget( const Self& ); - Self& operator=( const Self& ); + template< class _TImage > + inline void _GD0_Image( _TImage* image ); protected: + std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props; + std::vector< TWidgetData* > m_Widgets; bool m_Configured; - std::vector< WidgetData > m_Widgets; - unsigned int m_InitialNumberOfSeeds; }; } // ecapseman