UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FGeometryCollectionISMPool Struct Reference

#include <GeometryCollectionISMPoolComponent.h>

Public Types

using FISMIndex = int32
 

Public Member Functions

 FGeometryCollectionISMPool ()
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS FISMIndex GetOrAddISM (UGeometryCollectionISMPoolComponent *OwningComponent, const FGeometryCollectionStaticMeshInstance &MeshInstance, bool &bOutISMCreated)
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void RemoveISM (FISMIndex ISMIndex, bool bKeepAlive, bool bRecycle)
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS FGeometryCollectionMeshInfo AddInstancesToISM (UGeometryCollectionISMPoolComponent *OwningComponent, const FGeometryCollectionStaticMeshInstance &MeshInstance, int32 InstanceCount, TArrayView< const float > CustomDataFloats)
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void RemoveInstancesFromISM (const FGeometryCollectionMeshInfo &MeshInfo)
 
bool BatchUpdateInstancesTransforms (FGeometryCollectionMeshInfo &MeshInfo, int32 StartInstanceIndex, TArrayView< const FTransform > NewInstancesTransforms, bool bWorldSpace, bool bMarkRenderStateDirty, bool bTeleport, bool bAllowPerInstanceRemoval)
 
void BatchUpdateInstanceCustomData (FGeometryCollectionMeshInfo const &MeshInfo, int32 CustomFloatIndex, float CustomFloatValue)
 
void Clear ()
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS void Tick (UGeometryCollectionISMPoolComponent *OwningComponent)
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void RequestPreallocateMeshInstance (const FGeometryCollectionStaticMeshInstance &MeshInstances)
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS void ProcessPreallocationRequests (UGeometryCollectionISMPoolComponent *OwningComponent, int32 MaxPreallocations)
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void UpdateAbsoluteTransforms (const FTransform &BaseTransform, EUpdateTransformFlags UpdateTransformFlags, ETeleportType Teleport)
 

Public Attributes

TArray< FGeometryCollectionISMISMs
 
TMap< FGeometryCollectionStaticMeshInstance, FISMIndexMeshToISMIndex
 
TSet< FGeometryCollectionStaticMeshInstancePrellocationQueue
 
TArray< int32FreeList
 
TArray< int32FreeListISM
 
bool bCachedKeepAlive = false
 
bool bCachedRecycle = false
 
bool bDisableBoundsAndTransformUpdate = false
 

Detailed Description

A pool of ISMs.

Member Typedef Documentation

◆ FISMIndex

Constructor & Destructor Documentation

◆ FGeometryCollectionISMPool()

FGeometryCollectionISMPool::FGeometryCollectionISMPool ( )

Member Function Documentation

◆ AddInstancesToISM()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FGeometryCollectionMeshInfo FGeometryCollectionISMPool::AddInstancesToISM ( UGeometryCollectionISMPoolComponent OwningComponent,
const FGeometryCollectionStaticMeshInstance MeshInstance,
int32  InstanceCount,
TArrayView< const float CustomDataFloats 
)

Add instances to ISM and return a mesh info handle.

◆ BatchUpdateInstanceCustomData()

void FGeometryCollectionISMPool::BatchUpdateInstanceCustomData ( FGeometryCollectionMeshInfo const &  MeshInfo,
int32  CustomFloatIndex,
float  CustomFloatValue 
)

◆ BatchUpdateInstancesTransforms()

bool FGeometryCollectionISMPool::BatchUpdateInstancesTransforms ( FGeometryCollectionMeshInfo MeshInfo,
int32  StartInstanceIndex,
TArrayView< const FTransform NewInstancesTransforms,
bool  bWorldSpace,
bool  bMarkRenderStateDirty,
bool  bTeleport,
bool  bAllowPerInstanceRemoval 
)

Update ISM contents.

◆ Clear()

void FGeometryCollectionISMPool::Clear ( )

Clear all ISM components and associated data.

◆ GetOrAddISM()

PRAGMA_DISABLE_DEPRECATION_WARNINGS FGeometryCollectionISMPool::FISMIndex FGeometryCollectionISMPool::GetOrAddISM ( UGeometryCollectionISMPoolComponent OwningComponent,
const FGeometryCollectionStaticMeshInstance MeshInstance,
bool bOutISMCreated 
)

Find or add an ISM and return an ISM index handle.

◆ ProcessPreallocationRequests()

PRAGMA_DISABLE_DEPRECATION_WARNINGS void FGeometryCollectionISMPool::ProcessPreallocationRequests ( UGeometryCollectionISMPoolComponent OwningComponent,
int32  MaxPreallocations 
)

Process the preallocation queue. Processing is timesliced so that only some of the queue will be processed in every call.

◆ RemoveInstancesFromISM()

void FGeometryCollectionISMPool::RemoveInstancesFromISM ( const FGeometryCollectionMeshInfo MeshInfo)

Remove instances from an ISM.

◆ RemoveISM()

void FGeometryCollectionISMPool::RemoveISM ( FISMIndex  ISMIndex,
bool  bKeepAlive,
bool  bRecycle 
)

Remove an ISM.

◆ RequestPreallocateMeshInstance()

void FGeometryCollectionISMPool::RequestPreallocateMeshInstance ( const FGeometryCollectionStaticMeshInstance MeshInstances)

Add an ISM description to the preallocation queue.

◆ Tick()

PRAGMA_DISABLE_DEPRECATION_WARNINGS void FGeometryCollectionISMPool::Tick ( UGeometryCollectionISMPoolComponent OwningComponent)

Tick maintenance of free list and preallocation.

◆ UpdateAbsoluteTransforms()

void FGeometryCollectionISMPool::UpdateAbsoluteTransforms ( const FTransform BaseTransform,
EUpdateTransformFlags  UpdateTransformFlags,
ETeleportType  Teleport 
)

Member Data Documentation

◆ bCachedKeepAlive

bool FGeometryCollectionISMPool::bCachedKeepAlive = false

◆ bCachedRecycle

bool FGeometryCollectionISMPool::bCachedRecycle = false

◆ bDisableBoundsAndTransformUpdate

bool FGeometryCollectionISMPool::bDisableBoundsAndTransformUpdate = false

◆ FreeList

TArray<int32> FGeometryCollectionISMPool::FreeList

Free list of indices in ISMs that are empty.

◆ FreeListISM

TArray<int32> FGeometryCollectionISMPool::FreeListISM

Free list of indices in ISMs that have registered ISM components.

◆ ISMs

TArray<FGeometryCollectionISM> FGeometryCollectionISMPool::ISMs

Array of ISM objects.

◆ MeshToISMIndex

TMap<FGeometryCollectionStaticMeshInstance, FISMIndex> FGeometryCollectionISMPool::MeshToISMIndex

Mapping from mesh description to ISMs array slot.

◆ PrellocationQueue

TSet<FGeometryCollectionStaticMeshInstance> FGeometryCollectionISMPool::PrellocationQueue

Set of ISM descriptions that we would like to preallocate.


The documentation for this struct was generated from the following files: