Navigation
API > API/Runtime > API/Runtime/Chaos > API/Runtime/Chaos/GeometryCollection
Inheritance Hierarchy
- FManagedArrayCollection
- FTransformCollection
- FGeometryCollection
- FTetrahedralCollection
- FFleshCollection
- FTransformDynamicCollection
- FGeometryDynamicCollection
References
| Module | Chaos |
| Header | /Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/ManagedArrayCollection.h |
| Include | #include "GeometryCollection/ManagedArrayCollection.h" |
Syntax
struct FManagedArrayCollection
Remarks
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
Variables
| Type | Name | Description | |
|---|---|---|---|
| friend | FSimulationProperties | ||
| int32 | Version | Version to indicate need for conditioning to current expected data layout during serialization loading. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FManagedArrayCollection
(
const FManagedArrayCollection& In |
|||
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| TManagedArray< T > & | AddAttribute
(
FName Name, |
Add an attribute of Type(T) to the group | |
| int32 | AddElements
(
int32 NumberElements, |
Add elements to a group | |
| void | AddExternalAttribute
(
FName Name, |
Add an external attribute of Type(T) to the group for size management. | |
| void | Create a group on the collection. Adding attribute will also create unknown groups. | ||
| void | Append
(
const FManagedArrayCollection& Collection |
Append Collection and reindex dependencies on this collection. | |
| TArray< FName > | AttributeNames
(
FName Group |
List all the attributes in a group names. | |
| const T * | Cast () |
||
| T * | Cast () |
||
| void | CopyAttribute
(
const FManagedArrayCollection& InCollection, |
Copy an attribute. Will perform an implicit group sync. | |
| void | CopyAttribute
(
const FManagedArrayCollection& InCollection, |
Copy an attribute. | |
| void | CopyMatchingAttributesFrom
(
const FManagedArrayCollection& InCollection, |
Copy attributes that match the input collection. This is a utility to easily sync collections | |
| void | |||
| void | EmptyGroup
(
FName Group |
Empty the group | |
| TManagedArray< T > * | FindAttribute
(
FName Name, |
Returns attribute(Name) of Type(T) from the group | |
| const TManagedArray< T > * | FindAttribute
(
FName Name, |
||
| 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 | |
| const TManagedArray< T > * | FindAttributeTyped
(
FName Name, |
||
| SIZE_T | Get allocated memory size | ||
| EArrayType | GetAttributeType
(
FName Name, |
Return attribute type | |
| void | GetElementSizeInfoForGroups
(
TArray< TPair< FName, SIZE_T >>& OutSizeInfo |
Get information on the total storage required for each element in each group | |
| TArray< FName > | GroupNames () |
List all the group names. | |
| bool | HasAttribute
(
FName Name, |
Check for the existence of a attribute | |
| bool | HasAttributes
(
const TArray< FManagedType >& Types |
Check for the existence of a attribute | |
| bool | Check for the existence of a group | ||
| int32 | InsertElements
(
int32 NumberElements, |
Insert elements to a group | |
| bool | IsA () |
||
| bool | IsAttributeDirty
(
FName Name, |
Check if an attribute is dirty | |
| bool | IsAttributePersistent
(
FName Name, |
Check if an attribute is persistent - ie its data will be serialized If the attribute does not exists this will return false | |
| bool | |||
| bool | IsConnected
(
FName StartingNode, |
Cycle Checking. Search for TargetNode from the StartingNode. | |
| bool | IsDirty () |
||
| void | MakeClean () |
||
| void | MakeDirty () |
Updated for Render ( Mark it dirty ) question: is this the right place for this? | |
| 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() | |
| TManagedArray< T > & | ModifyAttribute
(
FName Name, |
Returns attribute access of Type(T) from the group for modification this will mark the collection dirty | |
| T * | NewCopy () |
Duplicate the ManagedArrayCollection as the specified templated type | |
| int32 | NumAttributes
(
FName Group |
Returns the number of attributes in a group. | |
| int32 | NumElements
(
FName Group |
Number of elements in a group | |
| void | RemoveAttribute
(
FName Name, |
Remove the attribute from the collection. | |
| void | RemoveDependencyFor
(
FName Group |
||
| void | RemoveElements
(
const FName& Group, |
Remove the elements at Position and reindex the dependent arrays | |
| void | RemoveElements
(
const FName& Group, |
Remove the element at index and reindex the dependent arrays | |
| void | RemoveGroup
(
FName Group |
Remove the group from the collection. | |
| void | ReorderElements
(
FName Group, |
Reorders elements in a group. NewOrder must be the same length as the group. | |
| void | Reserve a group | ||
| void | Reset () |
Clear the internal data. | |
| void | Resize a group | ||
| void | Serialize
(
Chaos::FChaosArchive& Ar |
Serialize | |
| void | SetDefaults
(
FName Group, |
||
| void | SetDependency
(
FName Name, |
||
| FName | StaticType () |
Type name for this class. | |
| void | SyncGroupSizeFrom
(
const FManagedArrayCollection& InCollection, |
Size and order a group so that it matches the group found in the input collection. | |
| FString | ToString () |
Dump the contents to a FString |
Operators
| Type | Name | Description | |
|---|---|---|---|
| FManagedArrayCollection & | |||
| FManagedArrayCollection & | operator=
(
const FManagedArrayCollection& In |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FConstructionParameters | |||
| FManagedType | |||
| FProcessingParameters | |||
| TManagedType |
Typedefs
| Name | Description |
|---|---|
| EArrayType | |
| FKeyType |
Constants
| Name | Description |
|---|---|
| Invalid |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| const TManagedArray< T > & | GetAttribute
(
FName Name, |
non const GetAttribute() version is now deprecated, use ModifyAttribute instead |