]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/QT/ImageWidget.h
...
[cpPlugins.git] / lib / cpExtensions / QT / ImageWidget.h
index cbf3885699cac00ca0ec0071ab3d8d3fc8b6c476..18073d6aa6327bdf26bcc84ff87987bb9758f42d 100644 (file)
@@ -3,16 +3,18 @@
 
 #include <cpExtensions/QT/RendererWidget.h>
 
-#ifdef cpExtensions_QT4
-
+// -------------------------------------------------------------------------
 class vtkDataSet;
 
+// -------------------------------------------------------------------------
 namespace cpExtensions
 {
   namespace Visualization
   {
-    class ImageSliceActors;
-    class ImageViewerActors;
+    class OutlineSource;
+    class LUTImageActor;
+    class WindowLevelImageActor;
+    class MeshActor;
   }
   namespace Interaction { class ImageSliceStyle; }
 
@@ -29,48 +31,45 @@ namespace cpExtensions
       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( );
 
-      vtkInteractorStyle* GetInteractorStyle( );
-      const vtkInteractorStyle* GetInteractorStyle( ) const;
-
+      void Clear( );
       void SetImage(
-        vtkImageData* image, int orientation, const std::string& name
+        vtkImageData* image, const std::string& name, int orientation = 2
         );
       void Add( vtkDataSet* data, const std::string& name );
-
-      // TODO: std::vector< vtkProp* > GetActors( const std::string& name ) const;
-      int GetOrientation( ) const;
-      void SetSliceNumber( int slice );
-
       virtual void ResetCamera( ) cpExtensions_OVERRIDE;
 
-      void GetScalarRange( double r[ 2 ] ) const;
-      void GetWindowLevel( double wl[ 2 ] ) const;
-      double GetImageOpacity( ) const;
-      unsigned char GetImageInterpolation( ) const;
+      TWLActor* GetImageActor( );
+      const TWLActor* GetImageActor( ) const;
 
-      void SetScalarRange( double r[ 2 ] );
-      void SetWindowLevel( double wl[ 2 ] );
-      void SetImageOpacity( double o );
-      void SetImageInterpolation( unsigned char i );
+      void SetColor( const std::string& name, double r, double g, double b ) override;
+      void SetLineWidth( const std::string& name, double w ) override;
 
     protected:
-      vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors >
-        m_ImageViewerActors;
-      vtkSmartPointer< cpExtensions::Interaction::ImageSliceStyle >
-        m_ImageSliceStyle;
       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$