![]() |
AAX SDK
2.4.1
Avid Audio Extensions Development Kit
|
#include <AAX_CPieceWiseLinearTaperDelegate.h>
A piece-wise linear taper conforming to AAX_ITaperDelegate.
This taper spaces a parameter's real values in a piecewise linear fashion.
To accomplish this behavior, the taper multiplies its unrounded parameter values by RealPrecision, rounds the result to the nearest valid value, then divides RealPrecision back out.
Rounding will be disabled if RealPrecision is set to a value less than 1
Public Member Functions | |
AAX_CPieceWiseLinearTaperDelegate (const double *normalizedValues, const T *realValues, int32_t numValues) | |
Constructs a Piece-wise Linear Taper with paired normalized and real values. More... | |
AAX_CPieceWiseLinearTaperDelegate (const AAX_CPieceWiseLinearTaperDelegate &other) | |
~AAX_CPieceWiseLinearTaperDelegate () | |
AAX_CPieceWiseLinearTaperDelegate< T, RealPrecision > * | Clone () const AAX_OVERRIDE |
Constructs and returns a copy of the taper delegate. More... | |
T | GetMinimumValue () const AAX_OVERRIDE |
Returns the taper's minimum real value. More... | |
T | GetMaximumValue () const AAX_OVERRIDE |
Returns the taper's maximum real value. More... | |
T | ConstrainRealValue (T value) const AAX_OVERRIDE |
Applies a contraint to the value and returns the constrained value. More... | |
T | NormalizedToReal (double normalizedValue) const AAX_OVERRIDE |
Converts a normalized value to a real value. More... | |
double | RealToNormalized (T realValue) const AAX_OVERRIDE |
Normalizes a real parameter value. More... | |
![]() | |
virtual | ~AAX_ITaperDelegateBase () |
Virtual destructor. More... | |
Protected Member Functions | |
T | Round (double iValue) const |
AAX_CPieceWiseLinearTaperDelegate< T, RealPrecision >::AAX_CPieceWiseLinearTaperDelegate | ( | const double * | normalizedValues, |
const T * | realValues, | ||
int32_t | numValues | ||
) |
Constructs a Piece-wise Linear Taper with paired normalized and real values.
[in] | normalizedValues | is an array of the normalized values in sorted order. (make sure to include the full normalized range, 0.0-1.0 inclusive) |
[in] | realValues | is an array of the corresponding real values to the normalized values passed in. |
[in] | numValues | is the number of values that have been passed in (i.e. the element length of the other input arrays) |
AAX_CPieceWiseLinearTaperDelegate< T, RealPrecision >::AAX_CPieceWiseLinearTaperDelegate | ( | const AAX_CPieceWiseLinearTaperDelegate< T, RealPrecision > & | other | ) |
AAX_CPieceWiseLinearTaperDelegate< T, RealPrecision >::~AAX_CPieceWiseLinearTaperDelegate |
|
virtual |
Constructs and returns a copy of the taper delegate.
In general, this method's implementation can use a simple copy constructor:
Implements AAX_ITaperDelegate< T >.
|
inlinevirtual |
Returns the taper's minimum real value.
Implements AAX_ITaperDelegate< T >.
|
inlinevirtual |
Returns the taper's maximum real value.
Implements AAX_ITaperDelegate< T >.
|
virtual |
Applies a contraint to the value and returns the constrained value.
This method is useful if the taper requires a contraint beyond simple minimum and maximum real value limits.
[in] | value | The unconstrained value |
Implements AAX_ITaperDelegate< T >.
|
virtual |
Converts a normalized value to a real value.
This is where the actual taper algorithm is implemented.
This function should perform the exact inverse of RealToNormalized(), to within the roundoff precision of the individual taper implementation.
[in] | normalizedValue | The normalized value that will be converted |
Implements AAX_ITaperDelegate< T >.
|
virtual |
Normalizes a real parameter value.
This is where the actual taper algorithm is implemented.
This function should perform the exact inverse of NormalizedToReal(), to within the roundoff precision of the individual taper implementation.
[in] | realValue | The real parameter value that will be normalized |
Implements AAX_ITaperDelegate< T >.
|
protected |