class
TAnimationCurve
template<class T>Animation spline represented by a set of keyframes, each representing an endpoint of a cubic hermite curve.
The spline can be evaluated at any time, and uses caching to speed up multiple sequential evaluations.
Public
Constructors
TAnimationCurve<T>
TAnimationCurve<T>
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
TAnimationCurve
TAnimationCurve
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
TAnimationCurve
TAnimationCurve
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
TAnimationCurve
TAnimationCurve
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
TAnimationCurve
TAnimationCurve
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
TAnimationCurve
TAnimationCurve
Creates a new animation curve.
- keyframes
- Keyframes to initialize the curve with. They must be sorted by time.
Methods
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Evaluate
Evaluate the animation curve using caching.
Caching can significantly speed of evaluation if the evaluation happens sequential order (which should be true for most curves). If evaluation is not happening in sequential order using the non-caching version of Evaluate() might yield better performance.
- time
- Time to evaluate the curve at.
- cache
- Cached data from previous requests that can be used for speeding up sequential calls to this method. Caller should ensure to maintain a persistent instance of this data for every animation using this curve in order to ensure cache is maintained.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
Evaluate
Evaluate the animation curve at the specified time.
If evaluating multiple values in a sequential order consider using the cached version of Evaluate() for better performance.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beggining. Otherwise the curve value will be clamped.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegrated
Evaluates the integrated animation curve. (e.g. evaluating a curve containing velocity values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateIntegratedDouble
Evaluates the double integrated animation curve. (e.g. evaluating a curve containing acceleration values will return a position).
- time
- Time to evaluate the curve at.
- integrationCache
- Cache storing the values required for integration. Generated the first time this method is called and re-used on subsequent calls. Caller must ensure to use the cache only with the curve it was originally used on. Separate caches need to be used for single and double integration evaluation.
Returns: Interpolated value from the curve at provided time.
EvaluateKey
Evaluate the animation curve at the specified time and returns a new keyframe containing the evaluated value and tangents.
- time
- Time to evaluate the curve at.
- loop
- If true the curve will loop when it goes past the end or beginning. Otherwise the curve value will be clamped.
Returns: Keyframe containing the interpolated value and tangents at provided time.
Split
Splits a piece of the animation curve into a separate animation curve.
- start
- Beginning time of the split curve.
- end
- End time of the split curve.
Returns: New curve with data corresponding to the provided split times.
MakeAdditive
Converts a normal curve into an additive curve.
It is assumed the first keyframe in the curve is the reference key from which to generate the additive curve. Such curves can then be added on top of a curve containing reference keys.
GetTimeRange
Returns the time of the first and last keyframe in the curve.
CalculateRange
Calculates the minimal and maximal value of the curve.
CalculateRangeIntegrated
Calculates the minimal and maximal value of the integrated curve.
CalculateRangeIntegratedDouble
Calculates the minimal and maximal value of the doubly integrated curve.
GetLength
Returns the length of the animation curve, from time zero to last keyframe.
GetNumKeyFrames
Returns the total number of key-frames in the curve.
GetKeyFrame
Returns a keyframe at the specified index.
GetKeyFrames
Returns a list of all keyframes in the curve.
Operators
operator==
operator!=
operator==
operator!=
operator==
operator!=
operator==
operator!=
operator==
operator!=
operator==
operator!=
Private
Methods
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
This attempts to find keys using the cache first, and if not possible falls back to a full search.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- cache
- Animation instance data holding the time to evaluate the curve at, and any cached data from previous requests. Time is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKeys
Returns a pair of keys that can be used for interpolating to field the value at the provided time.
- time
- Time for which to find the relevant keys from. It is expected to be clamped to a valid range within the curve.
- outLeftKey
- Index of the key to interpolate from.
- outRightKey
- Index of the key to interpolate to.
FindKey
Returns a keyframe index nearest to the provided time.
EvaluateKey
Calculates a key in-between the provided two keys.
Returns: Interpolated key value.
BuildIntegrationCache
Creates a cache used for quick evaluation of single integrated curves.
BuildDoubleIntegrationCache
Creates a cache used for quick evaluation of double integrated curves.