Navigation
API > API/Runtime > API/Runtime/Engine
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.
| Name | FActorInstanceMappingsRef |
| Type | struct |
| Header File | /Engine/Source/Runtime/Engine/Public/WorldPartition/HLOD/DestructibleHLODComponent.h |
| Include Path | #include "WorldPartition/HLOD/DestructibleHLODComponent.h" |
Syntax
USTRUCT ()
struct FActorInstanceMappingsRef
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| kComponentIndexBits | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kComponentIndexMask | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kComponentIndexShift | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kInlineFlagBits | uint32 | Storage bits. | WorldPartition/HLOD/DestructibleHLODComponent.h |
| kInlineTagMask | uint32 | Masks & shifts. | WorldPartition/HLOD/DestructibleHLODComponent.h |
| kItemCountBits | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kItemCountMask | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kRangeOffsetBits | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | |
| kRangeOffsetMask | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| A | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h | ||
| B | uint32 | WorldPartition/HLOD/DestructibleHLODComponent.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void GetComponentsMappingRange
(
uint32& OutRangeOffset, |
WorldPartition/HLOD/DestructibleHLODComponent.h | ||
void GetInline
(
uint32& OutComponentIndex, |
WorldPartition/HLOD/DestructibleHLODComponent.h | ||
bool IsInline() |
WorldPartition/HLOD/DestructibleHLODComponent.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FActorInstanceMappingsRef MakeMappingInline
(
uint32 ComponentIndex, |
WorldPartition/HLOD/DestructibleHLODComponent.h | ||
static FActorInstanceMappingsRef MakeMappingRange
(
uint32 RangeOffset, |
WorldPartition/HLOD/DestructibleHLODComponent.h |