UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMovieSceneTimeWarping Struct Reference

#include <MovieSceneTimeWarping.h>

Public Member Functions

 FMovieSceneTimeWarping ()
 
 FMovieSceneTimeWarping (FFrameNumber InStart, FFrameNumber InEnd)
 
FFrameNumber Length () const
 
bool IsValid () const
 
TRange< FFrameTimeGetRange () const
 
FMovieSceneTimeTransform InverseFromWarp (uint32 WarpCount) const
 
void TransformFrame (FFrameNumber InFrame, FFrameNumber &OutFrame, uint32 &OutWarpIndex) const
 
void TransformTime (FFrameTime InTime, FFrameTime &OutTime, uint32 &OutWarpIndex) const
 
void TransformTimeSpecific (FFrameTime InTime, uint32 WarpCount, FFrameTime &OutTime) const
 
TRange< FFrameTimeTransformRangePure (const TRange< FFrameTime > &Range) const
 
TRange< FFrameTimeTransformRangeUnwarped (const TRange< FFrameTime > &Range) const
 
TRange< FFrameTimeTransformRangeConstrained (const TRange< FFrameTime > &Range) const
 

Public Attributes

FFrameNumber Start
 
FFrameNumber End
 

Static Public Attributes

static MOVIESCENE_API const uint32 InvalidWarpCount = (uint32)(-1)
 

Friends

bool operator== (const FMovieSceneTimeWarping &A, const FMovieSceneTimeWarping &B)
 
bool operator!= (const FMovieSceneTimeWarping &A, const FMovieSceneTimeWarping &B)
 

Detailed Description

Transform time by warping it around from end to start. This is mostly useful for looping things.

Constructor & Destructor Documentation

◆ FMovieSceneTimeWarping() [1/2]

FMovieSceneTimeWarping::FMovieSceneTimeWarping ( )
inline

◆ FMovieSceneTimeWarping() [2/2]

FMovieSceneTimeWarping::FMovieSceneTimeWarping ( FFrameNumber  InStart,
FFrameNumber  InEnd 
)
inlineexplicit

Member Function Documentation

◆ GetRange()

TRange< FFrameTime > FMovieSceneTimeWarping::GetRange ( ) const
inline

Returns a range that encompasses the whole warping time span.

◆ InverseFromWarp()

FMovieSceneTimeTransform FMovieSceneTimeWarping::InverseFromWarp ( uint32  WarpCount) const
inline

Returns a transformation that takes us from a local time into a given loop back to the root time.

◆ IsValid()

bool FMovieSceneTimeWarping::IsValid ( ) const
inline

Returns whether this warping transform is doing anything.

◆ Length()

FFrameNumber FMovieSceneTimeWarping::Length ( ) const
inline

Returns the length of the warping.

◆ TransformFrame()

void FMovieSceneTimeWarping::TransformFrame ( FFrameNumber  InFrame,
FFrameNumber OutFrame,
uint32 OutWarpIndex 
) const
inline

Transforms the given frame and returns the warped frame time along with the warp index we ended up in.

◆ TransformRangeConstrained()

TRange< FFrameTime > FMovieSceneTimeWarping::TransformRangeConstrained ( const TRange< FFrameTime > &  Range) const
inline

Transforms the given range by time-warping it and figuring out if it "covered" a full loop or not. If it covered a full loop, return a full-loop range, i.e. a range that goes from StartOffset to (Length - EndOffset). If it didn't cover a full loop, return the transformed range, which should be a subset of the full loop range mentioned above.

◆ TransformRangePure()

TRange< FFrameTime > FMovieSceneTimeWarping::TransformRangePure ( const TRange< FFrameTime > &  Range) const
inline

Transforms the given range in a "naive" way, i.e. its lower and upper bounds are transformed independently by this time warping. This means that the output range could be "inside-out"... that is, the output lower bound could be greater than the output upper bound, like, for instance, in the case of the input range starting near the end of a loop, and ending near the beginning of another loop.

◆ TransformRangeUnwarped()

TRange< FFrameTime > FMovieSceneTimeWarping::TransformRangeUnwarped ( const TRange< FFrameTime > &  Range) const
inline

Transforms the given range by time-warping its lower bound, and computing an upper bound so that the size of the input range is preserved. So if the input range starts in the middle of a loop and lasts 3 loops, the output range will start in the middle of the first loop, and last 3 times as long as the Length of this time warp.

◆ TransformTime()

void FMovieSceneTimeWarping::TransformTime ( FFrameTime  InTime,
FFrameTime OutTime,
uint32 OutWarpIndex 
) const
inline

Transforms the given time and returns the warped time along with the warp index we ended up in.

◆ TransformTimeSpecific()

void FMovieSceneTimeWarping::TransformTimeSpecific ( FFrameTime  InTime,
uint32  WarpCount,
FFrameTime OutTime 
) const
inline

Transforms the given time by warping it by a specific warp count, regardless of how many warps are needed in theory to stay in the warping range.

Friends And Related Symbol Documentation

◆ operator!=

bool operator!= ( const FMovieSceneTimeWarping A,
const FMovieSceneTimeWarping B 
)
friend

◆ operator==

bool operator== ( const FMovieSceneTimeWarping A,
const FMovieSceneTimeWarping B 
)
friend

Member Data Documentation

◆ End

FFrameNumber FMovieSceneTimeWarping::End

◆ InvalidWarpCount

const uint32 FMovieSceneTimeWarping::InvalidWarpCount = (uint32)(-1)
static

◆ Start

FFrameNumber FMovieSceneTimeWarping::Start

The documentation for this struct was generated from the following files: