]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/Visualization/WindowLevelImageActor.h
yet another refactoring
[cpPlugins.git] / lib / cpExtensions / Visualization / WindowLevelImageActor.h
diff --git a/lib/cpExtensions/Visualization/WindowLevelImageActor.h b/lib/cpExtensions/Visualization/WindowLevelImageActor.h
new file mode 100644 (file)
index 0000000..8af3943
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef __cpExtensions__Visualization__WindowLevelImageActor__h__
+#define __cpExtensions__Visualization__WindowLevelImageActor__h__
+
+#include <cpExtensions/Visualization/ImageActor.h>
+
+// -------------------------------------------------------------------------
+namespace cpExtensions
+{
+  namespace Visualization
+  {
+    /**
+     */
+    class cpExtensions_EXPORT WindowLevelImageActor
+      : public ImageActor
+    {
+    public:
+      typedef WindowLevelImageActor Self;
+
+    public:
+      vtkTypeMacro( WindowLevelImageActor, ImageActor );
+
+    public:
+      static Self* New( );
+
+      vtkImageData* GetImage( );
+      const vtkImageData* GetImage( ) const;
+      void SetImage( vtkImageData* image );
+
+      double GetLevel( ) const;
+      double GetWindow( ) const;
+      void GetWindowLevel( double wl[ 2 ] ) const;
+      void ResetWindowLevel( );
+      void SetLevel( double l );
+      void SetWindow( double w );
+      void SetWindowLevel( double w, double l );
+      void SetWindowLevel( double wl[ 2 ] );
+
+      double GetMinimum( ) const;
+      double GetMaximum( ) const;
+      void GetRange( double r[ 2 ] ) const;
+      void ResetRange( );
+      void SetMinimum( double a );
+      void SetMaximum( double b );
+      void SetRange( double a, double b );
+      void SetRange( double r[ 2 ] );
+
+    protected:
+      WindowLevelImageActor( );
+      virtual ~WindowLevelImageActor( );
+
+    private:
+      // Purposely not implemented
+      WindowLevelImageActor( const Self& );
+      Self& operator=( const Self& );
+
+    protected:
+      double m_Range[ 2 ];
+    };
+
+  } // ecapseman
+
+} // ecapseman
+
+#endif // __cpExtensions__Visualization__WindowLevelImageActor__h__
+
+// eof - $RCSfile$