UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StateStreamDefinitions.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "StateStreamHandle.h"
6
8
9#define DECLARE_STATESTREAM(Type) \
10 using StaticState = F##Type##StaticState; \
11 using DynamicState = F##Type##DynamicState; \
12 using Handle = F##Type##Handle; \
13 static inline constexpr uint32 Id = Type##StateStreamId; \
14
15
16// TODO: A struct with multiple times (wall, game, etc)
17#if !defined(UE_STATESTREAM_TIME_TYPE)
18#define UE_STATESTREAM_TIME_TYPE double
19#endif
20
22
24// Context used for interpolation functions
25
30
32// Generic interpolation functions. Used by code generation
33
34template<typename Type>
35inline void StateStreamInterpolate(FStateStreamInterpolateContext& Context, Type& Out, const Type& From, const Type& To)
36{
37 Out = To;
38}
39
40
42{
43 Out = From + uint32(double(To - From)*Context.Factor);
44}
45
46inline void StateStreamInterpolate(FStateStreamInterpolateContext& Context, float& Out, const float& From, const float& To)
47{
48 Out = From + float(double(To - From)*Context.Factor);
49}
50
51inline void StateStreamInterpolate(FStateStreamInterpolateContext& Context, double& Out, const double& From, const double& To)
52{
53 Out = From + (To - From)*Context.Factor;
54}
55
56template<typename Type>
57inline bool StateStreamEquals(const Type& A, const Type& B)
58{
59 return A == B;
60}
61
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
bool StateStreamEquals(const Type &A, const Type &B)
Definition StateStreamDefinitions.h:57
#define UE_STATESTREAM_TIME_TYPE
Definition StateStreamDefinitions.h:18
void StateStreamInterpolate(FStateStreamInterpolateContext &Context, Type &Out, const Type &From, const Type &To)
Definition StateStreamDefinitions.h:35
UE_STATESTREAM_TIME_TYPE StateStreamTime
Definition StateStreamDefinitions.h:21
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition StateStreamHandle.h:71
Definition StateStreamDefinitions.h:27
double Factor
Definition StateStreamDefinitions.h:28