From c370d1fa5dd07cd603bcce8a383373b6553e65df Mon Sep 17 00:00:00 2001 From: Guillaume Pasero <guillaume.pasero@c-s.fr> Date: Thu, 9 Nov 2017 16:24:48 +0100 Subject: [PATCH] ENH: Parameter can't be instanciated anymore, HasValue() pure virtual --- .../ApplicationEngine/include/otbWrapperParameter.h | 10 ++-------- .../include/otbWrapperProxyParameter.h | 5 +++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h index 31cec95b16..236411f8f2 100644 --- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h +++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h @@ -70,9 +70,6 @@ public: typedef itk::SmartPointer<Self> Pointer; typedef itk::SmartPointer<const Self> ConstPointer; - /** Defining ::New() static method */ - itkNewMacro(Self); - /** RTTI support */ itkTypeMacro(Parameter, itk::Object); @@ -151,14 +148,11 @@ public: { } - virtual bool HasValue() const - { - itkExceptionMacro(<<"HasValue() method must be re-implemented by sub-classes."); - } + virtual bool HasValue() const = 0; virtual bool HasUserValue() const { - return HasValue() && m_UserValue; + return this->HasValue() && m_UserValue; } virtual void SetUserValue(bool isUserValue) diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h index 1a93c24454..c7594f8c5d 100644 --- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h +++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h @@ -70,6 +70,11 @@ public: return m_Target; } + bool HasValue() const override + { + return m_Target.first.IsNotNull(); + } + protected: ProxyParameter() {} ~ProxyParameter() ITK_OVERRIDE {} -- GitLab