![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <MovieSceneEvaluationTree.h>
Inheritance diagram for FMovieSceneEvaluationTree:Protected Member Functions | |
| FMovieSceneEvaluationTreeNode & | GetNode (FEvaluationTreeEntryHandle ChildrenID, int32 Index) |
| const FMovieSceneEvaluationTreeNode & | GetNode (FEvaluationTreeEntryHandle ChildrenID, int32 Index) const |
| MOVIESCENE_API void | AddTimeRange (TRange< FFrameNumber > InTimeRange, const IMovieSceneEvaluationTreeNodeOperator &InOperator, FMovieSceneEvaluationTreeNodeHandle InParent, const TFunctionRef< bool(FMovieSceneEvaluationTreeNodeHandle)> *Predicate) |
| MOVIESCENE_API void | InsertNewChild (TRange< FFrameNumber > InEffectiveRange, const IMovieSceneEvaluationTreeNodeOperator &InOperator, int32 InsertIndex, FMovieSceneEvaluationTreeNodeHandle InParent) |
Protected Attributes | |
| FMovieSceneEvaluationTreeNode | RootNode |
| TEvaluationTreeEntryContainer< FMovieSceneEvaluationTreeNode > | ChildNodes |
Friends | |
| FArchive & | operator<< (FArchive &Ar, FMovieSceneEvaluationTree &In) |
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 ==========================]
Where each time range is added in order, this is represented as: [======== 3 =======][========== 0,2,3 ==========][============= 1,2 ================][============ 4 ===========] | \
Unique Ranges [ 3 | 0,2,3 | 0,2,3,5 | 0,2,3 | 1,2 | 1,2,4 | 4 ]
|
inline |
|
default |
|
inline |
Move construction must ensure that the root node is correctly restored to its default to ensure that invariant
| void FMovieSceneEvaluationTree::AddTimeRange | ( | TRange< FFrameNumber > | InTimeRange | ) |
Insert the specified time range into this tree
| InTimeRange | The time range to add to the tree |
|
protected |
Insert the specified time range into this tree
| InTimeRange | The time range to add to the tree |
| InOperator | Operator implementation to call for each node that is relevant to the time range |
| InParent | The current parent node |
| InPredicate | (Optional) Predicate that determines whether the time should be added for a particular point |
| TArrayView< FMovieSceneEvaluationTreeNode > FMovieSceneEvaluationTree::GetChildren | ( | const FMovieSceneEvaluationTreeNode & | InNode | ) |
Get the children associated with the specified node
| InNode | The node to get children for |
| TArrayView< const FMovieSceneEvaluationTreeNode > FMovieSceneEvaluationTree::GetChildren | ( | const FMovieSceneEvaluationTreeNode & | InNode | ) | const |
Get the children associated with the specified node
| InNode | The node to get children for |
|
inlineprotected |
Non-const access to a node from its parent's ChildrenID and this node's index.
|
inlineprotected |
Const access to a node from its parent's ChildrenID and this node's index.
|
inline |
Non-const access to a node from its handle. Handle must be valid.
|
inline |
Const access to a node from its handle. Handle must be valid.
|
inline |
Access this tree's root node (infinite range)
|
protected |
Helper function that creates a new child for the specified parent node
| InEffectiveRange | The time range that this child should represent. Must not overlap any other child's time range. |
| InOperator | Operator implementation to call for the new child node |
| InsertIndex | The index at which to insert the new child (children must be sorted) |
| InParent | The node to add the child to |
|
inline |
Check whether the specified handle corresponds to a node within this tree
| InHandle | Node handle to test |
| FMovieSceneEvaluationTreeRangeIterator FMovieSceneEvaluationTree::IterateFromLowerBound | ( | TRangeBound< FFrameNumber > | InStartingLowerBound | ) | const |
Start iterating this tree from the specified lower boundary
| InStartingLowerBound | The lowerbound at which we should start iterating |
| FMovieSceneEvaluationTreeRangeIterator FMovieSceneEvaluationTree::IterateFromTime | ( | FFrameNumber | Time | ) | const |
Start iterating this tree from the specified time
| Time | The time at which we should start iterating |
|
default |
|
inline |
Move assignment must ensure that the root node is correctly restored to its default to ensure that invariant
|
inline |
|
friend |
Serialize this evaluation tree
|
protected |
Segmented array of all child nodes within this tree (in no particular order)
|
protected |
This tree's root node