24 static FName BoneAttributeNamespace(
"bone");
47 template<
typename BoneIndexTypeA,
typename BoneIndexTypeB>
69 template<
class BoneIndexType,
typename InAllocator>
73 template <
typename OtherAllocator>
81 for (
int32 TypeIndex = 0; TypeIndex < NumTypes; ++TypeIndex)
96 template<
class OtherBoneIndexType,
typename OtherAllocator>
104 const int32 NumTypes =
Other.UniqueTypedBoneIndices.Num();
105 for (
int32 TypeIndex = 0; TypeIndex < NumTypes; ++TypeIndex)
136 template<
class OtherBoneIndexType,
typename OtherAllocator>
144 const int32 NumTypes =
Other.UniqueTypedBoneIndices.Num();
145 for (
int32 TypeIndex = 0; TypeIndex < NumTypes; ++TypeIndex)
153 BoneIndexType
MyIndex = Conversion::MakeIndex<OtherBoneIndexType, BoneIndexType>(
OtherIndex, BoneContainer);
201 for (
int32 TypeIndex = 0; TypeIndex < NumTypes; ++TypeIndex)
308 template<
typename AttributeType>
366 template<
typename AttributeType>
420 template<
typename AttributeType>
463 template<
typename AttributeType>
507 template<
typename AttributeType>
527 checkf(
false,
TEXT(
"Failed TAttributeContainer::FindChecked"));
531 checkf(
false,
TEXT(
"Failed TAttributeContainer::FindChecked"));
532 return AttributeType();
543 template<
typename AttributeType>
563 checkf(
false,
TEXT(
"Failed TAttributeContainer::FindChecked"));
564 return AttributeType();
574 template<
typename AttributeType>
588 return AttributeIndex;
615 return AttributeIndex;
629 template<
typename AttributeType>
662 Values.RemoveAtSwap(TypeIndex);
688 template<
typename AttributeType>
691 return RemoveAll(AttributeType::StaticStruct());
708 Values.RemoveAtSwap(TypeIndex);
748 template<
typename ArrayAllocator>
777 int32 NumAttributes = 0;
783 return NumAttributes;
825 template <
typename OtherBoneIndexType,
typename OtherAllocator>
828 template<
class OtherBoneIndexType,
typename OtherAllocator>
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ECustomAttributeBlendType
Definition CustomAttributes.h:19
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_FORCEINLINE_HINT void RemoveAtSwap(SizeType Index, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2185
SizeType AddDefaulted()
Definition Array.h:2795
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
SizeType IndexOfByKey(const KeyType &Key) const
Definition Array.h:1403
ElementType & AddDefaulted_GetRef() UE_LIFETIMEBOUND
Definition Array.h:2815
UE_FORCEINLINE_HINT SizeType AddUnique(ElementType &&Item)
Definition Array.h:2993
UE_NODEBUG UE_FORCEINLINE_HINT ElementType & Add_GetRef(ElementType &&Item) UE_LIFETIMEBOUND
Definition Array.h:2724
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition UnrealString.h.inl:34
BoneIndexTypeB MakeIndex(BoneIndexTypeA BoneIndex, const FBoneContainer &BoneContainer)
Definition AttributesContainer.h:48
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition BoneContainer.h:192
const TArray< FBoneIndexType > & GetBoneIndicesArray() const
Definition BoneContainer.h:342
FCompactPoseBoneIndex MakeCompactPoseIndex(const FMeshPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:654
FMeshPoseBoneIndex MakeMeshPoseIndex(const FCompactPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:649
int32 GetInt() const
Definition BoneIndices.h:14
Definition BoneIndices.h:63
Definition BoneIndices.h:71
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
Definition AttributesContainer.h:27
int32 Index
Definition AttributesContainer.h:42
FName Namespace
Definition AttributesContainer.h:40
FName Name
Definition AttributesContainer.h:41
FAttributeId(const FName &InName, int32 InIndex, const FName &InNamespace)
Definition AttributesContainer.h:29
const FName & GetNamespace() const
Definition AttributesContainer.h:38
int32 GetIndex() const
Definition AttributesContainer.h:36
FAttributeId(const FName &InName, const FCompactPoseBoneIndex &InCompactBoneIndex)
Definition AttributesContainer.h:28
bool operator==(const FAttributeId &Other) const
Definition AttributesContainer.h:31
const FName & GetName() const
Definition AttributesContainer.h:37
Definition AttributesRuntime.h:47
Definition AttributesContainer.h:71
int32 Num() const
Definition AttributesContainer.h:775
void CopyFrom(const TAttributeContainer< BoneIndexType, OtherAllocator > &Other)
Definition AttributesContainer.h:74
const AttributeType & FindChecked(const FAttributeId &InAttributeId) const
Definition AttributesContainer.h:544
bool Remove(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId)
Definition AttributesContainer.h:642
int32 FindOrAddTypeIndex(const UScriptStruct *InScriptStruct)
Definition AttributesContainer.h:799
uint8 * Add(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId)
Definition AttributesContainer.h:328
int32 FindTypeIndex(const UScriptStruct *InScriptStruct) const
Definition AttributesContainer.h:723
int32 IndexOfByKey(const FAttributeId &InAttributeId) const
Definition AttributesContainer.h:575
void CopyFrom(const TAttributeContainer< BoneIndexType, InAllocator > &Other)
Definition AttributesContainer.h:190
const TArray< TWeakObjectPtr< UScriptStruct > > & GetUniqueTypes() const
Definition AttributesContainer.h:741
const TArray< int32 > & GetUniqueTypedBoneIndices(int32 TypeIndex) const
Definition AttributesContainer.h:770
AttributeType * Find(const FAttributeId &InAttributeId)
Definition AttributesContainer.h:421
void MoveFrom(TAttributeContainer< BoneIndexType, InAllocator > &Other)
Definition AttributesContainer.h:217
const AttributeType * Find(const FAttributeId &InAttributeId) const
Definition AttributesContainer.h:464
AttributeType * Add(const FAttributeId &InAttributeId, const AttributeType &Attribute)
Definition AttributesContainer.h:309
bool Remove(const FAttributeId &InAttributeId)
Definition AttributesContainer.h:630
AttributeType & FindChecked(const FAttributeId &InAttributeId)
Definition AttributesContainer.h:508
AttributeType * FindOrAdd(const FAttributeId &InAttributeId)
Definition AttributesContainer.h:367
void CopyFrom(const TAttributeContainer< OtherBoneIndexType, OtherAllocator > &Other, const FBoneContainer &BoneContainer)
Definition AttributesContainer.h:137
int32 IndexOfByKey(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId) const
Definition AttributesContainer.h:602
TArray< FAttributeId > & GetKeysInternal(int32 TypeIndex)
Definition AttributesContainer.h:796
bool operator!=(const TAttributeContainer< BoneIndexType, InAllocator > &Other)
Definition AttributesContainer.h:240
uint8 * Find(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId)
Definition AttributesContainer.h:434
const TArray< FAttributeId > & GetKeys(int32 TypeIndex) const
Definition AttributesContainer.h:731
bool RemoveAll()
Definition AttributesContainer.h:689
TArray< TArray< int32 > > UniqueTypedBoneIndices
Definition AttributesContainer.h:820
bool ContainsData() const
Definition AttributesContainer.h:226
TArray< TWrappedAttribute< InAllocator > > & GetValuesInternal(int32 TypeIndex)
Definition AttributesContainer.h:791
TArray< TArray< FAttributeId > > AttributeIdentifiers
Definition AttributesContainer.h:821
const TArray< TWrappedAttribute< InAllocator > > & GetValues(int32 TypeIndex) const
Definition AttributesContainer.h:736
TArray< TArray< TWrappedAttribute< InAllocator > > > Values
Definition AttributesContainer.h:822
const uint8 * Find(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId) const
Definition AttributesContainer.h:477
void CopyFrom(const TAttributeContainer< OtherBoneIndexType, OtherAllocator > &Other, const TMap< OtherBoneIndexType, BoneIndexType > &IndexMapping)
Definition AttributesContainer.h:97
void Empty()
Definition AttributesContainer.h:232
bool GetAllKeyNames(TArray< FName, ArrayAllocator > &OutAttributeKeyNames) const
Definition AttributesContainer.h:749
uint8 * FindOrAdd(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId)
Definition AttributesContainer.h:380
bool RemoveAll(const UScriptStruct *InScriptStruct, const FAttributeId &InAttributeId)
Definition AttributesContainer.h:699
TArray< TWeakObjectPtr< UScriptStruct > > UniqueTypes
Definition AttributesContainer.h:823
Definition WrappedAttribute.h:16