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

#include <AggregateGeom.h>

Public Member Functions

 UPROPERTY (EditAnywhere, editfixedsize, Category="Aggregate Geometry", meta=(DisplayName="(Experimental) Skinned Level Sets", TitleProperty="Name"), Experimental) TArray< FKSkinnedLevelSetElem > SkinnedLevelSetElems
 
 UPROPERTY (EditAnywhere, editfixedsize, Category="Aggregate Geometry", meta=(DisplayName="(Experimental) ML Level Sets", TitleProperty="Name"), Experimental) TArray< FKMLLevelSetElem > MLLevelSetElems
 
 UPROPERTY (EditAnywhere, editfixedsize, Category="Aggregate Geometry", meta=(DisplayName="(Experimental) Skinned Triangle Meshes", TitleProperty="Name"), Experimental) TArray< FKSkinnedTriangleMeshElem > SkinnedTriangleMeshElems
 
 FKAggregateGeom ()
 
 FKAggregateGeom (const FKAggregateGeom &Other)
 
const FKAggregateGeomoperator= (const FKAggregateGeom &Other)
 
int32 GetElementCount () const
 
ENGINE_API int32 GetElementCount (EAggCollisionShape::Type Type) const
 
SIZE_T GetAllocatedSize () const
 
template<typename Callable >
auto VisitShapeAndContainer (FKShapeElem &InElement, Callable &&InCallable)
 
template<typename Callable >
auto VisitShapeAndContainer (const FKShapeElem &InElement, Callable &&InCallable)
 
template<typename T >
requires (TIsDerivedFrom<T, FKShapeElem>::Value || std::is_same_v<T, FKShapeElem>)
void AddElement (const T &Elem)
 
FKShapeElemGetElement (const EAggCollisionShape::Type Type, const int32 Index)
 
const FKShapeElemGetElement (const EAggCollisionShape::Type Type, const int32 Index) const
 
FKShapeElemGetElement (const int32 InIndex)
 
const FKShapeElemGetElement (const int32 InIndex) const
 
const FKShapeElemGetElementByName (const FName InName) const
 
int32 GetElementIndexByName (const FName InName) const
 
void EmptyElements ()
 
ENGINE_API void GetAggGeom (const FTransform &Transform, const FColor Color, const FMaterialRenderProxy *MatInst, bool bPerHullColor, bool bDrawSolid, bool bOutputVelocity, int32 ViewIndex, class FMeshElementCollector &Collector) const
 
ENGINE_API void FreeRenderInfo ()
 
ENGINE_API FBox CalcAABB (const FTransform &Transform) const
 
ENGINE_API void CalcBoxSphereBounds (FBoxSphereBounds &Output, const FTransform &LocalToWorld) const
 
ENGINE_API FVector::FReal GetVolume (const FVector &Scale3D) const
 
ENGINE_API FVector::FReal GetScaledVolume (const FVector &Scale3D) const
 
ENGINE_API FGuid MakeDDCKey () const
 

Public Attributes

TArray< FKSphereElemSphereElems
 
TArray< FKBoxElemBoxElems
 
TArray< FKSphylElemSphylElems
 
TArray< FKConvexElemConvexElems
 
TArray< FKTaperedCapsuleElemTaperedCapsuleElems
 
TArray< FKLevelSetElemLevelSetElems
 

Detailed Description

Container for an aggregate of collision shapes

Constructor & Destructor Documentation

◆ FKAggregateGeom() [1/2]

FKAggregateGeom::FKAggregateGeom ( )
inline

◆ FKAggregateGeom() [2/2]

FKAggregateGeom::FKAggregateGeom ( const FKAggregateGeom Other)
inline

Member Function Documentation

◆ AddElement()

template<typename T >
requires (TIsDerivedFrom<T, FKShapeElem>::Value || std::is_same_v<T, FKShapeElem>)
void FKAggregateGeom::AddElement ( const T &  Elem)
inline

◆ CalcAABB()

FBox FKAggregateGeom::CalcAABB ( const FTransform Transform) const

◆ CalcBoxSphereBounds()

void FKAggregateGeom::CalcBoxSphereBounds ( FBoxSphereBounds Output,
const FTransform LocalToWorld 
) const

Calculates a tight box-sphere bounds for the aggregate geometry; this is more expensive than CalcAABB (tight meaning the sphere may be smaller than would be required to encompass the AABB, but all individual components lie within both the box and the sphere)

Parameters
OutputThe output box-sphere bounds calculated for this set of aggregate geometry
LocalToWorldTransform

◆ EmptyElements()

void FKAggregateGeom::EmptyElements ( )
inline

◆ FreeRenderInfo()

void FKAggregateGeom::FreeRenderInfo ( )

Release the RenderInfo (if its there) and safely clean up any resources. Call on the game thread.

Release the RenderInfo (if its there) and safely clean up any resources. Can be called from any thread.

◆ GetAggGeom()

void FKAggregateGeom::GetAggGeom ( const FTransform Transform,
const FColor  Color,
const FMaterialRenderProxy MatInst,
bool  bPerHullColor,
bool  bDrawSolid,
bool  bOutputVelocity,
int32  ViewIndex,
class FMeshElementCollector Collector 
) const

◆ GetAllocatedSize()

SIZE_T FKAggregateGeom::GetAllocatedSize ( ) const
inline

◆ GetElement() [1/4]

FKShapeElem * FKAggregateGeom::GetElement ( const EAggCollisionShape::Type  Type,
const int32  Index 
)
inline

◆ GetElement() [2/4]

const FKShapeElem * FKAggregateGeom::GetElement ( const EAggCollisionShape::Type  Type,
const int32  Index 
) const
inline

◆ GetElement() [3/4]

FKShapeElem * FKAggregateGeom::GetElement ( const int32  InIndex)
inline

◆ GetElement() [4/4]

const FKShapeElem * FKAggregateGeom::GetElement ( const int32  InIndex) const
inline

◆ GetElementByName()

const FKShapeElem * FKAggregateGeom::GetElementByName ( const FName  InName) const
inline

◆ GetElementCount() [1/2]

int32 FKAggregateGeom::GetElementCount ( ) const
inline

◆ GetElementCount() [2/2]

int32 FKAggregateGeom::GetElementCount ( EAggCollisionShape::Type  Type) const

◆ GetElementIndexByName()

int32 FKAggregateGeom::GetElementIndexByName ( const FName  InName) const
inline

◆ GetScaledVolume()

FVector::FReal FKAggregateGeom::GetScaledVolume ( const FVector Scale3D) const

Returns the volume of this element

◆ GetVolume()

FVector::FReal FKAggregateGeom::GetVolume ( const FVector Scale3D) const

Returns the volume of this element

◆ MakeDDCKey()

FGuid FKAggregateGeom::MakeDDCKey ( ) const

◆ operator=()

const FKAggregateGeom & FKAggregateGeom::operator= ( const FKAggregateGeom Other)
inline

◆ UPROPERTY() [1/3]

FKAggregateGeom::UPROPERTY ( EditAnywhere  ,
editfixedsize  ,
Category  = "Aggregate Geometry",
meta  = (DisplayName="(Experimental) ML Level Sets", TitleProperty="Name"),
Experimental   
)

◆ UPROPERTY() [2/3]

FKAggregateGeom::UPROPERTY ( EditAnywhere  ,
editfixedsize  ,
Category  = "Aggregate Geometry",
meta  = (DisplayName="(Experimental) Skinned Level Sets", TitleProperty="Name"),
Experimental   
)

◆ UPROPERTY() [3/3]

FKAggregateGeom::UPROPERTY ( EditAnywhere  ,
editfixedsize  ,
Category  = "Aggregate Geometry",
meta  = (DisplayName="(Experimental) Skinned Triangle Meshes", TitleProperty="Name"),
Experimental   
)

◆ VisitShapeAndContainer() [1/2]

template<typename Callable >
auto FKAggregateGeom::VisitShapeAndContainer ( const FKShapeElem InElement,
Callable &&  InCallable 
)
inline

◆ VisitShapeAndContainer() [2/2]

template<typename Callable >
auto FKAggregateGeom::VisitShapeAndContainer ( FKShapeElem InElement,
Callable &&  InCallable 
)
inline

Member Data Documentation

◆ BoxElems

TArray<FKBoxElem> FKAggregateGeom::BoxElems

◆ ConvexElems

TArray<FKConvexElem> FKAggregateGeom::ConvexElems

◆ LevelSetElems

TArray<FKLevelSetElem> FKAggregateGeom::LevelSetElems

◆ SphereElems

TArray<FKSphereElem> FKAggregateGeom::SphereElems

◆ SphylElems

TArray<FKSphylElem> FKAggregateGeom::SphylElems

◆ TaperedCapsuleElems

TArray<FKTaperedCapsuleElem> FKAggregateGeom::TaperedCapsuleElems

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