#ifndef __cpExtensions__QT__ImageWidget__h__ #define __cpExtensions__QT__ImageWidget__h__ #include #ifdef cpExtensions_QT4 // ------------------------------------------------------------------------- class vtkDataSet; // ------------------------------------------------------------------------- namespace cpExtensions { namespace Visualization { class OutlineSource; class LUTImageActor; class WindowLevelImageActor; class MeshActor; } namespace Interaction { class ImageSliceStyle; } namespace QT { /** */ class cpExtensions_EXPORT ImageWidget : public RendererWidget { Q_OBJECT; public: typedef ImageWidget Self; typedef RendererWidget Superclass; typedef cpExtensions::Visualization::OutlineSource TOutline; typedef cpExtensions::Visualization::MeshActor TActor; typedef cpExtensions::Visualization::LUTImageActor TLUTActor; typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor; typedef cpExtensions::Interaction::ImageSliceStyle TStyle; public: explicit ImageWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 ); virtual ~ImageWidget( ); void Clear( ); void SetImage( vtkImageData* image, int orientation, const std::string& name ); void Add( vtkDataSet* data, const std::string& name ); virtual void ResetCamera( ) cpExtensions_OVERRIDE; TWLActor* GetImageActor( ); const TWLActor* GetImageActor( ) const; void SetColor( const std::string& name, double r, double g, double b ); void SetLineWidth( const std::string& name, double w ); protected: std::string m_ImageName; vtkSmartPointer< TWLActor > m_WLActor; vtkSmartPointer< TLUTActor > m_LUTActor; vtkSmartPointer< TOutline > m_Outline; TActor* m_OutlineActor; std::vector< TActor* > m_Actors; vtkSmartPointer< TStyle > m_Style; }; } // ecapseman } // ecapseman #endif // cpExtensions_QT4 #endif // __cpExtensions__QT__ImageWidget__h__ // eof - $RCSfile$