8 #include <parameternumeric.h> 
    9 #include <parametervec.h> 
   10 #include <parametercolor.h> 
   11 #include <parametersimple.h> 
   12 #include <parameterquat.h> 
   21     class BaseParameterBlender;
 
   67         void blend(
float value);
 
   89         bool hasTarget() 
const;
 
  105         const T& getTarget() 
const;
 
  119         virtual void onBlend(
float value) = 0;
 
  125         virtual void onSync() = 0;
 
  130         virtual void onTargetSet() = 0;
 
  149     template<
typename ParamType, 
typename ValueType>
 
  173         virtual void onBlend(
float value) 
override;
 
  178         virtual void onSync() 
override;
 
  186         ValueType mSourceValue;
 
  215         assert(mTarget != 
nullptr);
 
  216         assert(mTarget->get_type().is_derived_from(RTTI_OF(T)));
 
  217         return static_cast<const T&
>(*mTarget);
 
  223         assert(mParameter != 
nullptr);
 
  224         assert(mParameter->get_type().is_derived_from(RTTI_OF(T)));
 
  225         return static_cast<T&
>(*mParameter);
 
  228     template<
typename ParamType, 
typename ValueType>
 
  231         this->mSourceValue = parameter.mValue;
 
  234     template<
typename ParamType, 
typename ValueType>
 
  237         assert(parameter.get_type().is_derived_from(RTTI_OF(ParamType)));
 
  238         this->mSourceValue = this->getParameter<ParamType>().mValue;
 
  241     template<
typename ParamType, 
typename ValueType>
 
  244         ValueType lval = math::lerp<ValueType>(mSourceValue, getTarget<ParamType>().mValue, value);
 
  245         getParameter<ParamType>().setValue(lval);
 
  248     template<
typename ParamType, 
typename ValueType>
 
  254     template<
typename ParamType, 
typename ValueType>
 
  257         const ParamType& source = getParameter<ParamType>();
 
  258         this->mSourceValue = source.mValue;
 
  
Definition: parameter.h:20
ParameterBlender(ParamType ¶meter)
Definition: parameterblender.h:229
virtual void onSync() override
Definition: parameterblender.h:255
virtual void onBlend(float value) override
Definition: parameterblender.h:242
Definition: parameterblender.h:48
std::unique_ptr< BaseParameterBlender > NAPAPI getParameterBlender(nap::Parameter ¶m)
bool NAPAPI registerParameterBlender(rtti::TypeInfo inParameterType, rtti::TypeInfo inBlenderType)
Definition: templateapp.h:17
const Parameter & getParameter() const
rttr::type TypeInfo
Definition: typeinfo.h:141
const Parameter & getTarget() const
Definition: parameterblender.h:150
virtual void onTargetSet() override
Definition: parameterblender.h:249