Navigation
Unreal Engine C++ API Reference > 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 |