#ifndef __CPPLUGINSWIDGETS__SEEDWIDGET__H__ #define __CPPLUGINSWIDGETS__SEEDWIDGET__H__ #include #include #include #include #include #include #include #include #include #include namespace cpPluginsWidgets { /** */ class cpPluginsWidgets_EXPORT SeedWidget : public cpPlugins::BaseObjects::Widget { cpPluginsObject( SeedWidget, cpPlugins::BaseObjects::Widget, Widgets ); public: typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor; public: /* TODO struct TWidgetData { typedef cpExtensions::Interaction::SeedWidget _TWidget; typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer; 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 ); virtual ~TWidgetData( ); }; */ struct TWidgetData { typedef cpExtensions::Interaction::SeedWidget _TWidget; typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer; vtkSmartPointer< _TWidget > Widget; vtkSmartPointer< _TPlacer > Placer; vtkSmartPointer< vtkPointHandleRepresentation3D > Handle; vtkSmartPointer< vtkSeedRepresentation > Representation; TWidgetData( SeedWidget* seedWidget, TImageActor* actor, vtkRenderWindowInteractor* iren ); virtual ~TWidgetData( ); }; protected: void _Configure( ); template< class _TImage > inline void _GD0_Image( _TImage* image ); protected: std::map< vtkRenderWindowInteractor*, TWidgetData* > m_Data; /* TODO std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props; std::vector< TWidgetData* > m_Widgets; bool m_Configured; */ }; } // ecapseman #endif // __CPPLUGINSWIDGETS__SEEDWIDGET__H__ // eof - $RCSfile$