6#include "Containers/Array.h"
7#include "Containers/Map.h"
35#include "LiveLinkTypes.generated.h"
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"Live Link")
70 return GetTypeHash(
Value.Name);
82 UPROPERTY(BlueprintReadOnly, Category=
"LiveLink")
86 UPROPERTY(BlueprintReadOnly, Category="LiveLink")
161 UPROPERTY(meta = (IgnoreForMemberInitializationTest))
176 UPROPERTY(EditAnywhere, Category=
"LiveLink")
179 UPROPERTY(EditAnywhere, Category="LiveLink")
201 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"LiveLink")
204 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="LiveLink")
221 UPROPERTY(VisibleAnywhere, Category=
"LiveLink")
225 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="LiveLink")
229 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="LiveLink")
241#if WITH_EDITORONLY_DATA
243 UPROPERTY(VisibleAnywhere, Category =
"LiveLink")
260 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=
"LiveLink")
271 OutValue = FrameData.PropertyValues[FoundIndex];
299template<
typename BaseType>
352 template<
typename DataType>
394 DataStruct = (BaseType*)FMemory::Malloc(ScriptStructPtr->GetStructureSize() ? ScriptStructPtr->GetStructureSize() : 1);
395 ScriptStructPtr->InitializeStruct(
DataStruct);
401 template<
typename Type>
407 template<
typename Type>
427 return Other.GetBaseData() ==
nullptr;
434 return !(*
this ==
Other);
451 InStruct.WrappedStruct.Initialize(ScriptStructPtr);
463 ScriptStructPtr->SerializeItem(Ar,
InStruct.GetBaseData(),
nullptr);
475 template<
typename Type>
480 if constexpr (std::is_same_v<Type, BaseType>)
487 if (ScriptStruct && ScriptStruct->
IsChildOf(Type::StaticStruct()))
496 if constexpr (std::is_same_v<Type, BaseType>)
502 return const_cast<const Type*
>(
Cast(ScriptStruct,
const_cast<BaseType*
>(
BaseData)));
545 return Denominator > 0;
719 UE_DEPRECATED(4.23,
"FLiveLinkCurveIntegrationData is no longer used, please use FLiveLinkBaseStaticData::PropertyNames and FLiveLinkBaseFrameData::PropertyValues instead.")
733 UE_DEPRECATED(4.23,
"FLiveLinkCurveKey is no longer used, please use FLiveLinkBaseStaticData::PropertyNames and FLiveLinkBaseFrameData::PropertyValues instead.")
744 UE_DEPRECATED(4.23,
"FLiveLinkSubjectFrame is no longer used, please use the LiveLink animation role instead.")
769 UE_DEPRECATED(4.23,
"FLiveLinkFrame is no longer used, please use the LiveLink animation role instead.")
788 FLiveLinkWorldTime::StaticStruct()->SerializeItem(Ar, (
void*)&
InFrame.WorldTime,
nullptr);
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
int32 FLiveLinkFrameIdentifier
Definition LiveLinkTypes.h:209
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
@ PPF_None
Definition PropertyPortFlags.h:15
EName
Definition UnrealNames.h:16
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
CORE_API void SetError()
Definition Archive.cpp:314
Definition LiveLinkTypes.h:301
const UScriptStruct * GetStruct() const
Definition LiveLinkTypes.h:343
void Reset()
Definition LiveLinkTypes.h:328
void InitializeWith(const DataType *InData)
Definition LiveLinkTypes.h:353
bool operator!=(const FLiveLinkBaseDataStruct &Other) const
Definition LiveLinkTypes.h:432
friend FArchive & operator<<(FArchive &Ar, FLiveLinkBaseDataStruct &InStruct)
Definition LiveLinkTypes.h:437
FLiveLinkBaseDataStruct()=default
const Type * Cast() const
Definition LiveLinkTypes.h:408
BaseType * GetBaseData()
Definition LiveLinkTypes.h:333
FLiveLinkBaseDataStruct(FLiveLinkBaseDataStruct &&InOther)
Definition LiveLinkTypes.h:317
FLiveLinkBaseDataStruct(const UScriptStruct *InType, BaseType *InData)
Definition LiveLinkTypes.h:306
void InitializeWith(const UScriptStruct *InOtherStruct, const BaseType *InData)
Definition LiveLinkTypes.h:363
FLiveLinkBaseDataStruct & operator=(FLiveLinkBaseDataStruct &&InOther)
Definition LiveLinkTypes.h:413
FLiveLinkBaseDataStruct(const UScriptStruct *InType)
Definition LiveLinkTypes.h:312
void InitializeWith(const FLiveLinkBaseDataStruct &InOther)
Definition LiveLinkTypes.h:379
const BaseType * GetBaseData() const
Definition LiveLinkTypes.h:338
BaseType * CloneData() const
Definition LiveLinkTypes.h:389
bool operator==(const FLiveLinkBaseDataStruct &Other) const
Definition LiveLinkTypes.h:419
FStructOnScope WrappedStruct
Definition LiveLinkTypes.h:508
bool IsValid() const
Definition LiveLinkTypes.h:323
Type * Cast()
Definition LiveLinkTypes.h:402
Definition NameTypes.h:617
FORCEINLINE bool IsNone() const
Definition NameTypes.h:827
Definition UnrealType.h:3087
Definition StructOnScope.h:13
virtual const UStruct * GetStruct() const
Definition StructOnScope.h:72
virtual void Initialize()
Definition StructOnScope.h:21
virtual void Reset()
Definition StructOnScope.h:113
virtual uint8 * GetStructMemory()
Definition StructOnScope.h:62
SizeType AddDefaulted()
Definition Array.h:2795
Definition UnrealString.h.inl:34
Definition TimeManagement.Build.cs:6
COREUOBJECT_API void SerializeItem(FArchive &Ar, void *Value, void const *Defaults)
Definition Class.cpp:3378
COREUOBJECT_API void CopyScriptStruct(void *Dest, void const *Src, int32 ArrayDim=1) const
Definition Class.cpp:3730
COREUOBJECT_API bool CompareScriptStruct(const void *A, const void *B, uint32 PortFlags) const
Definition Class.cpp:3696
bool IsChildOf() const
Definition Class.h:788
Definition PropertyNames.h:7
@ false
Definition radaudio_common.h:23
static double Seconds()
Definition AndroidPlatformTime.h:20
Definition FrameRate.h:21
FFrameRate()
Definition FrameRate.h:25
Definition FrameTime.h:16
Definition LiveLinkTypes.h:286
FLiveLinkBaseBlueprintData()=default
virtual ~FLiveLinkBaseBlueprintData()=default
Definition LiveLinkTypes.h:477
static const Type * ConstCast(const UScriptStruct *ScriptStruct, const BaseType *BaseData)
Definition LiveLinkTypes.h:494
static Type * Cast(const UScriptStruct *ScriptStruct, BaseType *BaseData)
Definition LiveLinkTypes.h:478
Definition LiveLinkTypes.h:217
Definition LiveLinkTypes.h:256
Definition LiveLinkTypes.h:626
FLiveLinkCurveElement(FName InCurveName, float InCurveValue)
Definition LiveLinkTypes.h:635
Definition LiveLinkTypes.h:721
int32 NumNewCurves
Definition LiveLinkTypes.h:725
TArray< FOptionalCurveElement > CurveValues
Definition LiveLinkTypes.h:728
Definition LiveLinkTypes.h:735
FLiveLinkCurveIntegrationData UpdateCurveKey(const TArray< FLiveLinkCurveElement > &CurveElements)
TArray< FName > CurveNames
Definition LiveLinkTypes.h:736
Definition LiveLinkTypes.h:653
Definition LiveLinkTypes.h:538
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_120
Definition LiveLinkTypes.h:556
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_15
Definition LiveLinkTypes.h:548
static LIVELINKINTERFACE_API const FLiveLinkFrameRate NTSC_60
Definition LiveLinkTypes.h:561
static LIVELINKINTERFACE_API const FLiveLinkFrameRate NTSC_24
Definition LiveLinkTypes.h:559
static LIVELINKINTERFACE_API const FLiveLinkFrameRate NTSC_30
Definition LiveLinkTypes.h:560
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_60
Definition LiveLinkTypes.h:554
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_24
Definition LiveLinkTypes.h:549
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_50
Definition LiveLinkTypes.h:553
bool IsValid() const
Definition LiveLinkTypes.h:543
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_30
Definition LiveLinkTypes.h:551
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_48
Definition LiveLinkTypes.h:552
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_100
Definition LiveLinkTypes.h:555
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_240
Definition LiveLinkTypes.h:557
static LIVELINKINTERFACE_API const FLiveLinkFrameRate FPS_25
Definition LiveLinkTypes.h:550
Definition LiveLinkTypes.h:771
friend FArchive & operator<<(FArchive &Ar, FLiveLinkFrame &InFrame)
Definition LiveLinkTypes.h:784
FLiveLinkMetaData MetaData
Definition LiveLinkTypes.h:775
FLiveLinkWorldTime WorldTime
Definition LiveLinkTypes.h:777
TArray< FTransform > Transforms
Definition LiveLinkTypes.h:772
void ExtendCurveData(int32 ExtraCurves)
Definition LiveLinkTypes.h:779
TArray< FOptionalCurveElement > Curves
Definition LiveLinkTypes.h:773
Definition LiveLinkRefSkeleton.h:14
Definition LiveLinkTypes.h:526
FLiveLinkStaticDataStruct StaticData
Definition LiveLinkTypes.h:528
FLiveLinkFrameDataStruct FrameData
Definition LiveLinkTypes.h:529
Definition LiveLinkTypes.h:746
TArray< FOptionalCurveElement > Curves
Definition LiveLinkTypes.h:760
FLiveLinkCurveKey CurveKeyData
Definition LiveLinkTypes.h:754
TArray< FTransform > Transforms
Definition LiveLinkTypes.h:757
FLiveLinkRefSkeleton RefSkeleton
Definition LiveLinkTypes.h:748
FGuid RefSkeletonGuid
Definition LiveLinkTypes.h:751
FLiveLinkMetaData MetaData
Definition LiveLinkTypes.h:763
Definition LiveLinkTypes.h:78
FGuid Source
Definition LiveLinkTypes.h:83
friend uint32 GetTypeHash(const FLiveLinkSubjectKey &SubjectKey)
Definition LiveLinkTypes.h:102
bool operator!=(const FLiveLinkSubjectKey &Other) const
Definition LiveLinkTypes.h:93
friend FArchive & operator<<(FArchive &Ar, FLiveLinkSubjectKey &InSubjectKey)
Definition LiveLinkTypes.h:95
FLiveLinkSubjectName SubjectName
Definition LiveLinkTypes.h:87
Definition LiveLinkTypes.h:40
friend uint32 GetTypeHash(const FLiveLinkSubjectName &Value)
Definition LiveLinkTypes.h:68
FLiveLinkSubjectName(EName InName)
Definition LiveLinkTypes.h:46
FString ToString() const
Definition LiveLinkTypes.h:53
bool operator==(const FName Other) const
Definition LiveLinkTypes.h:60
friend FArchive & operator<<(FArchive &Ar, FLiveLinkSubjectName &InSubjectName)
Definition LiveLinkTypes.h:62
bool operator==(const FLiveLinkSubjectName &Other) const
Definition LiveLinkTypes.h:59
FName Name
Definition LiveLinkTypes.h:50
Definition LiveLinkTypes.h:566
FLiveLinkTimeCode_Base_DEPRECATED(const int32 InSeconds, const int32 InFrames, const FLiveLinkFrameRate &InFrameRate)
Definition LiveLinkTypes.h:585
FLiveLinkTimeCode_Base_DEPRECATED()
Definition LiveLinkTypes.h:581
Definition LiveLinkTypes.h:595
FLiveLinkTimeCode & operator=(const FQualifiedFrameTime &InFrameTime)
Definition LiveLinkTypes.h:608
Definition LiveLinkTypes.h:173
FLiveLinkTime(double InWorldTime, const FQualifiedFrameTime &InSceneTime)
Definition LiveLinkTypes.h:188
Definition LiveLinkTypes.h:111
void SetClockOffset(double ClockOffset)
Definition LiveLinkTypes.h:154
FLiveLinkWorldTime(const double InTime, const double InOffset)
Definition LiveLinkTypes.h:129
FLiveLinkWorldTime()
Definition LiveLinkTypes.h:116
double GetSourceTime() const
Definition LiveLinkTypes.h:136
double GetOffset() const
Definition LiveLinkTypes.h:142
FLiveLinkWorldTime(const double InTime)
Definition LiveLinkTypes.h:122
double GetOffsettedTime() const
Definition LiveLinkTypes.h:148
static UE_FORCEINLINE_HINT float RoundToZero(float F)
Definition UnrealMathUtility.h:2209
Definition LiveLinkTypes.h:674
void SetValue(float InValue)
Definition LiveLinkTypes.h:695
bool IsValid() const
Definition LiveLinkTypes.h:690
float Value
Definition LiveLinkTypes.h:676
FOptionalCurveElement()
Definition LiveLinkTypes.h:685
FOptionalCurveElement & operator=(const FLiveLinkCurveElement &InCurveElement)
Definition LiveLinkTypes.h:701
FOptionalCurveElement(float InValue)
Definition LiveLinkTypes.h:680
bool bValid
Definition LiveLinkTypes.h:678
friend FArchive & operator<<(FArchive &Ar, FOptionalCurveElement &InElement)
Definition LiveLinkTypes.h:707
Definition QualifiedFrameTime.h:13
Definition UnrealTypeTraits.h:40