UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DataflowEngineUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "CoreMinimal.h"
8#include "Math/Transform.h"
9#include "ReferenceSkeleton.h"
11#include "Templates/Casts.h"
12#include "UObject/Class.h"
13#include "UObject/Field.h"
14#include "UObject/NameTypes.h"
15#include "UObject/Object.h"
16#include "UObject/UnrealType.h"
18
19#define UE_API DATAFLOWENGINE_API
20
23
24namespace UE::Dataflow
25{
26 namespace Reflection
27 {
28 template<class T>
30 {
31 if (Owner && Owner->GetClass())
32 {
33 if (const ::FProperty* UEProperty = Owner->GetClass()->FindPropertyByName(Name))
34 {
36 {
37 if (const void* ObjectContainer = ObjectProperty->ContainerPtrToValuePtr<void>(Owner))
38 {
39 if (const UObject* Value = ObjectProperty->GetObjectPropertyValue(ObjectContainer))
40 {
41 return Cast<T>(Value);
42 }
43 }
44 }
45 }
46 }
47 return nullptr;
48 }
49
50 template<class T>
52 {
53 if (Owner && Owner->GetClass())
54 {
55 if (FArrayProperty* ArrayProperty = FindFProperty<FArrayProperty>(Owner->GetClass(), PropertyName))
56 {
58 {
59 if (ArrayInnerProperty->Struct == FStringValuePair::StaticStruct())
60 {
61 if (const TArray<FStringValuePair>* ContainerData = ArrayProperty->ContainerPtrToValuePtr< TArray<FStringValuePair> >(Owner))
62 {
63 for (const FStringValuePair& Pair : *ContainerData)
64 {
65 if (Pair.Key.Equals(ArrayKey.ToString()))
66 {
67 return Pair.Value;
68 }
69 }
70 }
71 }
72 }
73 }
74 }
75 return Default;
76 }
77 }
78
79 namespace Animation
80 {
82 }
83
84 namespace Color
85 {
86 UE_API FLinearColor GetRandomColor(const int32 RandomSeed, int32 Idx);
87 }
88
89 namespace Type
90 {
94 }
95}
96
97#undef UE_API
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition SColorGradingComponentViewer.h:12
Definition UnrealType.h:3702
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition UnrealType.h:6306
Definition Array.h:670
Definition Object.h:95
Type
Definition PawnAction_Move.h:11
void GlobalTransforms(const FReferenceSkeleton &Ref, TArray< FTransform > &Mat)
Definition DataflowEngineUtil.cpp:37
FLinearColor GetRandomColor(const int32 RandomSeed, int32 Idx)
Definition DataflowEngineUtil.cpp:54
const T * FindObjectPtrProperty(const UObject *Owner, FName Name)
Definition DataflowEngineUtil.h:29
const T FindOverrideProperty(const UObject *Owner, FName PropertyName, FName ArrayKey, const T &Default=T())
Definition DataflowEngineUtil.h:51
FName MakeUniqueNameForPropertyBag(FName OriginalName, const FInstancedPropertyBag &PropertyBag)
Definition DataflowEngineUtil.cpp:190
FPropertyBagPropertyDesc GetPropertyBagPropertyDescFromDataflowType(const FName Name, const FName Type)
Definition DataflowEngineUtil.cpp:68
FPropertyBagPropertyDesc GetPropertyBagPropertyDescFromDataflowConnection(const FDataflowConnection &Connection)
Definition DataflowEngineUtil.cpp:151
Definition DataflowAnyType.cpp:10
Definition DataflowConnection.h:131
Definition PropertyBag.h:418
Definition Color.h:48
Definition PropertyBag.h:249
Definition ReferenceSkeleton.h:100
Definition DataflowEngineTypes.h:13