UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeshAttributeArray.h File Reference

Go to the source code of this file.

Classes

struct  TVariantFromTuple< TTuple< Ts... > >
 
struct  TIsBulkSerializable< T >
 
struct  TIsBulkSerializable< FName >
 
struct  TIsBulkSerializable< FTransform >
 
class  TMeshAttributeArrayBase< AttributeType >
 
class  FMeshAttributeArraySetBase
 
class  TMeshAttributeArraySet< AttributeType >
 
class  TMeshUnboundedAttributeArraySet< AttributeType >
 
struct  TMeshAttributesRefTypeBase< T >
 
struct  TMeshAttributesRefType< T >
 
struct  TMeshAttributesRefType< TArrayView< T > >
 
struct  TMeshAttributesRefType< TArrayAttribute< T > >
 
struct  TMeshAttributesRegisterType< T >
 
struct  TMeshAttributesRegisterType< T[N]>
 
struct  TMeshAttributesRegisterType< T[]>
 
class  TMeshAttributesRef< ElementIDType, AttributeType >
 
class  TMeshAttributesRef< ElementIDType, TArrayView< AttributeType > >
 
class  TMeshAttributesRef< ElementIDType, TArrayAttribute< AttributeType > >
 
class  FAttributesSetEntry
 
class  FAttributesSetBase
 
class  TAttributesSet< ElementIDType >
 
struct  TJumpTable< FnType, Size >
 
struct  ForEachByTypeImpl::DispatchFunctor< ElementIDType, AttributeType, ForEachFunc >
 
struct  ForEachByTypeImpl::DispatchFunctor< ElementIDType, TArrayView< AttributeType >, ForEachFunc >
 
struct  ForEachByTypeImpl::DispatchFunctor< ElementIDType, TArrayAttribute< AttributeType >, ForEachFunc >
 
struct  ForEachByTypeImpl::ConstDispatchFunctor< ElementIDType, AttributeType, ForEachFunc >
 
struct  ForEachByTypeImpl::ConstDispatchFunctor< ElementIDType, TArrayView< AttributeType >, ForEachFunc >
 
struct  ForEachByTypeImpl::ConstDispatchFunctor< ElementIDType, TArrayAttribute< AttributeType >, ForEachFunc >
 

Namespaces

namespace  ForEachImpl
 
namespace  ForEachConstImpl
 
namespace  ForEachByTypeImpl
 
namespace  CreateTypeImpl
 

Typedefs

using AttributeTypes = TTuple< FVector4f, FVector3f, FVector2f, float, int32, bool, FName, FTransform >
 
template<typename ElementIDType , typename AttributeType >
using TMeshAttributesConstRef = TMeshAttributesRef< ElementIDType, typename TMeshAttributesRefType< AttributeType >::ConstRefType >
 
template<typename AttributeType >
using TMeshAttributesArray = TMeshAttributesRef< int32, AttributeType >
 
template<typename AttributeType >
using TMeshAttributesConstArray = TMeshAttributesRef< int32, typename TMeshAttributesRefType< AttributeType >::ConstRefType >
 
template<typename ElementIDType , typename ForEachFunc >
using ForEachImpl::JumpTableType = TJumpTable< void(FName, ForEachFunc, FMeshAttributeArraySetBase *), TTupleArity< AttributeTypes >::Value >
 
template<typename ElementIDType , typename ForEachFunc >
using ForEachConstImpl::JumpTableType = TJumpTable< void(FName, ForEachFunc, const FMeshAttributeArraySetBase *), TTupleArity< AttributeTypes >::Value >
 
using CreateTypeImpl::JumpTableType = TJumpTable< TUniquePtr< FMeshAttributeArraySetBase >(uint32), TTupleArity< AttributeTypes >::Value >
 

Enumerations

enum class  EMeshAttributeFlags : uint32 {
  None = 0 , Lerpable = (1 << 0) , AutoGenerated = (1 << 1) , Mergeable = (1 << 2) ,
  Transient = (1 << 3) , IndexReference = (1 << 4) , Mandatory = (1 << 5)
}
 

Functions

template<typename T >
TEnableIf<!TIsBulkSerializable< T >::Value, FArchive >::Type & operator<< (FArchive &Ar, TMeshAttributeArrayBase< T > &Array)
 
template<typename T >
TEnableIf< TIsBulkSerializable< T >::Value, FArchive >::Type & operator<< (FArchive &Ar, TMeshAttributeArrayBase< T > &Array)
 
 ENUM_CLASS_FLAGS (EMeshAttributeFlags)
 

Typedef Documentation

◆ AttributeTypes

List of attribute types which are supported.

IMPORTANT NOTE: Do not reorder or remove any type from this tuple, or serialization will fail. Types may be added at the end of this list as required.

◆ TMeshAttributesArray

template<typename AttributeType >
using TMeshAttributesArray = TMeshAttributesRef<int32, AttributeType>

◆ TMeshAttributesConstArray

template<typename AttributeType >
using TMeshAttributesConstArray = TMeshAttributesRef<int32, typename TMeshAttributesRefType<AttributeType>::ConstRefType>

◆ TMeshAttributesConstRef

Enumeration Type Documentation

◆ EMeshAttributeFlags

Flags specifying properties of an attribute

Enumerator
None 
Lerpable 
AutoGenerated 

Attribute can be automatically lerped according to the value of 2 or 3 other attributes

Mergeable 

Attribute is auto-generated by importer or editable mesh, rather than representing an imported property

Transient 

If all vertices' attributes are mergeable, and of near-equal value, they can be welded

IndexReference 

Attribute is not serialized

Mandatory 

Attribute is a reference to another element index

Function Documentation

◆ ENUM_CLASS_FLAGS()

ENUM_CLASS_FLAGS ( EMeshAttributeFlags  )

◆ operator<<() [1/2]

template<typename T >
TEnableIf<!TIsBulkSerializable< T >::Value, FArchive >::Type & operator<< ( FArchive Ar,
TMeshAttributeArrayBase< T > &  Array 
)
inline

Custom serialization for TMeshAttributeArrayBase.

◆ operator<<() [2/2]

template<typename T >
TEnableIf< TIsBulkSerializable< T >::Value, FArchive >::Type & operator<< ( FArchive Ar,
TMeshAttributeArrayBase< T > &  Array 
)
inline

Custom serialization for TMeshAttributeArrayBase.