]> Creatis software - cpPlugins.git/blobdiff - plugins/cpPluginsWidgets/SeedWidget.h
...
[cpPlugins.git] / plugins / cpPluginsWidgets / SeedWidget.h
index b53b346281972d1413c9e00bc6dcfe7bcfc9bf4a..74dfc0b40b476a05e6ad463a5184adbeca31cbcc 100644 (file)
@@ -4,6 +4,12 @@
 #include <plugins/cpPluginsWidgets/cpPluginsWidgets_Export.h>
 #include <cpPlugins/BaseWidget.h>
 
+#include <cpExtensions/Interaction/SeedWidget.h>
+#include <vtkImageActorPointPlacer.h>
+#include <vtkPointHandleRepresentation3D.h>
+#include <vtkSeedRepresentation.h>
+#include <vtkSmartPointer.h>
+
 namespace cpPluginsWidgets
 {
   /**
@@ -22,6 +28,20 @@ namespace cpPluginsWidgets
     itkTypeMacro( SeedWidget, cpPlugins::BaseWidget );
     cpPlugins_Id_Macro( SeedWidget, Widgets );
 
+    struct WidgetData
+    {
+      vtkSmartPointer< cpExtensions::Interaction::SeedWidget > Widget;
+      vtkSmartPointer< vtkImageActorPointPlacer >              Placer;
+      vtkSmartPointer< vtkPointHandleRepresentation3D >        Handle;
+      vtkSmartPointer< vtkSeedRepresentation >                 Seed;
+
+      void Configure(
+        vtkRenderWindowInteractor* interactor, vtkImageActor* actor
+        );
+      void On( );
+      void Off( );
+    };
+
   public:
     virtual itk::ModifiedTimeType GetMTime( ) const ITK_OVERRIDE;
 
@@ -31,8 +51,10 @@ namespace cpPluginsWidgets
 
     virtual void _GenerateData( ) ITK_OVERRIDE;
 
-    template< class _TImage >
-      inline void _GD0( _TImage* image );
+    /* TODO
+       template< class _TImage >
+       inline void _GD0( _TImage* image );
+    */
 
   private:
     // Purposely not implemented
@@ -41,6 +63,7 @@ namespace cpPluginsWidgets
 
   protected:
     bool m_Configured;
+    std::vector< WidgetData > m_Widgets;
   };
 
 } // ecapseman