UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType > Class Template Reference

#include <DynamicBoneAttribute.h>

+ Inheritance diagram for UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >:

Public Member Functions

 TDynamicBoneAttributeBase ()=default
 
 TDynamicBoneAttributeBase (ParentType *ParentIn, const int InNumBones=0)
 
 TDynamicBoneAttributeBase (ParentType *ParentIn, const int InNumBones, const AttribValueType &InitialValue)
 
virtual ~TDynamicBoneAttributeBase ()=default
 
void Initialize (const int32 InNumBones, const AttribValueType &InitialValue)
 
void Resize (const int32 InNumBones)
 
void Copy (const TDynamicBoneAttributeBase< ParentType, AttribValueType > &Copy)
 
bool IsEmpty () const
 
int32 Num () const
 
virtual bool IsSameAs (const TDynamicBoneAttributeBase< ParentType, AttribValueType > &Other) const
 
const TArray< AttribValueType > & GetAttribValues () const
 
void SetValue (const int32 InBoneID, const AttribValueType &InValue)
 
const AttribValueTypeGetValue (const int32 InBoneID) const
 
void Append (const AttribValueType &InValue)
 
SIZE_T GetByteCount () const
 
virtual TDynamicAttributeBase< ParentType > * MakeCopy (ParentType *ParentIn) const override
 
virtual TDynamicAttributeBase< ParentType > * MakeNew (ParentType *ParentIn) const override
 
virtual void CompactInPlace (const FCompactMaps &CompactMaps) override
 
virtual void Reparent (ParentType *NewParent) override
 
virtual bool CopyThroughMapping (const TDynamicAttributeBase< ParentType > *Source, const FMeshIndexMappings &Mapping) override
 
virtual bool Append (const TDynamicAttributeBase< ParentType > &Source, const UE::Geometry::FDynamicMesh3::FAppendInfo &Info) override
 
virtual void AppendDefaulted (const UE::Geometry::FDynamicMesh3::FAppendInfo &Info) override
 
virtual bool CopyOut (int RawID, void *Buffer, int BufferSize) const override
 
virtual bool CopyIn (int RawID, void *Buffer, int BufferSize) override
 
virtual TUniquePtr< TDynamicAttributeChangeBase< ParentType > > NewBlankChange () const override
 
void Serialize (FArchive &Ar)
 
bool IsSameAs (const TDynamicBoneAttributeBase< FDynamicMesh3, FTransform > &Other) const
 
- Public Member Functions inherited from UE::Geometry::TDynamicAttributeBase< ParentType >
virtual ~TDynamicAttributeBase ()
 
FName GetName () const
 
void SetName (FName NameIn)
 
virtual TDynamicAttributeBaseMakeCompactCopy (const FCompactMaps &CompactMaps, ParentType *ParentIn) const
 
virtual void OnNewVertex (int VertexID, bool bInserted)
 
virtual void OnRemoveVertex (int VertexID)
 
virtual void OnNewTriangle (int TriangleID, bool bInserted)
 
virtual void OnRemoveTriangle (int TriangleID)
 
virtual void OnReverseTriOrientation (int TriangleID)
 
virtual bool CheckValidity (bool bAllowNonmanifold, EValidityCheckFailMode FailMode) const
 
virtual void OnSplitEdge (const DynamicMeshInfo::FEdgeSplitInfo &SplitInfo)
 
virtual void OnFlipEdge (const DynamicMeshInfo::FEdgeFlipInfo &FlipInfo)
 
virtual void OnCollapseEdge (const DynamicMeshInfo::FEdgeCollapseInfo &CollapseInfo)
 
virtual void OnPokeTriangle (const DynamicMeshInfo::FPokeTriangleInfo &PokeInfo)
 
virtual void OnMergeEdges (const DynamicMeshInfo::FMergeEdgesInfo &MergeInfo)
 
virtual void OnMergeVertices (const DynamicMeshInfo::FMergeVerticesInfo &MergeInfo)
 
virtual void OnSplitVertex (const DynamicMeshInfo::FVertexSplitInfo &SplitInfo, const TArrayView< const int > &TrianglesToUpdate)
 
void Serialize (FArchive &Ar)
 

Protected Attributes

ParentType * Parent = nullptr
 
TArray< AttribValueTypeAttribValues
 
- Protected Attributes inherited from UE::Geometry::TDynamicAttributeBase< ParentType >
FName Name = FName()
 

Friends

class FDynamicMeshAttributeSet
 

Additional Inherited Members

- Protected Member Functions inherited from UE::Geometry::TDynamicAttributeBase< ParentType >
virtual void CopyParentClassData (const TDynamicAttributeBase< ParentType > &Other)
 

Detailed Description

template<typename ParentType, typename AttribValueType>
class UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >

TDynamicAttributeBase is a base class for storing per-bone data.

Bone Attributes

Constructor & Destructor Documentation

◆ TDynamicBoneAttributeBase() [1/3]

template<typename ParentType , typename AttribValueType >
UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::TDynamicBoneAttributeBase ( )
default

Create an empty attribute.

◆ TDynamicBoneAttributeBase() [2/3]

template<typename ParentType , typename AttribValueType >
TDynamicBoneAttributeBase::TDynamicBoneAttributeBase ( ParentType *  ParentIn,
const int  InNumBones = 0 
)

Create an attribute for the given parent and set the number of unintialized values.

◆ TDynamicBoneAttributeBase() [3/3]

template<typename ParentType , typename AttribValueType >
TDynamicBoneAttributeBase::TDynamicBoneAttributeBase ( ParentType *  ParentIn,
const int  InNumBones,
const AttribValueType InitialValue 
)

Create an attribute for the given parent and number of bones and set all values to the InitialValue.

◆ ~TDynamicBoneAttributeBase()

Member Function Documentation

◆ Append() [1/2]

template<typename ParentType , typename AttribValueType >
void TDynamicBoneAttributeBase::Append ( const AttribValueType InValue)

Add value at the end of the value array.

◆ Append() [2/2]

template<typename ParentType , typename AttribValueType >
virtual bool UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::Append ( const TDynamicAttributeBase< ParentType > &  Source,
const UE::Geometry::FDynamicMesh3::FAppendInfo AppendInfo 
)
inlineoverridevirtual

Add elements from the Source attribute, using the AppendInfo to determine the range to copy.

Returns
true if the append succeeded, false otherwise (e.g. false if the data from the source attribute was not compatible and the CopyOut failed to copy across)

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ AppendDefaulted()

template<typename ParentType , typename AttribValueType >
virtual void UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::AppendDefaulted ( const UE::Geometry::FDynamicMesh3::FAppendInfo AppendInfo)
inlineoverridevirtual

Add default-valued elements, using the AppendInfo to determine the range to add. Called when appending from a mesh that does not have this attribute.

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ CompactInPlace()

template<typename ParentType , typename AttribValueType >
virtual void UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::CompactInPlace ( const FCompactMaps CompactMaps)
inlineoverridevirtual

Compact the attribute in place

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ Copy()

template<typename ParentType , typename AttribValueType >
void TDynamicBoneAttributeBase::Copy ( const TDynamicBoneAttributeBase< ParentType, AttribValueType > &  Copy)

Set this attribute to contain the same arrays as the copy attribute.

◆ CopyIn()

template<typename ParentType , typename AttribValueType >
virtual bool UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::CopyIn ( int  RawID,
void Buffer,
int  BufferSize 
)
inlineoverridevirtual

Generic function to copy data in to an attribute; it's up to the derived class to map RawID to chunks of attribute data

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ CopyOut()

template<typename ParentType , typename AttribValueType >
virtual bool UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::CopyOut ( int  RawID,
void Buffer,
int  BufferSize 
) const
inlineoverridevirtual

Generic function to copy data out of an attribute; it's up to the derived class to map RawID to chunks of attribute data

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ CopyThroughMapping()

template<typename ParentType , typename AttribValueType >
virtual bool UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::CopyThroughMapping ( const TDynamicAttributeBase< ParentType > *  Source,
const FMeshIndexMappings Mapping 
)
inlineoverridevirtual

Copy data from a different attribute to this one, using the mesh index mapping to determine the correspondence

Parameters
Sourcecopy attribute data from this source
Mappingthe correspondence from Source's parent to this attribute's parent
Returns
true if the copy succeeded, false otherwise (e.g. false if the data from the source attribute was not compatible and the CopyOut failed to copy across)

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ GetAttribValues()

template<typename ParentType , typename AttribValueType >
const TArray< AttribValueType > & UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::GetAttribValues ( ) const
inline

◆ GetByteCount()

template<typename ParentType , typename AttribValueType >
SIZE_T UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::GetByteCount ( ) const
inlinevirtual

◆ GetValue()

template<typename ParentType , typename AttribValueType >
const AttribValueType & UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::GetValue ( const int32  InBoneID) const
inline

◆ Initialize()

template<typename ParentType , typename AttribValueType >
void TDynamicBoneAttributeBase::Initialize ( const int32  InNumBones,
const AttribValueType InitialValue 
)

Resize the array of values to the given max bone number and set all the values to the InitialValue.

◆ IsEmpty()

template<typename ParentType , typename AttribValueType >
bool UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::IsEmpty ( ) const
inline
Returns
true if the attribute has no bone values stored

◆ IsSameAs() [1/2]

FTransform doesn't support equality operator.

◆ IsSameAs() [2/2]

template<typename ParentType , typename AttribValueType >
bool TDynamicBoneAttributeBase::IsSameAs ( const TDynamicBoneAttributeBase< ParentType, AttribValueType > &  Other) const
virtual
Returns
true, if this attribute is the same as the Other.
Note
assumes that the AttribValueType support equality operator. If not, create a template specialization.

◆ MakeCopy()

template<typename ParentType , typename AttribValueType >
TDynamicAttributeBase< ParentType > * TDynamicBoneAttributeBase::MakeCopy ( ParentType *  ParentIn) const
overridevirtual

Allocate a new copy of the attribute layer, optionally with a different parent

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ MakeNew()

template<typename ParentType , typename AttribValueType >
TDynamicAttributeBase< ParentType > * TDynamicBoneAttributeBase::MakeNew ( ParentType *  ParentIn) const
overridevirtual

Allocate a new empty instance of the same type of attribute layer

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ NewBlankChange()

template<typename ParentType , typename AttribValueType >
virtual TUniquePtr< TDynamicAttributeChangeBase< ParentType > > UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::NewBlankChange ( ) const
inlineoverridevirtual

◆ Num()

template<typename ParentType , typename AttribValueType >
int32 UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::Num ( ) const
inline
Returns
the number of the values stored.

◆ Reparent()

template<typename ParentType , typename AttribValueType >
virtual void UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::Reparent ( ParentType *  NewParent)
inlineoverridevirtual

Update any held pointer to the parent

Implements UE::Geometry::TDynamicAttributeBase< ParentType >.

◆ Resize()

template<typename ParentType , typename AttribValueType >
void TDynamicBoneAttributeBase::Resize ( const int32  InNumBones)

Resize the array of values to the given max bone number.

◆ Serialize()

template<typename ParentType , typename AttribValueType >
void TDynamicBoneAttributeBase::Serialize ( FArchive Ar)

◆ SetValue()

template<typename ParentType , typename AttribValueType >
void UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::SetValue ( const int32  InBoneID,
const AttribValueType InValue 
)
inline

Friends And Related Symbol Documentation

◆ FDynamicMeshAttributeSet

template<typename ParentType , typename AttribValueType >
friend class FDynamicMeshAttributeSet
friend

Member Data Documentation

◆ AttribValues

template<typename ParentType , typename AttribValueType >
TArray<AttribValueType> UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::AttribValues
protected

List of per-bone values.

◆ Parent

template<typename ParentType , typename AttribValueType >
ParentType* UE::Geometry::TDynamicBoneAttributeBase< ParentType, AttribValueType >::Parent = nullptr
protected

The parent object (e.g. mesh, point set) this attribute belongs to.


The documentation for this class was generated from the following files: