|
| | FAttributesSetBase () |
| |
| template<typename T > |
| TMeshAttributesArray< typename TMeshAttributesRegisterType< T >::RefType > | RegisterAttributeInternal (const FName AttributeName, const int32 NumberOfChannels=1, const typename TMeshAttributesRegisterType< T >::RealAttributeType &Default=typename TMeshAttributesRegisterType< T >::RealAttributeType(), const EMeshAttributeFlags Flags=EMeshAttributeFlags::None) |
| |
| template<typename T , typename TEnableIf<!TIsArray< T >::Value, int >::Type = 0> |
| TMeshAttributesArray< typename TMeshAttributesRegisterType< T >::RefType > | RegisterAttribute (const FName AttributeName, const int32 NumberOfChannels=1, const T &Default=T(), const EMeshAttributeFlags Flags=EMeshAttributeFlags::None) |
| |
| template<typename T , typename TEnableIf< TIsArray< T >::Value, int >::Type = 0> |
| TMeshAttributesArray< typename TMeshAttributesRegisterType< T >::RefType > | RegisterAttribute (const FName AttributeName, const int32 NumberOfChannels=1, const typename TMeshAttributesRegisterType< T >::RealAttributeType &Default=typename TMeshAttributesRegisterType< T >::RealAttributeType(), const EMeshAttributeFlags Flags=EMeshAttributeFlags::None) |
| |
| template<typename T , typename TEnableIf< std::is_same_v< typename TMeshAttributesRegisterType< T >::RealAttributeType, int >, int >::Type = 0> |
| TMeshAttributesArray< typename TMeshAttributesRegisterType< T >::RefType > | RegisterIndexAttribute (const FName AttributeName, const int32 NumberOfChannels=1, const EMeshAttributeFlags Flags=EMeshAttributeFlags::None) |
| |
| void | UnregisterAttribute (const FName AttributeName) |
| |
| bool | HasAttribute (const FName AttributeName) const |
| |
| template<typename T > |
| bool | HasAttributeOfType (const FName AttributeName) const |
| |
| void | Initialize (const int32 Count) |
| |
| void | SetNumElements (const int32 Count) |
| |
| int32 | GetNumElements () const |
| |
| void | Remap (const TSparseArray< int32 > &IndexRemap) |
| |
| template<typename Allocator > |
| void | GetAttributeNames (TArray< FName, Allocator > &OutAttributeNames) const |
| |
| bool | DoesAttributeHaveAnyFlags (const FName AttributeName, EMeshAttributeFlags AttributeFlags) const |
| |
| bool | DoesAttributeHaveAllFlags (const FName AttributeName, EMeshAttributeFlags AttributeFlags) const |
| |
| uint32 | GetHash (const FName AttributeName) const |
| |
| void | Insert (const int32 Index) |
| |
| void | Remove (const int32 Index) |
| |
| template<typename T > |
| TMeshAttributesConstRef< int32, typename TMeshAttributesRefType< T >::ConstRefType > | GetAttributesRef (const FName AttributeName) const |
| |
| template<typename T > |
| TMeshAttributesRef< int32, typename TMeshAttributesRefType< T >::RefType > | GetAttributesRef (const FName AttributeName) |
| |
| void | AppendAttributesFrom (const FAttributesSetBase &OtherAttributesSet) |
| |
This is the container for all attributes and their arrays. It wraps a TMap, mapping from attribute name to attribute array. An attribute may be of any arbitrary type; we use a mixture of polymorphism and compile-time templates to handle the different types.