]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/Interaction/ImageInteractorStyle.h
...
[cpPlugins.git] / lib / cpExtensions / Interaction / ImageInteractorStyle.h
index 99c0c1f9ff96610b778b94801cd876597aab4118..b63ca90fe65018750a060b412cabf4d8ba9e3476 100644 (file)
@@ -44,36 +44,16 @@ namespace cpExtensions
       // Widgets
       struct TSeedWidget
       {
-        vtkSmartPointer< vtkImageActorPointPlacer >       Placer;
-        vtkSmartPointer< vtkPointHandleRepresentation3D > Handle;
-        vtkSmartPointer< vtkSeedRepresentation >  Representation;
-        vtkSmartPointer< TSeedWidget >                    Widget;
-
-        TSeedWidget( vtkRenderWindowInteractor* interactor, vtkImageActor* actor )
-          {
-            this->Placer = vtkSmartPointer< vtkImageActorPointPlacer >::New( );
-            this->Handle = vtkSmartPointer< vtkPointHandleRepresentation3D >::New( );
-            this->Representation = vtkSmartPointer< vtkSeedRepresentation >::New( );
-            this->Widget = vtkSmartPointer< TSeedWidget >::New( );
-
-            this->Placer->SetImageActor( actor );
-            this->Handle->GetProperty( )->SetColor( 1, 0, 0 );
-            this->Handle->SetPointPlacer( this->Placer );
-            this->Representation->SetHandleRepresentation( this->Handle );
-            this->Widget->SetRepresentation( this->Representation );
-            this->Widget->SetInteractor( interactor );
-          }
-
-        void On( )
-          {
-            this->Widget->On( );
-          }
-
-        void Off( )
-          {
-            this->Widget->Off( );
-          }
-#error ACA VOY
+        vtkSmartPointer< vtkImageActorPointPlacer >              Placer;
+        vtkSmartPointer< vtkPointHandleRepresentation3D >        Handle;
+        vtkSmartPointer< vtkSeedRepresentation >         Representation;
+        vtkSmartPointer< SeedWidget > Widget;
+
+        TSeedWidget(
+          vtkRenderWindowInteractor* interactor, vtkImageActor* actor
+          );
+        void On( );
+        void Off( );
       };
 
     public:
@@ -82,6 +62,10 @@ namespace cpExtensions
       // Data for local picker
       virtual void AssociateImageActor( vtkImageActor* actor );
 
+      // Widgets
+      void SeedWidgetOn( );
+      void SeedWidgetOff( );
+
     protected:
       ImageInteractorStyle( );
       virtual ~ImageInteractorStyle( );
@@ -95,6 +79,8 @@ namespace cpExtensions
 
     protected:
       vtkSmartPointer< vtkPropPicker > m_PropPicker;
+
+      TSeedWidget* m_SeedWidget;
     };
 
   } // ecapseman