Navigation
API > API/Runtime > API/Runtime/Chaos
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
| Name | FManagedArrayCollection |
| Type | struct |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/ManagedArrayCollection.h |
| Include Path | #include "GeometryCollection/ManagedArrayCollection.h" |
Syntax
USTRUCT ()
struct FManagedArrayCollection
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| GeometryCollection/ManagedArrayCollection.h | |||
FManagedArrayCollection
(
const FManagedArrayCollection& In |
GeometryCollection/ManagedArrayCollection.h | ||
| GeometryCollection/ManagedArrayCollection.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FManagedArrayCollection() |
GeometryCollection/ManagedArrayCollection.h |
Structs
| Name | Remarks |
|---|---|
| FConstructionParameters | |
| FGroupInfo | |
| FManagedType | |
| FProcessingParameters | |
| FValueType | |
| TManagedType |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| EArrayType | EManagedArrayType | GeometryCollection/ManagedArrayCollection.h | |
| FKeyType | TTuple< FName, FName > | GeometryCollection/ManagedArrayCollection.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Invalid | int8 | GeometryCollection/ManagedArrayCollection.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FSimulationProperties | friend | GeometryCollection/ManagedArrayCollection.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bDirty | bool | GeometryCollection/ManagedArrayCollection.h | ||
| GroupInfo | TMap< FName, FGroupInfo > | GeometryCollection/ManagedArrayCollection.h | ||
| Map | TMap< FKeyType, FValueType > | GeometryCollection/ManagedArrayCollection.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TManagedArray< T > & AddAttribute
(
FName Name, |
Add an attribute of Type(T) to the group | GeometryCollection/ManagedArrayCollection.h | |
int32 AddElements
(
int32 NumberElements, |
Add elements to a group | GeometryCollection/ManagedArrayCollection.h | |
void AddExternalAttribute
(
FName Name, |
Add an external attribute of Type(T) to the group for size management. | GeometryCollection/ManagedArrayCollection.h | |
void AddGroup
(
FName Group |
Create a group on the collection. Adding attribute will also create unknown groups. | GeometryCollection/ManagedArrayCollection.h | |
virtual void Append
(
const FManagedArrayCollection& Collection |
Append Collection and reindex dependencies on this collection. | GeometryCollection/ManagedArrayCollection.h | |
| List all the attributes in a group names. | GeometryCollection/ManagedArrayCollection.h | ||
const T * Cast () |
GeometryCollection/ManagedArrayCollection.h | ||
T * Cast () |
GeometryCollection/ManagedArrayCollection.h | ||
void CopyAttribute
(
const FManagedArrayCollection& InCollection, |
Copy an attribute from one group to another group. Will perform an implicit group sync. | GeometryCollection/ManagedArrayCollection.h | |
void CopyAttribute
(
const FManagedArrayCollection& InCollection, |
Copy an attribute. Will perform an implicit group sync. | GeometryCollection/ManagedArrayCollection.h | |
void CopyAttribute
(
const FManagedArrayCollection& InCollection, |
Copy an attribute. | GeometryCollection/ManagedArrayCollection.h | |
void CopyMatchingAttributesFrom
(
const FManagedArrayCollection& FromCollection, |
Copy attributes that match the input collection. | GeometryCollection/ManagedArrayCollection.h | |
void CopyMatchingAttributesFrom
(
const FManagedArrayCollection& InCollection, |
Copy attributes that match the input collection. This is a utility to easily sync collections | GeometryCollection/ManagedArrayCollection.h | |
| GeometryCollection/ManagedArrayCollection.h | |||
void EmptyGroup
(
FName Group |
Empty the group | GeometryCollection/ManagedArrayCollection.h | |
const TManagedArray< T > * FindAttribute
(
FName Name, |
GeometryCollection/ManagedArrayCollection.h | ||
TManagedArray< T > * FindAttribute
(
FName Name, |
Returns attribute(Name) of Type(T) from the group | GeometryCollection/ManagedArrayCollection.h | |
const TManagedArray< T > * FindAttributeTyped
(
FName Name, |
GeometryCollection/ManagedArrayCollection.h | ||
TManagedArray< T > * FindAttributeTyped
(
FName Name, |
Returns attribute(Name) of Type(T) from the group if and only if the types of T and the array match | GeometryCollection/ManagedArrayCollection.h | |
TManagedArray< T > * FindOrAddAttributeTyped
(
FName Name, |
Add an attribute of Type(T) to the group or find the existing attribute with the same name and type. | GeometryCollection/ManagedArrayCollection.h | |
SIZE_T GetAllocatedSize() |
Get allocated memory size | GeometryCollection/ManagedArrayCollection.h | |
const TManagedArray< T > & GetAttribute
(
FName Name, |
Returns attribute access of Type(T) from the group | GeometryCollection/ManagedArrayCollection.h | |
EArrayType GetAttributeType
(
FName Name, |
Return attribute type | GeometryCollection/ManagedArrayCollection.h | |
| Return the group index dependency for the specified attribute. | GeometryCollection/ManagedArrayCollection.h | ||
| Get information on the total storage required for each element in each group | GeometryCollection/ManagedArrayCollection.h | ||
| List all the group names. | GeometryCollection/ManagedArrayCollection.h | ||
| Check for the existence of a attribute | GeometryCollection/ManagedArrayCollection.h | ||
bool HasAttributes
(
const TArray< FManagedType >& Types |
Check for the existence of a attribute | GeometryCollection/ManagedArrayCollection.h | |
bool HasGroup
(
FName Group |
Check for the existence of a group | GeometryCollection/ManagedArrayCollection.h | |
int32 InsertElements
(
int32 NumberElements, |
Insert elements to a group | GeometryCollection/ManagedArrayCollection.h | |
bool IsA() |
GeometryCollection/ManagedArrayCollection.h | ||
| Check if an attribute is dirty | GeometryCollection/ManagedArrayCollection.h | ||
| Check if an attribute is persistent - ie its data will be serialized If the attribute does not exists this will return false | GeometryCollection/ManagedArrayCollection.h | ||
virtual bool IsAType
(
FName InTypeName |
GeometryCollection/ManagedArrayCollection.h | ||
| Cycle Checking. Search for TargetNode from the StartingNode. | GeometryCollection/ManagedArrayCollection.h | ||
bool IsDirty() |
GeometryCollection/ManagedArrayCollection.h | ||
bool IsEmpty() |
Whether the collection is ampty ( no group / no attributes ) | GeometryCollection/ManagedArrayCollection.h | |
void MakeClean() |
GeometryCollection/ManagedArrayCollection.h | ||
void MakeDirty() |
Updated for Render ( Mark it dirty ) question: is this the right place for this? | GeometryCollection/ManagedArrayCollection.h | |
virtual void MergeElements
(
const FName& Group, |
Merge the element indexed SortedMergeList[Idx] to the element indexed MergeRemapIndex[Idx] first redirect references of SortedMergeList[Idx] then delete | GeometryCollection/ManagedArrayCollection.h | |
TManagedArray< T > & ModifyAttribute
(
FName Name, |
Returns attribute access of Type(T) from the group for modification this will mark the collection dirty | GeometryCollection/ManagedArrayCollection.h | |
TManagedArray< T > * ModifyAttributeTyped
(
FName Name, |
Returns attribute access of Type(T) from the group for modification if and only if the types of T and the array match this will mark the collection dirty | GeometryCollection/ManagedArrayCollection.h | |
T * NewCopy() |
Duplicate the ManagedArrayCollection as the specified templated type | GeometryCollection/ManagedArrayCollection.h | |
int32 NumAttributes
(
FName Group |
Returns the number of attributes in a group. | GeometryCollection/ManagedArrayCollection.h | |
int32 NumElements
(
FName Group |
Number of elements in a group | GeometryCollection/ManagedArrayCollection.h | |
| Remove the attribute from the collection, and clear the memory. | GeometryCollection/ManagedArrayCollection.h | ||
void RemoveDependencyFor
(
FName Group |
GeometryCollection/ManagedArrayCollection.h | ||
virtual void RemoveElements
(
const FName& Group, |
Remove the element at index and reindex the dependent arrays | GeometryCollection/ManagedArrayCollection.h | |
virtual void RemoveElements
(
const FName& Group, |
Remove the elements at Position and reindex the dependent arrays | GeometryCollection/ManagedArrayCollection.h | |
void RemoveGroup
(
FName Group |
Remove the group from the collection. | GeometryCollection/ManagedArrayCollection.h | |
| Reorders elements in a group. NewOrder must be the same length as the group. | GeometryCollection/ManagedArrayCollection.h | ||
void Reserve
(
int32 Size, |
Reserve a group | GeometryCollection/ManagedArrayCollection.h | |
virtual void Reset() |
Clear the internal data. | GeometryCollection/ManagedArrayCollection.h | |
void Resize
(
int32 Size, |
Resize a group | GeometryCollection/ManagedArrayCollection.h | |
| GeometryCollection/ManagedArrayCollection.h | |||
virtual void Serialize
(
Chaos::FChaosArchive& Ar |
Serialize | GeometryCollection/ManagedArrayCollection.h | |
| GeometryCollection/ManagedArrayCollection.h | |||
FString ToString() |
Dump the contents to a FString | GeometryCollection/ManagedArrayCollection.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void MatchOptionalDefaultAttributes
(
const FManagedArrayCollection& InCollection |
Virtual helper function called by CopyMatchingAttributesFrom; adds attributes 'default, but optional' attributes that are present in InCollection This is used by FGeometryCollection to make sure all UV layers are copied over by CopyMatchingAttributesFrom() | GeometryCollection/ManagedArrayCollection.h | |
virtual void SetDefaults
(
FName Group, |
GeometryCollection/ManagedArrayCollection.h | ||
void SyncGroupSizeFrom
(
const FManagedArrayCollection& InCollection, |
Size and order a group so that it matches the group found in the input collection. | GeometryCollection/ManagedArrayCollection.h | |
void SyncGroupSizeFrom
(
const FManagedArrayCollection& InCollection, |
Size and order a dstgroup so that it matches the srcgroup found in the input collection. | GeometryCollection/ManagedArrayCollection.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| GeometryCollection/ManagedArrayCollection.h | |||
static FName StaticType() |
Type name for this class. | GeometryCollection/ManagedArrayCollection.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| GeometryCollection/ManagedArrayCollection.h | |||
FManagedArrayCollection & operator=
(
const FManagedArrayCollection& In |
GeometryCollection/ManagedArrayCollection.h | ||
bool operator==
(
const FManagedArrayCollection& Other |
GeometryCollection/ManagedArrayCollection.h |