TOverlappingEntityTracker

Templated utility class that assists in tracking the state of many -> one data relationships in an [FEntityManager](API\Runtime\MovieScene\EntitySystem\FEntityManager).

Windows
MacOS
Linux

Inheritance Hierarchy

TOverlappingEntityTracker

TOverlappingEntityTracker_BoundObject

References

Module

MovieScene

Header

/Engine/Source/Runtime/MovieScene/Public/EntitySystem/MovieSceneOverlappingEntityTracker.h

Include

#include "EntitySystem/MovieSceneOverlappingEntityTracker.h"

Syntax

template<typename KeyType, typename OutputType>
struct TOverlappingEntityTracker

Remarks

Templated utility class that assists in tracking the state of many -> one data relationships in an FEntityManager. KeyType defines the component type which defines the key that determines whether an entity animates the same output. OutputType defines the user-specfied data to be associated with the multiple inputs (ie, its output)

Where KeyType is a UObject* it is recommended TOverlappingEntityTracker_BoundObject is used instead, as it provides garbage collection and reference counting functions.

Variables

Name Description

Protected variable

TMap< FMovieSce...

 

EntityToOutput

Protected variable

TBitArray

 

InvalidatedOutputs

Protected variable

TMap< KeyType, ...

 

KeyToOutput

Protected variable

TBitArray

 

NewOutputs

Protected variable

TSparseArray< F...

 

Outputs

Protected variable

TMultiMap< uint...

 

OutputToEntity

Functions

Name Description

Protected function

void

 

ClearOutputByEntity

(
    FMovieSceneEntityID EntityID
)

Protected function

uint16

 

CreateOutputByKey

(
    ParamType Key
)

Public function

void

 

Destroy

(
    HandlerType&& InHandler
)

Destroy all the outputs currently being tracked

Public function Const

void

 

FindEntityIDs

(
    ParamType Key,
    TArray< FMovieSceneEntityID >& Out...
)

Public function Const

const Output...

 

FindOutput

(
    FMovieSceneEntityID EntityID
)

Public function Const

const Output...

 

FindOutput

(
    ParamType Key
)

Protected function Const

uint16

 

FindOutputByEntity

(
    FMovieSceneEntityID EntityID
)

Protected function Const

uint16

 

FindOutputByKey

(
    ParamType Key
)

Public function Const

bool

 

IsEmpty()

Protected function

bool

 

IsOutputValid

(
    uint16 OutputIndex
)

Protected function

uint16

 

MakeOutput

(
    FMovieSceneEntityID EntityID,
    ParamType InKey
)

Public function Const

bool

 

NeedsRestoration

(
    ParamType Key,
    bool bEnsureOutput
)

Public function

void

 

ProcessInvalidatedOutputs

(
    UMovieSceneEntitySystemLinker*...,
    HandlerType&& InHandler
)

Process any outputs that were invalidated as a result of Update being called using a custom handler.

Public function

void

 

SetNeedsRestoration

(
    ParamType Key,
    bool bNeedsRestoration,
    bool bEnsureOutput
)

Public function

void

 

Update

(
    UMovieSceneEntitySystemLinker*...,
    TComponentTypeID< KeyType > InKeyCo...,
    const FEntityComponentFilter& InFi...
)

Update this tracker by iterating any entity that contains InKeyComponent, and matches the additional optional filter Only entities tagged as NeedsLink or NeedsUnlink are iterated, invalidating their outputs

Public function

void

 

UpdateUnlinkedOnly

(
    UMovieSceneEntitySystemLinker*...,
    TComponentTypeID< KeyType > InKeyCo...,
    const FEntityComponentFilter& InFi...
)

Update this tracker by iterating any entity that contains InKeyComponent, and matches the additional optional filter Only entities tagged as NeedsUnlink are iterated, invalidating their outputs

Public function

void

 

VisitLinkedAllocation

(
    const FEntityAllocation* Alloc...,
    TRead< KeyType > ReadKeys
)

Update this tracker by (re)linking the specified allocation

Protected function

void

 

VisitLinkedAllocationImpl

(
    const FEntityAllocation* Alloc...,
    TRead< KeyType > Keys
)

Public function

void

 

VisitUnlinkedAllocation

(
    const FEntityAllocation* Alloc...
)

Update this tracker by unlinking the specified allocation

Protected function

void

 

VisitUnlinkedAllocationImpl

(
    const FEntityAllocation* Alloc...
)

Classes

Name

Description

Protected struct

FOutput

Typedefs

Name

Description

ParamType

Constants

Name

Description

NO_OUTPUT

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