|
| CHAOS_API | FManagedArrayCollection () |
| |
| virtual CHAOS_API | ~FManagedArrayCollection () |
| |
| CHAOS_API | FManagedArrayCollection (const FManagedArrayCollection &In) |
| |
| CHAOS_API FManagedArrayCollection & | operator= (const FManagedArrayCollection &In) |
| |
| CHAOS_API | FManagedArrayCollection (FManagedArrayCollection &&) |
| |
| CHAOS_API FManagedArrayCollection & | operator= (FManagedArrayCollection &&) |
| |
| CHAOS_API bool | operator== (const FManagedArrayCollection &Other) const |
| |
| virtual bool | IsAType (FName InTypeName) const |
| |
| template<typename T > |
| bool | IsA () |
| |
| template<class T > |
| T * | Cast () |
| |
| template<class T > |
| const T * | Cast () const |
| |
| template<typename T > |
| TManagedArray< T > & | AddAttribute (FName Name, FName Group, FConstructionParameters Parameters=FConstructionParameters()) |
| |
| template<typename T > |
| TManagedArray< T > * | FindOrAddAttributeTyped (FName Name, FName Group, FConstructionParameters Parameters=FConstructionParameters()) |
| |
| template<class T = FManagedArrayCollection> |
| T * | NewCopy () const |
| |
| void | CopyTo (FManagedArrayCollection *Collection, const TArray< FName > &GroupsToSkip=TArray< FName >(), TArray< TTuple< FName, FName > > AttributesToSkip=TArray< TTuple< FName, FName > >()) const |
| |
| template<typename T > |
| void | AddExternalAttribute (FName Name, FName Group, TManagedArray< T > &ValueIn, FConstructionParameters Parameters=FConstructionParameters()) |
| |
| CHAOS_API void | AddGroup (FName Group) |
| |
| CHAOS_API int32 | NumAttributes (FName Group) const |
| |
| CHAOS_API TArray< FName > | AttributeNames (FName Group) const |
| |
| CHAOS_API int32 | AddElements (int32 NumberElements, FName Group) |
| |
| CHAOS_API int32 | InsertElements (int32 NumberElements, int32 Position, FName Group) |
| |
| virtual CHAOS_API void | Append (const FManagedArrayCollection &Collection) |
| |
| template<typename T > |
| TManagedArray< T > * | FindAttribute (FName Name, FName Group) |
| |
| template<typename T > |
| const TManagedArray< T > * | FindAttribute (FName Name, FName Group) const |
| |
| template<typename T > |
| TManagedArray< T > * | FindAttributeTyped (FName Name, FName Group) |
| |
| template<typename T > |
| const TManagedArray< T > * | FindAttributeTyped (FName Name, FName Group) const |
| |
| template<typename T > |
| TManagedArray< T > & | ModifyAttribute (FName Name, FName Group) |
| |
| template<typename T > |
| TManagedArray< T > * | ModifyAttributeTyped (FName Name, FName Group) |
| |
| template<typename T > |
| const TManagedArray< T > & | GetAttribute (FName Name, FName Group) const |
| |
| virtual void | Reset () |
| |
| virtual CHAOS_API void | RemoveElements (const FName &Group, const TArray< int32 > &SortedDeletionList, FProcessingParameters Params=FProcessingParameters()) |
| |
| virtual CHAOS_API void | MergeElements (const FName &Group, const TArray< int32 > &SortedMergeList, const TArray< int32 > &MergeRemapIndex, FProcessingParameters Params=FProcessingParameters()) |
| |
| virtual CHAOS_API void | RemoveElements (const FName &Group, int32 NumberElements, int32 Position) |
| |
| CHAOS_API void | RemoveAttribute (FName Name, FName Group) |
| |
| CHAOS_API void | RemoveGroup (FName Group) |
| |
| CHAOS_API TArray< FName > | GroupNames () const |
| |
| bool | IsEmpty () const |
| |
| CHAOS_API bool | HasAttribute (FName Name, FName Group) const |
| |
| CHAOS_API bool | HasAttributes (const TArray< FManagedType > &Types) const |
| |
| FORCEINLINE bool | HasGroup (FName Group) const |
| |
| CHAOS_API EArrayType | GetAttributeType (FName Name, FName Group) const |
| |
| CHAOS_API bool | IsAttributeDirty (FName Name, FName Group) const |
| |
| CHAOS_API bool | IsAttributePersistent (FName Name, FName Group) const |
| |
| CHAOS_API void | SetDependency (FName Name, FName Group, FName DependencyGroup, bool bAllowCircularDependency=false) |
| |
| CHAOS_API FName | GetDependency (FName Name, FName Group) const |
| |
| CHAOS_API void | RemoveDependencyFor (FName Group) |
| |
| CHAOS_API void | CopyAttribute (const FManagedArrayCollection &InCollection, FName Name, FName Group) |
| |
| CHAOS_API void | CopyAttribute (const FManagedArrayCollection &InCollection, FName SrcName, FName DestName, FName Group) |
| |
| CHAOS_API void | CopyAttribute (const FManagedArrayCollection &InCollection, FName SrcName, FName DestName, FName SrcGroup, FName DstGroup) |
| |
| CHAOS_API void | CopyMatchingAttributesFrom (const FManagedArrayCollection &InCollection, const TMap< FName, TSet< FName > > *SkipList=nullptr) |
| |
| CHAOS_API void | CopyMatchingAttributesFrom (const FManagedArrayCollection &FromCollection, const TArrayView< const FAttributeAndGroupId > SkipList) |
| |
| CHAOS_API int32 | NumElements (FName Group) const |
| |
| CHAOS_API void | Resize (int32 Size, FName Group) |
| |
| CHAOS_API void | Reserve (int32 Size, FName Group) |
| |
| CHAOS_API void | EmptyGroup (FName Group) |
| |
| virtual CHAOS_API void | ReorderElements (FName Group, const TArray< int32 > &NewOrder) |
| |
| void | MakeDirty () |
| |
| void | MakeClean () |
| |
| bool | IsDirty () const |
| |
| virtual CHAOS_API void | Serialize (Chaos::FChaosArchive &Ar) |
| |
| CHAOS_API bool | Serialize (FArchive &Ar) |
| |
| CHAOS_API bool | IsConnected (FName StartingNode, FName TargetNode) |
| |
| CHAOS_API FString | ToString () const |
| |
| CHAOS_API SIZE_T | GetAllocatedSize () const |
| |
| CHAOS_API void | GetElementSizeInfoForGroups (TArray< TPair< FName, SIZE_T > > &OutSizeInfo) const |
| |
ManagedArrayCollection
The ManagedArrayCollection is an entity system that implements a homogeneous, dynamically allocated, manager of primitive TArray structures. The collection stores groups of TArray attributes, where each attribute within a group is the same length. The collection will make use of the TManagedArray class, providing limited interaction with the underlying TArray.
For example:
FManagedArrayCollection* Collection(NewObject<FManagedArrayCollection>()); Collection->AddElements(10, "GroupBar"); // Create a group GroupBar and add 10 elements. Collection->AddAttribute<FVector3f>("AttributeFoo", "GroupBar"); // Add a FVector array named AttributeFoo to GroupBar. TManagedArray<FVector3f>& Foo = Collection->GetAttribute<FVector3f>("AttributeFoo", "GroupBar"); // Get AttributeFoo for (int32 i = 0; i < Foo.Num(); i++) { Foo[i] = FVector(i, i, i); // Update AttribureFoo's elements }