]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/RGBImageToHSVChannelsFilter.h
Garbage collector added
[cpPlugins.git] / lib / cpPlugins / Plugins / RGBImageToHSVChannelsFilter.h
index bbe124a63e98a1c290d3e4b6cc1614a25a8217a2..d9fe353a84ec9e1f9a08621d762988ce4d5bce06 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <cpPlugins/Plugins/cpPlugins_Export.h>
 #include <cpPlugins/Interface/ImageToImageFilter.h>
-#include <itkProcessObject.h>
 
 namespace cpPlugins
 {
@@ -17,17 +16,26 @@ namespace cpPlugins
     public:
       typedef RGBImageToHSVChannelsFilter              Self;
       typedef cpPlugins::Interface::ImageToImageFilter Superclass;
+      typedef itk::SmartPointer< Self >                Pointer;
+      typedef itk::SmartPointer< const Self >          ConstPointer;
 
       typedef Superclass::TParameter  TParameter;
       typedef Superclass::TParameters TParameters;
 
     public:
-      RGBImageToHSVChannelsFilter( );
-      virtual ~RGBImageToHSVChannelsFilter( );
+      itkNewMacro( Self );
+      itkTypeMacro(
+        RGBImageToHSVChannelsFilter,
+        cpPluginsInterfaceImageToImageFilter
+        );
 
+    public:
       virtual std::string GetClassName( ) const;
 
     protected:
+      RGBImageToHSVChannelsFilter( );
+      virtual ~RGBImageToHSVChannelsFilter( );
+
       virtual std::string _GenerateData( );
 
       template< unsigned int D >
@@ -36,12 +44,14 @@ namespace cpPlugins
       template< class P, unsigned int D >
       std::string _GD1( );
 
-    protected:
-      itk::ProcessObject::Pointer m_Filter;
+    private:
+      // Purposely not implemented
+      RGBImageToHSVChannelsFilter( const Self& );
+      Self& operator=( const Self& );
     };
 
     // ---------------------------------------------------------------------
-    PLUMA_INHERIT_PROVIDER(
+    PLUMA_INHERIT_PROVIDER_CPPLUGINS(
       RGBImageToHSVChannelsFilter,
       cpPlugins::Interface::Object
       );