X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2Ffpa%2FVTK%2FImageMPR.h;h=e64ff8aa799637111d64e98796f685af26d2af21;hb=52c34a2aded47a2a3ce068887d9e4eeaf671568b;hp=6664d31343a1c9074ac59f5bde801c01a2ee285b;hpb=22051707794a9153acbfc489ec9a933471f13406;p=FrontAlgorithms.git diff --git a/lib/fpa/VTK/ImageMPR.h b/lib/fpa/VTK/ImageMPR.h index 6664d31..e64ff8a 100644 --- a/lib/fpa/VTK/ImageMPR.h +++ b/lib/fpa/VTK/ImageMPR.h @@ -5,56 +5,22 @@ #include #include +#include #include #include #include +#include #include #include #include #include #include #include +#include +#include #include #include - -#include -#include -#include -#include - -class vtkSeedWidget2 - : public vtkSeedWidget -{ -public: - // Description: - // Instantiate this class. - static vtkSeedWidget2 *New() - { - return new vtkSeedWidget2; - } - - // Description: - // Standard methods for a VTK class. - vtkTypeMacro(vtkSeedWidget2, vtkSeedWidget); - - virtual vtkPickingManager* GetPickingManager( ) - { - return( this->Superclass::GetPickingManager( ) ); - } - -protected: - vtkSeedWidget2() - : Superclass( ) - { - } - virtual ~vtkSeedWidget2() - { - } - -private: - vtkSeedWidget2(const vtkSeedWidget2&); //Not implemented - void operator=(const vtkSeedWidget2&); //Not implemented -}; +#include namespace fpa { @@ -72,36 +38,48 @@ namespace fpa void SetBackground( double r, double g, double b ); void SetSize( unsigned int w, unsigned int h ); - void AddPolyData( vtkPolyData* pd, double r, double g, double b ); + void AddPolyData( vtkPolyData* pd, double opacity = double( 1 ) ); + void AddPolyData( + vtkPolyData* pd, + double r, double g, double b, double opacity = double( 1 ) + ); + void AddPolyData( + vtkPolyData* pd, + vtkLookupTable* lut, + double opacity = double( 1 ) + ); + + unsigned int GetNumberOfSeeds( ) const; + void GetSeed( int n, double* s ) const; vtkRenderWindow* GetWindow( ) const; vtkRenderer* GetRenderer( ) const; void Start( ); + void Render( ); protected: - vtkSmartPointer< vtkImageData > m_Image; - vtkSmartPointer< vtkOutlineSource > m_Outline; - vtkSmartPointer< vtkPolyDataMapper > m_OutlineMapper; - vtkSmartPointer< vtkActor > m_OutlineActor; - vtkSmartPointer< vtkCellPicker > m_Picker; - vtkSmartPointer< vtkImagePlaneWidget > m_WidgetX; - vtkSmartPointer< vtkImagePlaneWidget > m_WidgetY; - vtkSmartPointer< vtkImagePlaneWidget > m_WidgetZ; - vtkSmartPointer< vtkRenderer > m_Renderer; - vtkSmartPointer< vtkRenderWindow > m_Window; + vtkSmartPointer< vtkImageData > m_Image; + vtkSmartPointer< vtkOutlineSource > m_Outline; + vtkSmartPointer< vtkPolyDataMapper > m_OutlineMapper; + vtkSmartPointer< vtkActor > m_OutlineActor; + vtkSmartPointer< vtkCellPicker > m_Picker; + vtkSmartPointer< vtkImagePlaneWidget > m_WidgetX; + vtkSmartPointer< vtkImagePlaneWidget > m_WidgetY; + vtkSmartPointer< vtkImagePlaneWidget > m_WidgetZ; + vtkSmartPointer< vtkRenderer > m_Renderer; + vtkSmartPointer< vtkRenderWindow > m_Window; vtkSmartPointer< vtkRenderWindowInteractor > m_Interactor; - std::vector< vtkSmartPointer< vtkPolyData > > m_PolyDatas; + std::vector< vtkSmartPointer< vtkPolyData > > m_PolyDatas; std::vector< vtkSmartPointer< vtkPolyDataMapper > > m_Mappers; - std::vector< vtkSmartPointer< vtkActor > > m_Actors; - + std::vector< vtkSmartPointer< vtkActor > > m_Actors; // Create the widget and its representation - vtkSmartPointer handlePointRep3D; - vtkSmartPointer seedRep; - vtkSmartPointer seedWidget; - + vtkSmartPointer< vtkPointHandleRepresentation3D > + m_SeedHandleRepresentation; + vtkSmartPointer< vtkSeedRepresentation > m_SeedRepresentation; + vtkSmartPointer< vtkSeedWidget > m_SeedWidget; }; } // ecapseman