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

#include <MovieScenePlayback.h>

+ Inheritance diagram for FMovieSceneContext:

Public Member Functions

 FMovieSceneContext ()
 
 FMovieSceneContext (FMovieSceneEvaluationRange InRange)
 
 FMovieSceneContext (FMovieSceneEvaluationRange InRange, EMovieScenePlayerStatus::Type InStatus)
 
EMovieScenePlayerStatus::Type GetStatus () const
 
bool HasJumped () const
 
bool HasLooped () const
 
bool IsSilent () const
 
const FMovieSceneSequenceTransformGetRootToSequenceTransform () const
 
const FMovieSceneWarpCounterGetRootToSequenceWarpCounter () const
 
MOVIESCENE_API FMovieSceneTimeTransform GetSequenceToRootTransform () const
 
MOVIESCENE_API FMovieSceneInverseSequenceTransform GetSequenceToRootSequenceTransform () const
 
void ApplySectionPrePostRoll (bool bInLeadingRegion, bool bInTrailingRegion)
 
FMovieSceneContextSetHasJumped (bool bInHasJumped)
 
FMovieSceneContextSetHasLooped (bool bInHasLooped)
 
FMovieSceneContextSetIsSilent (bool bInIsSilent)
 
FMovieSceneContext Clamp (TRange< FFrameTime > NewRange) const
 
MOVIESCENE_API FMovieSceneContext Transform (const FMovieSceneSequenceTransform &InTransform, FFrameRate NewFrameRate) const
 
void SetHierarchicalBias (int32 InHierarchicalBias)
 
int32 GetHierarchicalBias () const
 
bool IsPreRoll () const
 
bool IsPostRoll () const
 
bool HasPreRollEndTime () const
 
bool HasPostRollStartTime () const
 
FFrameNumber GetPreRollEndFrame () const
 
FFrameNumber GetPostRollStartFrame () const
 
void ReportOuterSectionRanges (TRange< FFrameNumber > InLeadingRange, TRange< FFrameNumber > InTrailingRange)
 
- Public Member Functions inherited from FMovieSceneEvaluationRange
MOVIESCENE_API FMovieSceneEvaluationRange (FFrameTime InTime, FFrameRate InFrameRate)
 
MOVIESCENE_API FMovieSceneEvaluationRange (TRange< FFrameTime > InRange, FFrameRate InFrameRate, EPlayDirection InDirection)
 
MOVIESCENE_API FMovieSceneEvaluationRange (FFrameTime InCurrentTime, FFrameTime InPreviousTime, FFrameRate InFrameRate, bool bInclusivePreviousTime=false, EPlayDirection PreferredDirection=EPlayDirection::Forwards)
 
TRange< FFrameTimeGetRange () const
 
TRange< FFrameNumberGetFrameNumberRange () const
 
MOVIESCENE_API TRange< FFrameNumberGetTraversedFrameNumberRange () const
 
EPlayDirection GetDirection () const
 
FFrameTime GetTime () const
 
FFrameNumber GetEvaluationFieldTime () const
 
FFrameTime GetDelta () const
 
FFrameTime GetPreviousTime () const
 
FFrameTime GetOffsetTime (FFrameTime InOffset) const
 
void OverrideTime (FFrameNumber InTimeOverride)
 
FFrameRate GetFrameRate () const
 
MOVIESCENE_API void ResetRange (const TRange< FFrameTime > &NewRange)
 

Protected Attributes

FMovieSceneSequenceTransform RootToSequenceTransform
 
FMovieSceneWarpCounter RootToSequenceWarpCounter
 
EMovieScenePlayerStatus::Type Status
 
FFrameNumber PrePostRollStartEndTime
 
int32 HierarchicalBias
 
bool bHasJumped: 1
 
bool bHasLooped: 1
 
bool bSilent: 1
 
bool bSectionPreRoll: 1
 
bool bSectionPostRoll: 1
 
bool bHasPreRollEndTime: 1
 
bool bHasPostRollStartTime: 1
 
- Protected Attributes inherited from FMovieSceneEvaluationRange
TRange< FFrameTimeEvaluationRange
 
FFrameRate CurrentFrameRate
 
EPlayDirection Direction
 
FFrameNumber TimeOverride
 

Additional Inherited Members

- Static Public Member Functions inherited from FMovieSceneEvaluationRange
static MOVIESCENE_API TRange< FFrameNumberTimeRangeToNumberRange (const TRange< FFrameTime > &InFrameTimeRange)
 
static MOVIESCENE_API TRange< FFrameTimeNumberRangeToTimeRange (const TRange< FFrameNumber > &InFrameTimeRange)
 

Detailed Description

MovieScene evaluation context. Should remain bitwise copyable, and contain no external state since this has the potential to be used on a thread

Constructor & Destructor Documentation

◆ FMovieSceneContext() [1/3]

FMovieSceneContext::FMovieSceneContext ( )
inline

Construction from an evaluation range, and a current status

◆ FMovieSceneContext() [2/3]

FMovieSceneContext::FMovieSceneContext ( FMovieSceneEvaluationRange  InRange)
inline

Construction from an evaluation range, and a current status

◆ FMovieSceneContext() [3/3]

FMovieSceneContext::FMovieSceneContext ( FMovieSceneEvaluationRange  InRange,
EMovieScenePlayerStatus::Type  InStatus 
)
inline

Construction from an evaluation range, and a current status

Member Function Documentation

◆ ApplySectionPrePostRoll()

void FMovieSceneContext::ApplySectionPrePostRoll ( bool  bInLeadingRegion,
bool  bInTrailingRegion 
)
inline

Apply section pre and post roll based on whether we're in the leading (preroll), or trailing (postroll) region for the section, and the current play direction

Parameters
bInLeadingRegionWhether we are considered to be in the section's leading (aka preroll) region
bInTrailingRegionWhether we are considered to be in the section's trailing (aka postroll) region

◆ Clamp()

FMovieSceneContext FMovieSceneContext::Clamp ( TRange< FFrameTime NewRange) const
inline

Clamp the current evaluation range to the specified range (in the current transform space)

◆ GetHierarchicalBias()

int32 FMovieSceneContext::GetHierarchicalBias ( ) const
inline

Get the hierarchical bias for the current context

Returns
The current hierarchical bias

◆ GetPostRollStartFrame()

FFrameNumber FMovieSceneContext::GetPostRollStartFrame ( ) const
inline

Access the time at which post roll started (or in other terms: when evaluation stopped)

Note
: Only valid to call when HasPostRollStartTime() is true

◆ GetPreRollEndFrame()

FFrameNumber FMovieSceneContext::GetPreRollEndFrame ( ) const
inline

Access the time at which preroll will stop, and evaluation will commence

Note
: Only valid to call when HasPreRollEndTime() is true

◆ GetRootToSequenceTransform()

const FMovieSceneSequenceTransform & FMovieSceneContext::GetRootToSequenceTransform ( ) const
inline

Get the current root to sequence transform for the current sub sequence

◆ GetRootToSequenceWarpCounter()

const FMovieSceneWarpCounter & FMovieSceneContext::GetRootToSequenceWarpCounter ( ) const
inline

Get the current root to sequence warp counter for the current sub sequence

◆ GetSequenceToRootSequenceTransform()

PRAGMA_ENABLE_DEPRECATION_WARNINGS FMovieSceneInverseSequenceTransform FMovieSceneContext::GetSequenceToRootSequenceTransform ( ) const

Get the inverse sequence transform of the current sub sequence, to transform local times back to root times.

◆ GetSequenceToRootTransform()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FMovieSceneTimeTransform FMovieSceneContext::GetSequenceToRootTransform ( ) const

Get the inverse transform of the current sub sequence, to transform local times back to root times.

◆ GetStatus()

EMovieScenePlayerStatus::Type FMovieSceneContext::GetStatus ( ) const
inline

Get the playback status

◆ HasJumped()

bool FMovieSceneContext::HasJumped ( ) const
inline

Check whether we've just jumped to a different time

◆ HasLooped()

bool FMovieSceneContext::HasLooped ( ) const
inline

Check whether we've just looped around the sequence If this returns true, HasJumped() usually also returns true

◆ HasPostRollStartTime()

bool FMovieSceneContext::HasPostRollStartTime ( ) const
inline

Check whether we have an externally supplied time at which postroll started.

Note
When not set (and IsPostRoll() is true), preroll ends at either the start or end of section bounds, depending on play direction.

◆ HasPreRollEndTime()

bool FMovieSceneContext::HasPreRollEndTime ( ) const
inline

Check whether we have an externally supplied time at which preroll will end.

Note
When not set (and IsPreRoll() is true), preroll ends at either the start or end of section bounds, depending on play direction.

◆ IsPostRoll()

bool FMovieSceneContext::IsPostRoll ( ) const
inline

Check if we're in any kind of postroll (either postrolling section specifically, or as part of a sub-section)

Note
Play direction has already been considered in the calculation of this function, so needs no extra consideration.

◆ IsPreRoll()

bool FMovieSceneContext::IsPreRoll ( ) const
inline

Check if we're in any kind of preroll (either prerolling section specifically, or as part of a sub-section)

Note
Play direction has already been considered in the calculation of this function, so needs no extra consideration.

◆ IsSilent()

bool FMovieSceneContext::IsSilent ( ) const
inline

Check whether we're evaluating in silent mode (no audio or mutating eval)

◆ ReportOuterSectionRanges()

void FMovieSceneContext::ReportOuterSectionRanges ( TRange< FFrameNumber InLeadingRange,
TRange< FFrameNumber InTrailingRange 
)
inline

Report the outer section pre and post roll ranges for the current context

Parameters
InLeadingRangeThe leading (preroll) range in front of the outer section, in the current transformation's time space
InTrailingRangeThe trailing (postroll) range at the end of the outer section, in the current transformation's time space

◆ SetHasJumped()

FMovieSceneContext & FMovieSceneContext::SetHasJumped ( bool  bInHasJumped)
inline

Indicate that we've just jumped to a different time

◆ SetHasLooped()

FMovieSceneContext & FMovieSceneContext::SetHasLooped ( bool  bInHasLooped)
inline

Indicate that we've just looped around the sequence The caller should also probably call SetHasJumped(true)

◆ SetHierarchicalBias()

void FMovieSceneContext::SetHierarchicalBias ( int32  InHierarchicalBias)
inline

Get the hierarchical bias for the current context

Parameters
InHierarchicalBiasThe current hierarchical bias

◆ SetIsSilent()

FMovieSceneContext & FMovieSceneContext::SetIsSilent ( bool  bInIsSilent)
inline

Set the context to silent mode

◆ Transform()

FMovieSceneContext FMovieSceneContext::Transform ( const FMovieSceneSequenceTransform InTransform,
FFrameRate  NewFrameRate 
) const

Transform this context to a different sub sequence space

Member Data Documentation

◆ bHasJumped

bool FMovieSceneContext::bHasJumped
protected

Whether this evaluation frame is happening as part of a large jump

◆ bHasLooped

bool FMovieSceneContext::bHasLooped
protected

Whether this evaluation frame is happening as part of looping around the sequence

◆ bHasPostRollStartTime

bool FMovieSceneContext::bHasPostRollStartTime
protected

True if the value of PrePostRollStartEndTime has been set, and refers to the time at which postroll started. Already reconciled with play direction.

◆ bHasPreRollEndTime

bool FMovieSceneContext::bHasPreRollEndTime
protected

True if the value of PrePostRollStartEndTime has been set, and refers to the time at which preroll will end. Already reconciled with play direction.

◆ bSectionPostRoll

bool FMovieSceneContext::bSectionPostRoll
protected

True if we should explicitly postroll the section. Already reconciled with play direction.

◆ bSectionPreRoll

bool FMovieSceneContext::bSectionPreRoll
protected

True if we should explicitly preroll the section. Already reconciled with play direction.

◆ bSilent

bool FMovieSceneContext::bSilent
protected

Whether this evaluation should happen silently

◆ HierarchicalBias

int32 FMovieSceneContext::HierarchicalBias
protected

Hierachical bias. Higher bias should take precedence.

◆ PrePostRollStartEndTime

FFrameNumber FMovieSceneContext::PrePostRollStartEndTime
protected

When bHasPreRollEndTime or bHasPostRollStartTime is true, this defines either the frame at which 'real' evaluation commences, or finished

◆ RootToSequenceTransform

FMovieSceneSequenceTransform FMovieSceneContext::RootToSequenceTransform
protected

The transform from the root sequence to the current sequence space

◆ RootToSequenceWarpCounter

FMovieSceneWarpCounter FMovieSceneContext::RootToSequenceWarpCounter
protected

The current warp count for any sub-sequence in the current sequence's hierarchy

◆ Status

EMovieScenePlayerStatus::Type FMovieSceneContext::Status
protected

The current playback status


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