X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FQT%2FRendererWidget.h;h=256c5b10c9a4a379457d65a81d9690b2d27c1f66;hb=73a0f5c554b34a173cdccf23f3493b5435c4f86b;hp=b43a3bc7aafe438a93ff87a4d300d23b1edbec7b;hpb=3393941bf8f26babc7b592db434b40c1b747a687;p=cpPlugins.git diff --git a/lib/cpExtensions/QT/RendererWidget.h b/lib/cpExtensions/QT/RendererWidget.h index b43a3bc..256c5b1 100644 --- a/lib/cpExtensions/QT/RendererWidget.h +++ b/lib/cpExtensions/QT/RendererWidget.h @@ -5,9 +5,11 @@ #ifdef cpExtensions_QT4 +#include #include #include #include +#include // ------------------------------------------------------------------------- class vtkCamera; @@ -15,30 +17,41 @@ class vtkInteractorStyle; class vtkOrientationMarkerWidget; class vtkProp; class vtkPropCollection; -class vtkRenderer; // ------------------------------------------------------------------------- namespace cpExtensions { + namespace Visualization + { + class LUTImageActor; + class WindowLevelImageActor; + } + namespace QT { /** */ class cpExtensions_EXPORT RendererWidget - : public cpExtensions_QVTKWidget + : public cpExtensions_QVTKWidget, + public ActorsWidgetInterface { Q_OBJECT; public: typedef RendererWidget Self; typedef cpExtensions_QVTKWidget Superclass; + typedef ActorsWidgetInterface Superclass2; - typedef - std::map< std::string, vtkSmartPointer< vtkPropCollection > > - TProps; + typedef std::set< vtkSmartPointer< vtkProp > > TProps; + typedef std::map< std::string, TProps > TPropCollection; + + typedef cpExtensions::Visualization::LUTImageActor TLUTActor; + typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor; public: - explicit RendererWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 ); + explicit RendererWidget( + QWidget* parent = NULL, Qt::WindowFlags f = 0 + ); virtual ~RendererWidget( ); int GetQuadrant( ) const; @@ -54,15 +67,19 @@ namespace cpExtensions vtkCamera* GetActiveCamera( ); const vtkCamera* GetActiveCamera( ) const; - void AddViewProp( vtkProp* prop, const std::string& name ); - void AddViewProps( vtkPropCollection* props, const std::string& name ); - void AddAuxViewProp( vtkProp* prop, const std::string& name ); - void AddAuxViewProps( vtkPropCollection* props, const std::string& name ); + void AddViewProp( vtkProp* prop, const std::string& name = "" ); + void AddViewProps( + vtkPropCollection* props, const std::string& name = "" + ); + void AddAuxViewProp( vtkProp* prop, const std::string& name = "" ); + void AddAuxViewProps( + vtkPropCollection* props, const std::string& name = "" + ); - vtkPropCollection* GetViewProps( const std::string& name ); - const vtkPropCollection* GetViewProps( const std::string& name ) const; - vtkPropCollection* GetAuxViewProps( const std::string& name ); - const vtkPropCollection* GetAuxViewProps( const std::string& name ) const; + TProps& GetViewProps( const std::string& name ); + const TProps& GetViewProps( const std::string& name ) const; + TProps& GetAuxViewProps( const std::string& name ); + const TProps& GetAuxViewProps( const std::string& name ) const; void RemoveViewProps( const std::string& name ); void RemoveViewProps( ); @@ -73,13 +90,46 @@ namespace cpExtensions virtual void ResetCamera( ); virtual void Render( ); + virtual std::set< std::string > GetActorsNames( ) const cpExtensions_OVERRIDE; + virtual bool IsWindowLevelImageActor( const std::string& name ) const cpExtensions_OVERRIDE; + virtual bool IsLUTImageActor( const std::string& name ) const cpExtensions_OVERRIDE; + virtual bool Is3DActor( const std::string& name ) const cpExtensions_OVERRIDE; + + virtual void GetScalarRange( const std::string& name, double r[ 2 ] ) const cpExtensions_OVERRIDE; + virtual void GetWindowLevel( const std::string& name, double wl[ 2 ] ) const cpExtensions_OVERRIDE; + virtual double GetWindow( const std::string& name ) const cpExtensions_OVERRIDE; + virtual double GetLevel( const std::string& name ) const cpExtensions_OVERRIDE; + virtual char GetImageInterpolation( const std::string& name ) const cpExtensions_OVERRIDE; + + virtual void GetColor( const std::string& name, double& r, double& g, double& b ) const cpExtensions_OVERRIDE; + virtual double GetOpacity( const std::string& name ) const cpExtensions_OVERRIDE; + virtual double GetPointSize( const std::string& name ) const cpExtensions_OVERRIDE; + virtual double GetLineWidth( const std::string& name ) const cpExtensions_OVERRIDE; + virtual int GetRepresentation( const std::string& name ) const cpExtensions_OVERRIDE; + + virtual void SetScalarRange( const std::string& name, double r[ 2 ] ) cpExtensions_OVERRIDE; + virtual void SetScalarRange( const std::string& name, double min, double max ) cpExtensions_OVERRIDE; + virtual void SetWindowLevel( const std::string& name, double wl[ 2 ] ) cpExtensions_OVERRIDE; + virtual void SetWindowLevel( const std::string& name, double w, double l ) cpExtensions_OVERRIDE; + virtual void SetWindow( const std::string& name, double w ) cpExtensions_OVERRIDE; + virtual void SetLevel( const std::string& name, double l ) cpExtensions_OVERRIDE; + virtual void SetImageInterpolation( const std::string& name, char i ) cpExtensions_OVERRIDE; + + virtual void SetColor( const std::string& name, double r, double g, double b ) cpExtensions_OVERRIDE; + virtual void SetOpacity( const std::string& name, double o ) cpExtensions_OVERRIDE; + virtual void SetPointSize( const std::string& name, double s ) cpExtensions_OVERRIDE; + virtual void SetLineWidth( const std::string& name, double w ) cpExtensions_OVERRIDE; + virtual void SetRepresentationToPoints( const std::string& name ) cpExtensions_OVERRIDE; + virtual void SetRepresentationToSurface( const std::string& name ) cpExtensions_OVERRIDE; + virtual void SetRepresentationToWireframe( const std::string& name ) cpExtensions_OVERRIDE; + protected: - vtkSmartPointer< vtkRenderer > m_Renderer; + vtkSmartPointer< vtkRenderer > m_Renderer; vtkSmartPointer< vtkOrientationMarkerWidget > m_Marker; int m_Quadrant; - TProps m_ViewProps; - TProps m_AuxViewProps; + TPropCollection m_ViewProps; + TPropCollection m_AuxViewProps; }; } // ecapseman