35#ifndef AAX_CSTATETAPERDELEGATE_H
36#define AAX_CSTATETAPERDELEGATE_H
98 if (mMinValue == mMaxValue)
101 const T& highValue = mMaxValue > mMinValue ? mMaxValue : mMinValue;
102 const T& lowValue = mMaxValue > mMinValue ? mMinValue : mMaxValue;
104 if (value > highValue)
106 if (value < lowValue)
115 double doubleRealValue = normalizedValue * (double(mMaxValue) - double(mMinValue)) +
double(mMinValue);
116 if ( doubleRealValue >= 0 )
117 doubleRealValue += 0.5;
118 else doubleRealValue -= 0.5;
119 return ConstrainRealValue(
static_cast<T
>(doubleRealValue));
125 realValue = ConstrainRealValue(realValue);
126 double normalizedValue = (mMaxValue == mMinValue) ? 0.5 : (
double(realValue) - double(mMinValue)) / (
double(mMaxValue) - double(mMinValue));
127 return normalizedValue;
Defines the taper conversion behavior for a parameter.
Various utility definitions for AAX.
#define AAX_OVERRIDE
override keyword macro
Definition: AAX.h:164
A linear taper conforming to AAX_ITaperDelegate.
Definition: AAX_CStateTaperDelegate.h:57
T NormalizedToReal(double normalizedValue) const AAX_OVERRIDE
Converts a normalized value to a real value.
Definition: AAX_CStateTaperDelegate.h:113
T GetMinimumValue() const AAX_OVERRIDE
Returns the taper's minimum real value.
Definition: AAX_CStateTaperDelegate.h:70
AAX_CStateTaperDelegate< T > * Clone() const AAX_OVERRIDE
Constructs and returns a copy of the taper delegate.
Definition: AAX_CStateTaperDelegate.h:90
T ConstrainRealValue(T value) const AAX_OVERRIDE
Applies a contraint to the value and returns the constrained value.
Definition: AAX_CStateTaperDelegate.h:96
AAX_CStateTaperDelegate(T minValue=0, T maxValue=1)
Constructs a State Taper with specified minimum and maximum values.
Definition: AAX_CStateTaperDelegate.h:82
T GetMaximumValue() const AAX_OVERRIDE
Returns the taper's maximum real value.
Definition: AAX_CStateTaperDelegate.h:71
double RealToNormalized(T realValue) const AAX_OVERRIDE
Normalizes a real parameter value.
Definition: AAX_CStateTaperDelegate.h:123
Definition: AAX_ITaperDelegate.h:99