--- /dev/null
+#ifndef __cpExtensions__QT__ImageWidget__h__
+#define __cpExtensions__QT__ImageWidget__h__
+
+#include <cpExtensions/QT/RendererWidget.h>
+
+// -------------------------------------------------------------------------
+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, const std::string& name, int orientation = 2
+ );
+ 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__QT__ImageWidget__h__
+
+// eof - $RCSfile$