![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MovieSceneDoubleChannel.h>
Inheritance diagram for FMovieSceneDoubleChannel:Public Types | |
| typedef double | CurveValueType |
| typedef FMovieSceneDoubleValue | ChannelValueType |
Public Attributes | |
| TEnumAsByte< ERichCurveExtrapolation > | PreInfinityExtrap |
| TEnumAsByte< ERichCurveExtrapolation > | PostInfinityExtrap |
Friends | |
| struct | TMovieSceneCurveChannelImpl< FMovieSceneDoubleChannel > |
| FArchive & | operator<< (FArchive &Ar, FMovieSceneDoubleChannel &Me) |
Additional Inherited Members | |
Protected Attributes inherited from FMovieSceneChannel | |
| FMovieSceneChannelDataKeyAddedEvent | KeyAddedEvent |
| FMovieSceneChannelDataKeyDeletedEvent | KeyDeletedEvent |
| FMovieSceneChannelDataKeyMovedEvent | KeyMovedEvent |
|
inline |
| int32 FMovieSceneDoubleChannel::AddConstantKey | ( | FFrameNumber | InTime, |
| double | InValue | ||
| ) |
| int32 FMovieSceneDoubleChannel::AddCubicKey | ( | FFrameNumber | InTime, |
| double | InValue, | ||
| ERichCurveTangentMode | TangentMode = RCTM_Auto, |
||
| const FMovieSceneTangentData & | Tangent = FMovieSceneTangentData() |
||
| ) |
| void FMovieSceneDoubleChannel::AddKeys | ( | const TArray< FFrameNumber > & | InTimes, |
| const TArray< FMovieSceneDoubleValue > & | InValues | ||
| ) |
Add keys with these times to channel. The number of elements in both arrays much match or nothing is added. Also assume that the times are greater than last time in the channel and are increasing. If not bad things can happen.
| InTimes | Times to add |
| InValues | Values to add |
| int32 FMovieSceneDoubleChannel::AddLinearKey | ( | FFrameNumber | InTime, |
| double | InValue | ||
| ) |
| UE::MovieScene::FPiecewiseCurve FMovieSceneDoubleChannel::AsPiecewiseCurve | ( | bool | bWithPreAndPostInfinityExtrap = true | ) | const |
|
overridevirtual |
Clear all the default value on this channel
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Compute the effective range of this channel, for example, the extents of its key times
Reimplemented from FMovieSceneChannel.
| UE::MovieScene::Interpolation::FInterpolationExtents FMovieSceneDoubleChannel::ComputeExtents | ( | FFrameTime | StartTime, |
| FFrameTime | EndTime | ||
| ) | const |
Compute the value extents of this curve within the specified limits
| StartTime | The start of the range within which to compute extents |
| EndTime | The end of the range within which to compute extents |
|
overridevirtual |
Delete the keys for the specified key handles
| InHandles | Array of handles to delete |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Delete keys before or after a specified time
| InTime | Delete keys after this time |
| bDeleteKeysBefore | Whether to delete keys before the specified time |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Duplicate the keys for the specified key handles
| InHandles | Array of handles to duplicate |
| OutKeyTimes | Pre-sized array to receive duplicated key handles. Invalid key handles will not be assigned to this array. Must match size of InHandles |
Reimplemented from FMovieSceneChannel.
| bool FMovieSceneDoubleChannel::Evaluate | ( | FFrameTime | InTime, |
| double & | OutValue | ||
| ) | const |
Evaluate this channel with the frame resolution
| InTime | The time to evaluate at |
| InTime | The Frame Rate the time to evaluate at |
| OutValue | A value to receive the result |
| bool FMovieSceneDoubleChannel::Evaluate | ( | FFrameTime | InTime, |
| float & | OutValue | ||
| ) | const |
Type shortening version of Evaluate above.
| int32 FMovieSceneDoubleChannel::GetCycleCount | ( | FFrameTime | InTime | ) | const |
Retrieve the index of the cycle that the specified time falls within according to this channel's extrapolation modes.
| TRange< FFrameNumber > FMovieSceneDoubleChannel::GetCycleRange | ( | int32 | InCycleCount | ) | const |
Retrieve the time range of a single cycle of this channel
|
inline |
Access a mutable interface for this channel's data
|
inline |
Access a constant interface for this channel's data
Get this channel's default value that will be used when no keys are present
|
overridevirtual |
Retrieve a key handle for the specified key time index
| Index | The index to retrieve |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Attempt to retrieve the index of key from its handle
| Handle | The handle to retrieve |
Reimplemented from FMovieSceneChannel.
| UE::MovieScene::Interpolation::FCachedInterpolation FMovieSceneDoubleChannel::GetInterpolationForTime | ( | FFrameTime | InTime | ) | const |
Retrieve a cached interpolation from this channel for the specified time
|
overridevirtual |
Get key information pertaining to all keys that exist within the specified range
| WithinRange | The range within which to return key information |
| OutKeyTimes | (Optional) Array to receive key times |
| OutKeyHandles | (Optional) Array to receive key handles |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Get all key times for the specified key handles
| InHandles | Array of handles to get times for |
| OutKeyTimes | Pre-sized array of key times to set. Invalid key handles will not assign to this array. Must match size of InHandles |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Get the total number of keys on this channel
Reimplemented from FMovieSceneChannel.
|
inline |
Get the channel's frame resolution
|
inline |
Const access to this channel's times
|
inline |
Const access to this channel's values
|
inline |
Check whether this channel has any data
| TOptional< FFrameTime > FMovieSceneDoubleChannel::InverseEvaluate | ( | double | Value, |
| FFrameTime | TimeHint, | ||
| UE::MovieScene::EInverseEvaluateFlags | Flags | ||
| ) | const |
Solve this curve for a given (y). Where more than one solution exists, TimeHint will be used to find the solution closest to the hint.
| Value | The result to solve for |
| TimeHint | Predicate time to use for locating the most relevant solution |
| Flags | Flag structure used to control how to solve the curve |
| bool FMovieSceneDoubleChannel::InverseEvaluateBetween | ( | double | Value, |
| FFrameTime | StartTime, | ||
| FFrameTime | EndTime, | ||
| const TFunctionRef< bool(FFrameTime)> & | Visitor | ||
| ) | const |
Solve this curve for a given (y), only considering solutions that lie within a certain range.
| Value | The result to solve for |
| StartTime | Start time before which solutions will not be considered |
| EndTime | End time after which solutions will not be considered |
| Visitor | Callback that is invoked for each solution. Returning true allows the algorithm to continue, false will terminate the algorithm. |
|
overridevirtual |
Offset the keys within this channel by a given delta position
| DeltaPosition | The number of frames to offset by, in the sequence's frame resolution |
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Optimize this channel by removing any redundant data according to the specified parameters
| InParameters | Parameter struct specifying how to optimize the channel |
Reimplemented from FMovieSceneChannel.
| void FMovieSceneDoubleChannel::PopulateCurvePoints | ( | double | StartTimeSeconds, |
| double | EndTimeSeconds, | ||
| double | TimeThreshold, | ||
| double | ValueThreshold, | ||
| FFrameRate | TickResolution, | ||
| TArray< TTuple< double, double > > & | InOutPoints | ||
| ) | const |
Populate the specified array with times and values that represent the smooth interpolation of this channel across the specified range
| StartTimeSeconds | The first time in seconds to include in the resulting array |
| EndTimeSeconds | The last time in seconds to include in the resulting array |
| TimeThreshold | A small time threshold in seconds below which we should stop adding new points |
| ValueThreshold | A small value threshold below which we should stop adding new points where the linear interpolation would suffice |
| TickResolution | The tick resolution with which to interpret this channel's times |
| InOutPoints | An array to populate with the evaluated points |
|
overridevirtual |
Perform a possibly heavy operation after an edit change
Reimplemented from FMovieSceneChannel.
|
overridevirtual |
Remap the times contained within this channel using a custom remapper
Reimplemented from FMovieSceneChannel.
|
inline |
Remove this channel's default value causing the channel to have no effect where no keys are present
|
overridevirtual |
Reset this channel back to its original state
Reimplemented from FMovieSceneChannel.
| bool FMovieSceneDoubleChannel::SerializeFromMismatchedTag | ( | const FPropertyTag & | Tag, |
| FStructuredArchive::FSlot | Slot | ||
| ) |
Serialize this double channel from a mismatching property tag (FRichCurve or FMovieSceneFloatChannel)
| void FMovieSceneDoubleChannel::Set | ( | TArray< FFrameNumber > | InTimes, |
| TArray< FMovieSceneDoubleValue > | InValues | ||
| ) |
Set the channel's times and values to the requested values
Set this channel's default value that should be used when no keys are present
| InDefaultValue | The desired default value |
| void FMovieSceneDoubleChannel::SetKeysOnly | ( | TArrayView< FFrameNumber > | InTimes, |
| TArrayView< FMovieSceneDoubleValue > | InValues | ||
| ) |
Set the channel's times and values to the requested values, but does not allocate key handles
|
overridevirtual |
Set key times for the specified key handles
| InHandles | Array of handles to get times for |
| InKeyTimes | Array of times to apply - one per handle |
Reimplemented from FMovieSceneChannel.
|
inline |
Set the channel's frame resolution
| void FMovieSceneDoubleChannel::UpdateOrAddKeys | ( | const TArrayView< const FFrameNumber > | InTimes, |
| const TArrayView< FMovieSceneDoubleValue > | InValues | ||
| ) |
|
friend |
| TEnumAsByte<ERichCurveExtrapolation> FMovieSceneDoubleChannel::PostInfinityExtrap |
Post-infinity extrapolation state
| TEnumAsByte<ERichCurveExtrapolation> FMovieSceneDoubleChannel::PreInfinityExtrap |
Pre-infinity extrapolation state