62 UE_DEPRECATED(5.3,
"Please use UE::Anim::FCurveFilterSettings.")
246 bool bDisableRetargeting;
260 UE_DEPRECATED(5.3,
"Please use the constructor that takes a FCurveFilterSettings.")
263 UE_DEPRECATED(5.3,
"Please use InitializeTo that takes a FCurveFilterSettings.")
272 return (Asset.IsValid(
289 return AssetSkeletalMesh.
Get();
311 return bDisableRetargeting;
335 return bUseSourceData;
344 return BoneIndicesArray;
357 return BoneSwitchArray;
368 return CompactPoseParentBones;
372 template<
typename ArrayType>
382 OutTransforms[CompactBoneIndex] =
RefPoseTransforms[BoneIndicesArray[CompactBoneIndex]];
415 return BoneIndicesArray.
Num();
448 UE_DEPRECATED(5.3,
"GetUIDToArrayLookupTable is deprecated, it is no longer used.")
461 UE_DEPRECATED(5.0,
"GetUIDToCurveTypeLookupTable is deprecated, please access from the SmartNameMapping directly via GetSkeletonAsset()->GetSmartNameContainer(USkeleton::AnimCurveMappingName)")
478 <<
B.BoneIndicesArray
481 <<
B.AssetSkeletalMesh
483 <<
B.SkeletonToPoseBoneIndexArray
484 <<
B.PoseToSkeletonBoneIndexArray
485 <<
B.bDisableRetargeting
498 return BoneSwitchArray[NewIndex];
502 UE_DEPRECATED(5.0,
"Please use GetMeshPoseIndexFromSkeletonPoseIndex")
505 return SkeletonToPoseBoneIndexArray;
509 UE_DEPRECATED(5.0,
"Please use GetSkeletonPoseIndexFromMeshPoseIndex")
512 return PoseToSkeletonBoneIndexArray;
515 template<
typename IterType>
526 template<
typename IterType>
595 return CompactPoseToSkeletonIndex[BoneIndex.
GetInt()];
659 UE_DEPRECATED(5.3,
"Please use CacheRequiredAnimCurves with a FCurveFilterSettings.")
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define ensure( InExpression)
Definition AssertionMacros.h:464
uint16 FBoneIndexType
Definition BoneIndices.h:7
#define WITH_EDITOR
Definition Build.h:67
@ 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
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition Archive.h:1208
Definition NameTypes.h:617
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SkeletalMesh.h:440
Definition Skeleton.h:295
Definition AnimationAsset.h:38
uint16 UID_Type
Definition AnimationAsset.h:39
Definition AnimationAsset.h:42
ECurveFilterMode
Definition AnimCurveFilter.h:35
U16 Index
Definition radfft.cpp:71
Definition AnimCurveMetadata.h:17
Definition AnimCurveTypes.h:1041
Definition BoneContainer.h:528
const FBoneContainer & BoneContainer
Definition BoneContainer.h:529
FRangedForReverseSupport(const FBoneContainer &InBoneContainer)
Definition BoneContainer.h:531
IterType begin()
Definition BoneContainer.h:533
IterType end()
Definition BoneContainer.h:534
Definition BoneContainer.h:517
FRangedForSupport(const FBoneContainer &InBoneContainer)
Definition BoneContainer.h:520
IterType begin()
Definition BoneContainer.h:522
IterType end()
Definition BoneContainer.h:523
const FBoneContainer & BoneContainer
Definition BoneContainer.h:518
Definition BoneContainer.h:192
const bool IsValid() const
Definition BoneContainer.h:270
const TArray< FBoneIndexType > & GetBoneIndicesArray() const
Definition BoneContainer.h:342
ENGINE_API TArray< uint16 > const & GetUIDToArrayLookupTable() const
Definition BoneContainer.cpp:591
const TArray< FCompactPoseBoneIndex > & GetCompactPoseParentBoneArray() const
Definition BoneContainer.h:366
ENGINE_API int32 GetDepthBetweenBones(const int32 BoneIndex, const int32 ParentBoneIndex) const
Definition BoneContainer.cpp:526
const int32 GetNumBones() const
Definition BoneContainer.h:408
const int32 GetCompactPoseNumBones() const
Definition BoneContainer.h:413
UE_DEPRECATED(5.0, "GetUIDToNameLookupTable is deprecated, please access from the SmartNameMapping directly via GetSkeletonAsset()->GetSmartNameContainer(USkeleton::AnimCurveMappingName)") TArray< FName > const &GetUIDToNameLookupTable() const
Definition BoneContainer.h:454
ENGINE_API void InitializeTo(const TArrayView< const FBoneIndexType > &InRequiredBoneIndexArray, const UE::Anim::FCurveFilterSettings &InCurveFilterSettings, const UObject &InAsset)
Definition BoneContainer.cpp:84
bool GetDisableRetargeting() const
Definition BoneContainer.h:309
ENGINE_API void CacheRequiredAnimCurves(const UE::Anim::FCurveFilterSettings &InCurveFilterSettings)
Definition BoneContainer.cpp:268
ENGINE_API FBoneContainer()
Definition BoneContainer.cpp:20
ENGINE_API bool BoneIsChildOf(const int32 BoneIndex, const int32 ParentBoneIndex) const
Definition BoneContainer.cpp:533
const FReferenceSkeleton & GetReferenceSkeleton() const
Definition BoneContainer.h:402
void SetUseSourceData(bool InbUseSourceData)
Definition BoneContainer.h:327
FRangedForReverseSupport< FCompactPoseBoneIndexReverseIterator > ForEachCompactPoseBoneIndexReverse() const
Definition BoneContainer.h:541
USkeletalMesh * GetSkeletalMeshAsset() const
Definition BoneContainer.h:287
ENGINE_API int32 GetPoseBoneIndexForBoneName(const FName &BoneName) const
Definition BoneContainer.cpp:506
TArray< int32 > const & GetSkeletonToPoseBoneIndexArray() const
Definition BoneContainer.h:503
TArray< int32 > const & GetPoseToSkeletonBoneIndexArray() const
Definition BoneContainer.h:510
bool ShouldUseSourceData() const
Definition BoneContainer.h:333
const TArray< FVirtualBoneCompactPoseData > & GetVirtualBoneCompactPoseData() const
Definition BoneContainer.h:350
void SetUseRAWData(bool InbUseRAWData)
Definition BoneContainer.h:315
FCompactPoseBoneIndex MakeCompactPoseIndex(const FMeshPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:654
FCompactPoseBoneIndexIterator MakeEndIter() const
Definition BoneContainer.h:549
FRangedForSupport< FCompactPoseBoneIndexIterator > ForEachCompactPoseBoneIndex() const
Definition BoneContainer.h:537
ENGINE_API TArray< SmartName::UID_Type > const & GetUIDToArrayLookupTableBackup() const
Definition BoneContainer.cpp:608
UObject * GetAsset() const
Definition BoneContainer.h:281
const UE::Anim::FCurveFilter & GetCurveFilter() const
Definition BoneContainer.h:437
FCompactPoseBoneIndex GetCompactPoseIndexFromSkeletonIndex(const int32 SkeletonIndex) const
Definition BoneContainer.h:614
FCompactPoseBoneIndexReverseIterator MakeBeginIterReverse() const
Definition BoneContainer.h:553
void SetRefPoseOverride(const TSharedPtr< FSkelMeshRefPoseOverride > &InRefPoseOverride)
Definition BoneContainer.h:393
bool IsSkeletonPoseIndexValid(const FSkeletonPoseBoneIndex &SkeletonIndex) const
Definition BoneContainer.h:644
const UE::Anim::FBulkCurveFlags & GetCurveFlags() const
Definition BoneContainer.h:443
void CacheRequiredAnimCurveUids(const FCurveEvaluationOption &CurveEvalOption)
Definition BoneContainer.h:660
ENGINE_API int32 GetUIDToArrayIndexLookupTableValidCount() const
Definition BoneContainer.cpp:597
uint16 GetSerialNumber() const
Definition BoneContainer.h:682
FCompactPoseBoneIndexIterator MakeBeginIter() const
Definition BoneContainer.h:545
ENGINE_API int32 GetParentBoneIndex(const int32 BoneIndex) const
Definition BoneContainer.cpp:512
FSkeletonPoseBoneIndex GetSkeletonPoseIndexFromCompactPoseIndex(const FCompactPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:603
ENGINE_API void Reset()
Definition BoneContainer.cpp:93
void SetDisableRetargeting(bool InbDisableRetargeting)
Definition BoneContainer.h:303
USkeleton * GetSkeletonAsset(bool bEvenIfUnreachable=false) const
Definition BoneContainer.h:293
FMeshPoseBoneIndex GetMeshPoseIndexFromSkeletonPoseIndex(const FSkeletonPoseBoneIndex &SkeletonIndex) const
Definition BoneContainer.h:567
int32 GetSkeletonIndex(const FCompactPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:593
bool Contains(FBoneIndexType NewIndex) const
Definition BoneContainer.h:496
FCompactPoseBoneIndex GetCompactPoseIndexFromSkeletonPoseIndex(const FSkeletonPoseBoneIndex &SkeletonIndex) const
Definition BoneContainer.h:629
ENGINE_API const FRetargetSourceCachedData & GetRetargetSourceCachedData(const FName &InRetargetSource) const
Definition BoneContainer.cpp:404
UE_DEPRECATED(5.0, "GetUIDToCurveTypeLookupTable is deprecated, please access from the SmartNameMapping directly via GetSkeletonAsset()->GetSmartNameContainer(USkeleton::AnimCurveMappingName)") ENGINE_API TArray< FAnimCurveType > const &GetUIDToCurveTypeLookupTable() const
FSkeletonPoseBoneIndex GetSkeletonPoseIndexFromMeshPoseIndex(const FMeshPoseBoneIndex &MeshIndex) const
Definition BoneContainer.h:582
ENGINE_API void MarkAllCachedCurveMappingsDirty()
const TBitArray & GetBoneSwitchArray() const
Definition BoneContainer.h:355
FCompactPoseBoneIndexReverseIterator MakeEndIterReverse() const
Definition BoneContainer.h:557
void FillWithCompactRefPose(ArrayType &OutTransforms) const
Definition BoneContainer.h:373
FMeshPoseBoneIndex MakeMeshPoseIndex(const FCompactPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:649
ENGINE_API const FCachedSkeletonCurveMapping & GetOrCreateCachedCurveMapping(const FSkeletonRemapping *SkeletonRemapping)
bool ShouldUseRawData() const
Definition BoneContainer.h:321
const TArray< FTransform > & GetRefPoseArray() const
Definition BoneContainer.h:361
const FTransform & GetRefPoseTransform(const FCompactPoseBoneIndex &BoneIndex) const
Definition BoneContainer.h:386
int32 GetInt() const
Definition BoneIndices.h:14
Definition BoneContainer.h:123
TArray< SmartName::UID_Type > UIDToArrayIndices
Definition BoneContainer.h:124
bool bIsDirty
Definition BoneContainer.h:125
Definition BoneContainer.h:140
FCompactPoseBoneIndex operator*() const
Definition BoneContainer.h:148
bool operator==(FCompactPoseBoneIndexIterator &Rhs)
Definition BoneContainer.h:146
FCompactPoseBoneIndexIterator(int32 InIndex)
Definition BoneContainer.h:143
FCompactPoseBoneIndexIterator & operator++()
Definition BoneContainer.h:145
int32 Index
Definition BoneContainer.h:141
bool operator!=(FCompactPoseBoneIndexIterator &Rhs)
Definition BoneContainer.h:147
Definition BoneContainer.h:153
bool operator==(FCompactPoseBoneIndexReverseIterator &Rhs)
Definition BoneContainer.h:159
bool operator!=(FCompactPoseBoneIndexReverseIterator &Rhs)
Definition BoneContainer.h:160
FCompactPoseBoneIndexReverseIterator(int32 InIndex)
Definition BoneContainer.h:156
FCompactPoseBoneIndex operator*() const
Definition BoneContainer.h:161
int32 Index
Definition BoneContainer.h:154
FCompactPoseBoneIndexReverseIterator & operator++()
Definition BoneContainer.h:158
Definition BoneIndices.h:63
Definition BoneContainer.h:57
int32 LODIndex
Definition BoneContainer.h:60
bool bAllowCurveEvaluation
Definition BoneContainer.h:58
const TArray< FName > * DisallowedList
Definition BoneContainer.h:59
Definition BoneIndices.h:71
Definition BoneContainer.h:97
FOrientAndScaleRetargetingCachedData(const FQuat &InTranslationDeltaOrient, const float InTranslationScale, const FVector &InSourceTranslation, const FVector &InTargetTranslation)
Definition BoneContainer.h:104
FVector TargetTranslation
Definition BoneContainer.h:101
float TranslationScale
Definition BoneContainer.h:99
FVector SourceTranslation
Definition BoneContainer.h:100
FQuat TranslationDeltaOrient
Definition BoneContainer.h:98
Definition ReferenceSkeleton.h:100
Definition ResourceArray.h:31
Definition BoneContainer.h:165
friend uint32 GetTypeHash(const FRetargetSourceCachedDataKey &Obj)
Definition BoneContainer.h:179
bool operator==(const FRetargetSourceCachedDataKey &Other) const
Definition BoneContainer.h:175
FName SourceRetargetName
Definition BoneContainer.h:167
FTopLevelAssetPath SourceSkeletonPath
Definition BoneContainer.h:166
FRetargetSourceCachedDataKey(const UObject *Skeleton, const FName &InSourceRetargetName)
Definition BoneContainer.h:169
Definition BoneContainer.h:130
TArray< int32 > CompactPoseIndexToOrientAndScaleIndex
Definition BoneContainer.h:135
TArray< FOrientAndScaleRetargetingCachedData > OrientAndScaleData
Definition BoneContainer.h:132
Definition BoneContainer.h:29
TArray< FTransform > RefBonePoses
Definition BoneContainer.h:33
TArray< FMatrix44f > RefBasesInvMatrix
Definition BoneContainer.h:31
Definition BoneIndices.h:79
Definition SkeletonRemapping.h:11
Definition TopLevelAssetPath.h:38
Definition BoneContainer.h:40
FCompactPoseBoneIndex SourceIndex
Definition BoneContainer.h:44
FVirtualBoneCompactPoseData(FCompactPoseBoneIndex InVBIndex, FCompactPoseBoneIndex InSourceIndex, FCompactPoseBoneIndex InTargetIndex)
Definition BoneContainer.h:48
FCompactPoseBoneIndex TargetIndex
Definition BoneContainer.h:46
FCompactPoseBoneIndex VBIndex
Definition BoneContainer.h:42
Definition WeakObjectPtrTemplates.h:25
FORCEINLINE T * GetEvenIfUnreachable() const
Definition WeakObjectPtrTemplates.h:189
FORCEINLINE T * Get(bool bEvenIfPendingKill) const
Definition WeakObjectPtrTemplates.h:132
Definition AnimCurveElementFlags.h:47
Definition BoneContainer.h:76
UE::Anim::ECurveFilterMode FilterMode
Definition BoneContainer.h:87
const TArray< FName > * FilterCurves
Definition BoneContainer.h:84
int32 LODIndex
Definition BoneContainer.h:90
FCurveFilterSettings(UE::Anim::ECurveFilterMode InFilterMode=UE::Anim::ECurveFilterMode::DisallowFiltered, const TArray< FName > *InFilterCurves=nullptr, int32 InLODIndex=0)
Definition BoneContainer.h:77
Definition AnimCurveFilter.h:68