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

#include <DestructibleHLODComponent.h>

Public Member Functions

bool IsInline () const
 
void GetComponentsMappingRange (uint32 &OutRangeOffset, uint32 &OutRangeCount) const
 
void GetInline (uint32 &OutComponentIndex, uint32 &OutInstanceStart, uint32 &OutInstanceCount) const
 

Static Public Member Functions

static FActorInstanceMappingsRef MakeMappingRange (uint32 RangeOffset, uint32 RangeCount)
 
static FActorInstanceMappingsRef MakeMappingInline (uint32 ComponentIndex, uint32 InstanceStart, uint32 InstanceCount)
 

Detailed Description

For a given source actor which was potentially comprised of multiple components, this serves as storage to retrieve the associated FComponentInstanceMappings In order to be efficient in the most common scenario where an actor only has one component stored in ISM, this struct is flexible and can fulfill two purpose 1) Standard storage This struct serves as a mean to retrieve the range of FComponentInstanceMappings associated with this actor from the FHLODInstancingPackedMappingData::ComponentsMapping array. In this case, IsInline() return false, and GetComponentsMappingRange() should be used to retreive the range. 2) Inline storage In the common case where only a single component (either SM or ISM) end up in HLODs, we don't need to store multiple FComponentInstanceMapping values for it. The added indirection and storage in FHLODInstancingPackedMappingData::ComponentsMapping is inefficient. To avoid this, we use this struct to store the component mapping directly (inline). In this case, IsInline() return true, and GetInline() should be used to retrieve the (component index + instance start + instance count). You can use FHLODInstancingPackedMappingData::ForEachActorInstancingMapping() that will abstract all of that and will give you all the mappings directly.

Member Function Documentation

◆ GetComponentsMappingRange()

void FActorInstanceMappingsRef::GetComponentsMappingRange ( uint32 OutRangeOffset,
uint32 OutRangeCount 
) const
inline

◆ GetInline()

void FActorInstanceMappingsRef::GetInline ( uint32 OutComponentIndex,
uint32 OutInstanceStart,
uint32 OutInstanceCount 
) const
inline

◆ IsInline()

bool FActorInstanceMappingsRef::IsInline ( ) const
inline

◆ MakeMappingInline()

static FActorInstanceMappingsRef FActorInstanceMappingsRef::MakeMappingInline ( uint32  ComponentIndex,
uint32  InstanceStart,
uint32  InstanceCount 
)
inlinestatic

◆ MakeMappingRange()

static FActorInstanceMappingsRef FActorInstanceMappingsRef::MakeMappingRange ( uint32  RangeOffset,
uint32  RangeCount 
)
inlinestatic

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