FGeometryCollection

[FGeometryCollection](API\Runtime\Chaos\GeometryCollection\FGeometryCollection) ([FTransformCollection](API\Runtime\Chaos\GeometryCollection\FTransformCollection))

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

Chaos

Header

/Engine/Source/Runtime/Experimental/Chaos/Public/GeometryCollection/GeometryCollection.h

Include

#include "GeometryCollection/GeometryCollection.h"

Syntax

class FGeometryCollection : public FTransformCollection

Remarks

Variables

Name Description

Public variable

TManagedArray< ...

 

BoneMap

Public variable

TManagedArray< ...

 

BoundingBox

Public variable

TManagedArray< ...

 

Color

Public variable

TManagedArray< ...

 

ExemplarIndex

Public variable

TManagedArray< ...

 

FaceCount

Public variable

TManagedArray< ...

 

FaceStart

Public variable

TManagedArray< ...

 

Indices

Faces Group.

Public variable

TManagedArray< ...

 

InitialDynamicState

Public variable

TManagedArray< ...

 

InnerRadius

Public variable

TManagedArray< ...

 

MaterialID

Public variable

TManagedArray< ...

 

MaterialIndex

Public variable

TManagedArray< ...

 

Normal

Public variable

TManagedArray< ...

 

OuterRadius

Public variable

TManagedArray< ...

 

Sections

Material Group.

Public variable

TManagedArray< ...

 

SimulationType

Public variable

TManagedArray< ...

 

StatusFlags

Public variable

TManagedArray< ...

 

TangentU

Public variable

TManagedArray< ...

 

TangentV

Public variable

TManagedArray< ...

 

TransformIndex

Geometry Group.

Public variable

TManagedArray< ...

 

TransformToGeometryIndex

Transform Group.

Public variable

TManagedArray< ...

 

UVs

Outer array is the array of vertices, inner array is the uv channels.

Public variable

TManagedArray< ...

 

Vertex

Vertices Group.

Public variable

TManagedArray< ...

 

VertexCount

Public variable

TManagedArray< ...

 

VertexStart

Public variable

TManagedArray< ...

 

Visible

Constructors

Functions

Name Description

Public function

bool

 

AppendEmbeddedInstance

(
    int32 InExemplarIndex,
    int32 InParentIndex,
    const FTransform& InTransform
)

Append single embedded geometry. Returns true if the operation succeeds.

Public function

int32

 

AppendGeometry

(
    const FGeometryCollection& Geometr...,
    int32 MaterialIDOffset,
    bool ReindexAllMaterials,
    const FTransform& TransformRoot
)

Append a single geometric object to a FGeometryCollection

Public function Const

TArray< FGeo...

 

BuildMeshSections

(
    const TArray< FIntVector >& Indice...,
    TArray< int32 > BaseMeshOriginalInd...,
    TArray< FIntVector >& RetIndices
)

Builds mesh sections for a given index buffer that could be a subset.

Public function

void

 

ClearFlags

(
    int32 Element,
    int32 InFlags
)

Public function

TArray< TArr...

 

ConnectionGraph()

Connection of leaf geometry

Protected function

void

 

Construct()

Public function

void

 

Empty()

Empty each managed array in each group in order to reset the collection to an initial (empty) state.

Public function Const

bool

 

HasContiguousFaces()

Returns true if the faces are contiguous

Public function Const

bool

 

HasContiguousRenderFaces()

Returns true if the render faces are contiguous

Public function Const

bool

 

HasContiguousVertices()

Returns true if the vertices are contiguous

Public function Const

bool

 

HasFlags

(
    int32 Element,
    int32 InFlags
)

Public function Const

bool

 

HasVisibleGeometry()

Returns true if there is anything to render

Public function Const

bool

 

IsClustered

(
    int32 Element
)

Public function Const

bool

 

IsGeometry

(
    int32 Element
)

Public function Const

bool

 

IsRigid

(
    int32 Element
)

Public function Const

bool

 

IsTransform

(
    int32 Element
)

Public function Const

bool

 

IsVisible

(
    int32 Element
)

Return true if the Element contains any visible faces.

Public function Static

FGeometryCol...

 

NewGeometryCollection

(
    const TArray< float >& RawVertexAr...,
    const TArray< int32 >& RawIndicesA...,
    const TArray< int32 >& RawBoneMapA...,
    const TArray< FTransform >& RawTra...,
    const TManagedArray< int32 >& RawL...,
    const TManagedArray< int32 >& RawP...,
    const TManagedArray< TSet< int32 >>...,
    const TManagedArray< int32 >& RawS...,
    const TManagedArray< int32 >& RawS...
)

Create a GeometryCollection from Vertex, Indices, BoneMap, Transform, BoneHierarchy arrays

Public function Static

FGeometryCol...

 

NewGeometryCollection

(
    const TArray< float >& RawVertexAr...,
    const TArray< int32 >& RawIndicesA...,
    bool ReverseVertexOrder
)

Create a GeometryCollection from Vertex and Indices arrays

Public function Const

int32

 

NumUVLayers()

Returns number of UV layers represented by UV array.

Public function

void

 

ReindexExemplarIndices

(
    TArray< int32 >& SortedRemovedIndi...
)

Reindex exemplar indices to reflect removed exemplars.

Public function

void

 

ReindexMaterials()

Reindex sections to keep polys with same materials together to reduce the number of draw calls

Protected function

void

 

RemoveGeometryElements

(
    const TArray< int32 >& SortedGeome...
)

Remove Geometry elements i.e. verts, faces, etc, leaving the transform nodes intact

Protected function

void

 

ReorderGeometryElements

(
    const TArray< int32 >& NewOrder
)

Reorder geometry elements.

Protected function

void

 

ReorderTransformElements

(
    const TArray< int32 >& NewOrder
)

Reorder geometry elements based on the new transform order.

Public function

void

 

SetFlags

(
    int32 Element,
    int32 InFlags
)

Public function

bool

 

SetNumUVLayers

(
    int32 NumLayers
)

Update a geometry collection to have the target number of UV layers (must be in the range [1, MAX_UV_LAYERS))

Public function

void

 

UpdateBoundingBox()

Update bounding box entries for the geometry

Protected function

void

 

UpdateFaceGroupElements()

Update Face Attributes based on changes in the group.

Public function

void

 

UpdateGeometryVisibility

(
    const TArray< int32 >& NodeList,
    bool VisibilityState
)

Update the visibility of specified geometry nodes

Public function

void

 

UpdateOldAttributeNames()

Backwards compatibility

Protected function

void

 

UpdateVerticesGroupElements()

Update Vertex Attributes based on changes in the group.

Public function

void

 

WriteDataToHeaderFile

(
    const FString& Name,
    const FString& Path
)

Public function

void

 

WriteDataToOBJFile

(
    const FString& Name,
    const FString& Path,
    const bool WriteTopology,
    const bool WriteAuxStructures
)

Overridden from FManagedArrayCollection

Name Description

Public function Virtual

void

 

RemoveElements

(
    const FName& Group,
    const TArray< int32 >& DeletionLis...,
    FProcessingParameters Params
)

Remove Geometry and update dependent elements

Public function Virtual

void

 

ReorderElements

(
    FName Group,
    const TArray< int32 >& NewOrder
)

Reorders elements in a group. NewOrder must be the same length as the group.

Public function Virtual

void

 

Serialize

(
    Chaos::FChaosArchive& Ar
)

Serialize

Public function Virtual

void

 

SetDefaults

(
    FName Group,
    uint32 StartSize,
    uint32 NumElements
)

Operators

Name Description

Public function

FGeometryCol...

 

operator=

(
    FGeometryCollection&&
)

Public function

FGeometryCol...

 

operator=

(
    const FGeometryCollection&
)

Enums

Name

Description

Public enum

ENodeFlags

Public enum

ESimulationTypes

Typedefs

Name

Description

Super

Constants