FMovieSceneEvaluationTree

A tree structure used to efficiently reference overlapping time ranges hierarchically.

Windows
MacOS
Linux

Inheritance Hierarchy

FMovieSceneEvaluationTree

TMovieSceneEvaluationTree

References

Module

MovieScene

Header

/Engine/Source/Runtime/MovieScene/Public/Evaluation/MovieSceneEvaluationTree.h

Include

#include "Evaluation/MovieSceneEvaluationTree.h"

Syntax

struct FMovieSceneEvaluationTree

Remarks

A tree structure used to efficiently reference overlapping time ranges hierarchically. Each node represents a unique combination of 'entities' overlapping for a given range. Example structure (dependent on order of addition): Time -inf 10 20 25 30 inf [============= 0 ===========] [============= 1 ==================] [========================== 2 ==================================] [================== 3 ==========================] [================== 4 ==========================] [===== 5 ======]

Where each time range is added in order, this is represented as: [======== 3 =======][========== 0,2,3 ==========][============= 1,2 ================][============ 4 ===========] | \ [===== 5 ====] [======== 4 ========]

Unique Ranges [ 3 | 0,2,3 | 0,2,3,5 | 0,2,3 | 1,2 | 1,2,4 | 4 ]

Variables

Name Description

Protected variable

TEvaluationTree...

 

ChildNodes

Segmented array of all child nodes within this tree (in no particular order)

Protected variable

FMovieSceneEval...

 

RootNode

This tree's root node

Constructors

Name Description

Public function

FMovieSceneEvaluationTree()

Functions

Name Description

Public function

void

 

AddTimeRange

(
    TRange< FFrameNumber > InTimeRange
)

Insert the specified time range into this tree

Protected function

void

 

AddTimeRange

(
    TRange< FFrameNumber > InTimeRange,
    const IMovieSceneEvaluationTreeNode...,
    FMovieSceneEvaluationTreeNodeHandle...
)

Insert the specified time range into this tree

Public function Const

TArrayView< ...

 

GetChildren

(
    const FMovieSceneEvaluationTreeNode...
)

Get the children associated with the specified node

Public function

TArrayView< ...

 

GetChildren

(
    const FMovieSceneEvaluationTreeNode...
)

Get the children associated with the specified node

Public function

FMovieSceneE...

 

GetNode

Non-const access to a node from its handle. Handle must be valid.

Public function Const

const FMovie...

 

GetNode

Const access to a node from its handle. Handle must be valid.

Protected function

FMovieSceneE...

 

GetNode

(
    FEvaluationTreeEntryHandle Children...,
    int32 Index
)

Non-const access to a node from its parent's ChildrenID and this node's index.

Protected function Const

const FMovie...

 

GetNode

(
    FEvaluationTreeEntryHandle Children...,
    int32 Index
)

Const access to a node from its parent's ChildrenID and this node's index.

Public function Const

const FMovie...

 

GetRootNode()

Access this tree's root node (infinite range)

Protected function

void

 

InsertNewChild

(
    TRange< FFrameNumber > InEffectiveR...,
    const IMovieSceneEvaluationTreeNode...,
    int32 InsertIndex,
    FMovieSceneEvaluationTreeNodeHandle...
)

Helper function that creates a new child for the specified parent node

Public function Const

bool

 

IsValid

Check whether the specified handle corresponds to a node within this tree

Public function Const

FMovieSceneE...

 

IterateFromLowerBound

(
    TRangeBound< FFrameNumber > InStart...
)

Start iterating this tree from the specified lower boundary

Public function Const

FMovieSceneE...

 

IterateFromTime

(
    FFrameNumber Time
)

Start iterating this tree from the specified time

Public function

void

 

Reset()

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss