UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MotionVectorSimulation.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "Misc/Optional.h"
7#include "Tickable.h"
9#include "Math/Transform.h"
10#include "HAL/IConsoleManager.h"
11
12class UObjectBase;
13class USceneComponent;
14
22{
23public:
24
30
31
36 static ENGINE_API bool IsEnabled();
37
38public:
39
40
49 ENGINE_API bool GetPreviousTransform(UObject* Object, FTransform* OutTransform) const;
50
59
68
75
76 virtual SIZE_T GetAllocatedSize() const override
77 {
78 return SimulatedTransforms.GetAllocatedSize();
79 }
80
81private:
82
83 //~ FTickableGameObject interface - used for removing transforms that are no longer valid
84 virtual bool IsTickable() const { return SimulatedTransforms.Num() > 0; }
85 virtual bool IsTickableInEditor() const override { return true; }
86 ENGINE_API virtual void Tick( float DeltaTime ) override;
87 ENGINE_API virtual TStatId GetStatId() const override;
88
89 //~ FUObjectDeleteListener interface - used for removing transforms for components that are no longer valid
90 ENGINE_API virtual void NotifyUObjectDeleted(const UObjectBase* Object, int32 Index) override;
91 ENGINE_API virtual void OnUObjectArrayShutdown() override;
92
93 //~ Private constructor/destructor to prevent non-singleton use
96
97 struct FSimulatedTransform
98 {
103 };
104 mutable FCriticalSection MapCriticalSection;
106};
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition MotionVectorSimulation.h:22
ENGINE_API bool GetPreviousTransform(UObject *Object, FTransform *OutTransform) const
Definition MotionVectorSimulation.cpp:60
static ENGINE_API bool IsEnabled()
Definition MotionVectorSimulation.cpp:33
ENGINE_API void ClearPreviousTransform(UObject *Component)
Definition MotionVectorSimulation.cpp:89
ENGINE_API void SetPreviousTransform(UObject *Object, const FTransform &SimulatedPreviousTransform)
Definition MotionVectorSimulation.cpp:78
static ENGINE_API FMotionVectorSimulation & Get()
Definition MotionVectorSimulation.cpp:21
virtual SIZE_T GetAllocatedSize() const override
Definition MotionVectorSimulation.h:76
Definition Tickable.h:135
Definition UObjectArray.h:984
Definition UnrealString.h.inl:34
Definition UObjectBase.h:59
Definition Object.h:95
@ Transform
Definition AnimationUtils.cpp:594
U16 Index
Definition radfft.cpp:71
Definition Optional.h:131
Definition LightweightStats.h:416