| IInterrogationExtension
|
Module |
|
Header |
/Engine/Source/Runtime/MovieSceneTracks/Public/EntitySystem/Interrogation/MovieSceneInterrogationLinker.h |
Include |
#include "EntitySystem/Interrogation/MovieSceneInterrogationLinker.h" |
class FSystemInterrogator :
private FGCObject,
private UE::MovieScene::IInterrogationExtension
A class specialized for interrogating Sequencer entity data without applying any state to objects. Currently only tracks within the same time-base are supported. Will only link systems that are not excluded from EEntitySystemContext::Interrogation. Multiple different outputs can be interrogated simultaneously by Importing tracks onto separate channels allocated through AllocateChannel.
Systems may implement their own interrogation logic that can be run after updates to allow third-party interrogation behavior for specific channels or time.
Example usage: Interrogator.ImportTrack(MyTrack, FInterrogationChannel::Default());
for (int32 FrameNumber = 0; FrameNumber < 100; ++FrameNumber) Interrogator.InterrogateTime(FrameNumber);
UMyTrackSystem* MySystem = Interrogator.GetLinker()->FindSystem<UMyTrackSystem>(); if (MySystem) { TArray<DataType> OutData; MySystem->Interrogate(FInterogationKey::Default(), OutData); }
Name | Description | ||
---|---|---|---|
|
EntitiesScratch |
Scratch buffer used for generating entities for interrogation times |
|
|
EntityComponentField |
Entity component field containing all the entity owners relevant at specific times |
|
|
TUniquePtr< FSy... |
EntityTracker |
Tracker class that is used for keeping track of imported entities |
|
ImportedChannelBits |
BitArray containing set bits for any channel that has data associated with it. |
|
|
TSharedPtr< FIn... |
InitialValueCache |
|
|
Interrogations |
An array of interrogation times |
|
|
Linker |
The linker we own |
|
|
ObjectToChannel |
Map from an object to its interrogation channel |
|
|
SparseChannelInfo |
Array of information pertaining to a given channel |
Name | Description | |
---|---|---|
|
FSystemInterrogator() |
Name | Description | |
---|---|---|
|
~FSystemInterrogator() |
Name | Description | ||
---|---|---|---|
|
AddInterrogation ( |
Add a new time to interrogate this linker at, in the time-base of the imported tracks. |
|
|
FInterrogati... |
AllocateChannel ( |
Allocate a new interrogation channel that relates to a specific object |
|
FInterrogati... |
AllocateChannel ( |
Allocate a new interrogation channel that can be used to uniquely identify groups of tracks that animate the same property or output. |
|
FInterrogati... |
AllocateUnboundChannel ( |
Allocate a new channel for a set of transform tracks that isn't bound to any particular object (but can still exist within a hierarchy) |
|
FMovieSceneE... |
FindEntityFromOwner ( |
Find an entity given the entity's owner. |
|
TArrayView< ... |
GetInterrogations() |
Retrieve the current interrogations |
|
UMovieSceneE... |
GetLinker() |
Access the underlying linker used for interrogation. |
|
GetNumChannels() |
Retrieve the number of channels allocated |
|
|
FInterrogati... |
ImportLocalTransforms ( |
Import any transform tracks that relate to the specified scene component, or it's AActor if it is the root |
|
ImportTrack ( |
Import a track into this linker. |
|
|
ImportTrack ( |
Import a track into this linker. |
|
|
ImportTracks ( |
Import multiple tracks into this linker. See ImporTrack above. |
|
|
FInterrogati... |
ImportTransformHierarchy ( |
Import the entire transform hierarchy for the specified component, including all attached parents and tracks relating to them. |
|
QueryLocalSpaceTransforms ( |
Query a specific set of channels for their local space transforms as defined by set bits within ChannelsToQuery |
|
|
QueryLocalSpaceTransforms ( |
Query all local space transforms, even including channels that do not have any variable track data |
|
|
QueryLocalSpaceTransforms ( |
Query local space transforms |
|
|
QueryLocalSpaceTransforms ( |
Query local space transforms |
|
|
QueryPropertyValues ( |
Query the computed value of an animated property. |
|
|
QueryPropertyValues ( |
Query the computed value of an animated property. |
|
|
QueryWorldSpaceTransforms ( |
Query all world space transforms, even including channels that do not have any variable track data |
|
|
QueryWorldSpaceTransforms ( |
Query world space transforms for a component |
|
|
QueryWorldSpaceTransforms ( |
Query a specific set of channels for their world space transforms as defined by set bits within ChannelsToQuery |
|
|
QueryWorldSpaceTransforms ( |
Query world space transforms for a channel |
|
|
Reset() |
Reset this linker back to its original state |
|
|
TrackImportedEntities ( |
Indicate that consumers of this class require a reverse-lookup table for imported entities to be maintained such that the various FindEntity functions can be called. |
|
|
Update() |
Flush this interrogator by running all the systems relevant to the current data and populating the interrogation outputs. |
Name | Description | ||
---|---|---|---|
|
const FSpars... |
GetSparseChannelInfo() |