25 #ifndef AAX_CLINEARTAPERDELEGATE_H
26 #define AAX_CLINEARTAPERDELEGATE_H
59 template <
typename T,
int32_t RealPrecision=0>
81 T
Round(
double iValue)
const;
88 template <
typename T,
int32_t RealPrecision>
91 double precision = RealPrecision;
93 return static_cast<T
>(floor(iValue * precision + 0.5) / precision);
94 return static_cast<T
>(iValue);
97 template <
typename T,
int32_t RealPrecision>
105 template <
typename T,
int32_t RealPrecision>
111 template <
typename T,
int32_t RealPrecision>
115 value = Round(value);
117 if (value > mMaxValue)
119 if (value < mMinValue)
124 template <
typename T,
int32_t RealPrecision>
127 double doubleRealValue = normalizedValue * (double(mMaxValue) - double(mMinValue)) +
double(mMinValue);
130 T realValue = (0 != RealPrecision) ? Round(doubleRealValue) :
static_cast<T
>(doubleRealValue);
132 return ConstrainRealValue(realValue);
135 template <
typename T,
int32_t RealPrecision>
138 realValue = ConstrainRealValue(realValue);
139 double normalizedValue = (double(realValue) - double(mMinValue)) / (
double(mMaxValue) - double(mMinValue));
140 return normalizedValue;
146 #endif //AAX_CLINEARTAPERDELEGATE_H
Various utility definitions for AAX.
virtual T NormalizedToReal(double normalizedValue) const
Converts a normalized value to a real value.
Definition: AAX_CLinearTaperDelegate.h:125
T GetMinimumValue() const
Returns the taper's minimum real value.
Definition: AAX_CLinearTaperDelegate.h:74
Defines the taper conversion behavior for a parameter.
T ConstrainRealValue(T value) const
Applies a contraint to the value and returns the constrained value.
Definition: AAX_CLinearTaperDelegate.h:112
virtual double RealToNormalized(T realValue) const
Normalizes a real parameter value.
Definition: AAX_CLinearTaperDelegate.h:136
Classes for conversion to and from normalized parameter values.
Definition: AAX_ITaperDelegate.h:88
AAX_CLinearTaperDelegate(T minValue=0, T maxValue=1)
Constructs a Linear Taper with specified minimum and maximum values.
Definition: AAX_CLinearTaperDelegate.h:98
A linear taper conforming to AAX_ITaperDelegate.
Definition: AAX_CLinearTaperDelegate.h:60
T GetMaximumValue() const
Returns the taper's maximum real value.
Definition: AAX_CLinearTaperDelegate.h:75
T Round(double iValue) const
Definition: AAX_CLinearTaperDelegate.h:89
AAX_CLinearTaperDelegate< T, RealPrecision > * Clone() const
Constructs and returns a copy of the taper delegate.
Definition: AAX_CLinearTaperDelegate.h:106