|
Kanzi Graphics Engine
|
Core component for smooth interpolation in code. More...
Functions | |
| kzsError | kzcInterpolatedValueCreate (const struct KzcMemoryManager *memoryManager, kzFloat startingValue, kzFloat accelerationCoefficient, kzFloat dragCoefficient, struct KzcInterpolatedValue **out_interpolatedValue) |
| Creates an interpolated value integrator. More... | |
| kzsError | kzcInterpolatedValueDelete (struct KzcInterpolatedValue *interpolatedValue) |
| Deletes an interpolated value integrator. More... | |
| void | kzcInterpolatedValueInitializeBoundMode (struct KzcInterpolatedValue *interpolatedValue, kzFloat accelerationCoefficient, kzFloat dragCoefficient) |
| Initializes simulation variables. More... | |
| void | kzcInterpolatedValueSetMinimumValue (struct KzcInterpolatedValue *interpolatedValue, kzFloat minimumValue) |
| Sets minimum value for interpolator. More... | |
| kzFloat | kzcInterpolatedValueGetMinimumValue (const struct KzcInterpolatedValue *interpolatedValue) |
| Gets minimum value of interpolator. More... | |
| void | kzcInterpolatedValueSetMaximumValue (struct KzcInterpolatedValue *interpolatedValue, kzFloat maximumValue) |
| Sets maximum value for interpolator. More... | |
| kzFloat | kzcInterpolatedValueGetMaximumValue (const struct KzcInterpolatedValue *interpolatedValue) |
| Gets maximum value of interpolator. More... | |
| void | kzcInterpolatedValueSetMaximumTimeStep (struct KzcInterpolatedValue *interpolatedValue, kzFloat maximumStep) |
| Sets maximum time step for the interpolator. More... | |
| kzFloat | kzcInterpolatedValueGetMaximumTimeStep (const struct KzcInterpolatedValue *interpolatedValue) |
| Gets maximum time step of the interpolator. More... | |
| void | kzcInterpolatedValueSetLooping (struct KzcInterpolatedValue *interpolatedValue, kzBool state) |
| Sets interpolator to loop between minimum and maximum value. More... | |
| kzBool | kzcInterpolatedValueIsLooping (const struct KzcInterpolatedValue *interpolatedValue) |
| Return interpolator's looping state. More... | |
| void | kzcInterpolatedValueEnforceBounds (struct KzcInterpolatedValue *interpolatedValue) |
| Normalizes interpolator's value to [minimumValue, maximumValue]. More... | |
| kzFloat | kzcInterpolatedValueGetValue (const struct KzcInterpolatedValue *interpolatedValue) |
| Returns current value of the interpolator. More... | |
| void | kzcInterpolatedValueSetValue (struct KzcInterpolatedValue *interpolatedValue, kzFloat value, kzBool resetInterpolation) |
| Sets current value of the interpolator. More... | |
| void | kzcInterpolatedValueSetSpeed (struct KzcInterpolatedValue *interpolatedValue, kzFloat speed) |
| Sets current speed of the interpolated value. More... | |
| kzFloat | kzcInterpolatedValueGetSpeed (const struct KzcInterpolatedValue *interpolatedValue) |
| Returns current speed of the interpolated value. More... | |
| void | kzcInterpolatedValueModifySpeed (struct KzcInterpolatedValue *interpolatedValue, kzFloat speedDelta) |
| Adds 'speedDelta' to current speed of the interpolated value. More... | |
| kzsError | kzcInterpolatedValueUpdate (struct KzcInterpolatedValue *interpolatedValue, kzUint timeDelta) |
| Integrates simulation for 'timeDelta' milliseconds. More... | |
| kzBool | kzcInterpolatedValueInterpolationEnded (const struct KzcInterpolatedValue *interpolatedValue) |
| Returns KZ_TRUE if interpolation has ended for now, i.e. More... | |
| kzFloat | kzcInterpolatedValueGetTarget (const struct KzcInterpolatedValue *interpolatedValue) |
| Returns target value of the interpolator. More... | |
| kzFloat | kzcInterpolatedValueGetTargetNonNormalized (const struct KzcInterpolatedValue *interpolatedValue) |
| Returns current non-normalized target value of the interpolator. More... | |
| void | kzcInterpolatedValueSetTarget (struct KzcInterpolatedValue *interpolatedValue, kzFloat target) |
| Sets target value of the interpolator. More... | |
| void | kzcInterpolatedValueModifyTarget (struct KzcInterpolatedValue *interpolatedValue, kzFloat targetDelta) |
| Adds 'targetDelta' to target value of the interpolator. More... | |
Core component for smooth interpolation in code.
Uses Runge-Kutta methods and suitable differential equations to smoothly interpolate between input data.
Supports multiple interpolation modes such as looping/non-looping.
Copyright 2008-2019 by Rightware. All rights reserved.
| kzsError kzcInterpolatedValueCreate | ( | const struct KzcMemoryManager * | memoryManager, |
| kzFloat | startingValue, | ||
| kzFloat | accelerationCoefficient, | ||
| kzFloat | dragCoefficient, | ||
| struct KzcInterpolatedValue ** | out_interpolatedValue | ||
| ) |
Creates an interpolated value integrator.
Larger acceleration coefficient leads to faster interpolation, larger drag coefficient lowers maximum speed.
| kzsError kzcInterpolatedValueDelete | ( | struct KzcInterpolatedValue * | interpolatedValue) |
Deletes an interpolated value integrator.
| void kzcInterpolatedValueInitializeBoundMode | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | accelerationCoefficient, | ||
| kzFloat | dragCoefficient | ||
| ) |
Initializes simulation variables.
| void kzcInterpolatedValueSetMinimumValue | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | minimumValue | ||
| ) |
Sets minimum value for interpolator.
| kzFloat kzcInterpolatedValueGetMinimumValue | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Gets minimum value of interpolator.
| void kzcInterpolatedValueSetMaximumValue | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | maximumValue | ||
| ) |
Sets maximum value for interpolator.
| kzFloat kzcInterpolatedValueGetMaximumValue | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Gets maximum value of interpolator.
| void kzcInterpolatedValueSetMaximumTimeStep | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | maximumStep | ||
| ) |
Sets maximum time step for the interpolator.
Simulation time is split into time slices of at most this length.
| kzFloat kzcInterpolatedValueGetMaximumTimeStep | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Gets maximum time step of the interpolator.
Simulation time is split into time slices of at most this length.
| void kzcInterpolatedValueSetLooping | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzBool | state | ||
| ) |
Sets interpolator to loop between minimum and maximum value.
| kzBool kzcInterpolatedValueIsLooping | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Return interpolator's looping state.
| void kzcInterpolatedValueEnforceBounds | ( | struct KzcInterpolatedValue * | interpolatedValue) |
Normalizes interpolator's value to [minimumValue, maximumValue].
Calling this function manually is normally not required.
| kzFloat kzcInterpolatedValueGetValue | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Returns current value of the interpolator.
The value is normalized to the allowed range if a looping interpolator is used.
| void kzcInterpolatedValueSetValue | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | value, | ||
| kzBool | resetInterpolation | ||
| ) |
Sets current value of the interpolator.
If resetInterpolation is KZ_TRUE, sets target to the new value and resets speed.
| void kzcInterpolatedValueSetSpeed | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | speed | ||
| ) |
Sets current speed of the interpolated value.
| kzFloat kzcInterpolatedValueGetSpeed | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Returns current speed of the interpolated value.
| void kzcInterpolatedValueModifySpeed | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | speedDelta | ||
| ) |
Adds 'speedDelta' to current speed of the interpolated value.
| kzsError kzcInterpolatedValueUpdate | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzUint | timeDelta | ||
| ) |
Integrates simulation for 'timeDelta' milliseconds.
| kzBool kzcInterpolatedValueInterpolationEnded | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Returns KZ_TRUE if interpolation has ended for now, i.e.
target reached and speed close to zero.
| kzFloat kzcInterpolatedValueGetTarget | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Returns target value of the interpolator.
The value is normalized to the allowed range if a looping interpolator is used.
Function kzcInterpolatedValueGetTargetNonNormalized should be used instead if the target value will be set back with kzcInterpolatedValueSetTarget.
| kzFloat kzcInterpolatedValueGetTargetNonNormalized | ( | const struct KzcInterpolatedValue * | interpolatedValue) |
Returns current non-normalized target value of the interpolator.
If the interpolator is looping, the target value may be out of bounds to indicate direction and repetition.
This call should be used instead of kzcInterpolatedValueGetTarget if the target value will be set back with kzcInterpolatedValueSetTarget.
| void kzcInterpolatedValueSetTarget | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | target | ||
| ) |
Sets target value of the interpolator.
If the interpolator is looping, the target value may be out bounds to indicate direction and repetition.
| void kzcInterpolatedValueModifyTarget | ( | struct KzcInterpolatedValue * | interpolatedValue, |
| kzFloat | targetDelta | ||
| ) |
Adds 'targetDelta' to target value of the interpolator.