X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FInteraction%2FImageInteractorStyle.h;h=45a349f8e46ceb42ee8b26b9f0b0bcacbb50acbf;hb=dbc5b32e13cf4a299ce29a5666a8e0a2ff5e62a8;hp=7664c137ff1b943d36e6659830276d7b1a66fd2f;hpb=4a793c6b8f400b2303a3f69680aea22948d8ecc6;p=cpPlugins.git diff --git a/lib/cpExtensions/Interaction/ImageInteractorStyle.h b/lib/cpExtensions/Interaction/ImageInteractorStyle.h index 7664c13..45a349f 100644 --- a/lib/cpExtensions/Interaction/ImageInteractorStyle.h +++ b/lib/cpExtensions/Interaction/ImageInteractorStyle.h @@ -6,9 +6,14 @@ #include #include +#include #include +#include +#include +#include // Forward definitions +class vtkCommand; class vtkImageActor; namespace cpExtensions @@ -37,12 +42,34 @@ namespace cpExtensions typedef Superclass::TEnterCommand TEnterCommand; typedef Superclass::TLeaveCommand TLeaveCommand; + // Widgets + struct TSeedWidget + { + vtkSmartPointer< vtkImageActorPointPlacer > Placer; + vtkSmartPointer< vtkPointHandleRepresentation3D > Handle; + vtkSmartPointer< vtkSeedRepresentation > Representation; + vtkSmartPointer< SeedWidget > Widget; + + TSeedWidget( + vtkRenderWindowInteractor* interactor, vtkImageActor* actor + ); + void On( ); + void Off( ); + }; + public: static Self* New( ); // Data for local picker virtual void AssociateImageActor( vtkImageActor* actor ); + // Widgets + void SeedWidgetOn( ); + void SeedWidgetOff( ); + void SetSeedWidgetCommand( vtkCommand* cmd ); + unsigned int GetNumberOfSeeds( ) const; + void GetSeed( unsigned int id, double pos[ 3 ] ) const; + protected: ImageInteractorStyle( ); virtual ~ImageInteractorStyle( ); @@ -56,6 +83,8 @@ namespace cpExtensions protected: vtkSmartPointer< vtkPropPicker > m_PropPicker; + + TSeedWidget* m_SeedWidget; }; } // ecapseman