UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::Private::FTribox Class Reference

Tribox object that represents a k-DOP18 convex. More...

#include <Tribox.h>

Public Types

using FRealType = FRealSingle
 
using FVec3Type = TVec3< FRealType >
 
using FRigidTransform3Type = TRigidTransform< FRealType, 3 >
 
using FMatrix33Type = PMatrix< FRealType, 3, 3 >
 
using FPlaneType = TPlaneConcrete< FRealType, 3 >
 

Public Member Functions

FORCEINLINE FTribox ()
 
FORCEINLINE FTribox (const FTribox &OtherTribox)
 
FVec3Type GetCenter () const
 
FAABB3 GetBounds () const
 
FRealType GetClosestPlane (const FVec3Type &PointPosition, int32 &PlaneAxis, FRealType &PlaneProjection) const
 
void AddPoint (const FVec3Type &PointPosition)
 
void AddConvex (const FConvex *Convex, const FRigidTransform3Type &RelativeTransform)
 
bool BuildTribox ()
 
bool OverlapTribox (const FTribox &OtherTribox, FTribox &OverlapTribox) const
 
bool IsTriboxOverlapping (const FTribox &OtherTribox) const
 
bool SplitTriboxSlab (const int32 PlaneAxis, const FRealType &PlaneDistance, FTribox &LeftTribox, FTribox &RightTribox) const
 
int32 GetThickestSlab () const
 
FRealType SampleSlabPoint (const int32 PlaneAxis, const FRealType &LocalDistance) const
 
FRealType ComputeVolume () const
 
FImplicitObjectPtr MakeConvex () const
 
FTriboxoperator+= (const FTribox &OtherTribox)
 
FTribox operator+ (const FTribox &OtherTribox) const
 
bool IsValid () const
 
void SetValid (const bool bValid)
 
bool HasDatas () const
 
void ResetDists ()
 

Static Public Attributes

static constexpr int32 NumPlanes = 18
 
static constexpr int32 NumPrincipalPlanes = 6
 
static constexpr int32 NumChamferPlanes = 12
 
static constexpr FRealType InflateDistance = 0.5
 

Detailed Description

Tribox object that represents a k-DOP18 convex.

Note
This implementation provides a fast way of constructing Tribox in order to be used at runtime to build approximate convex implicit object

Member Typedef Documentation

◆ FMatrix33Type

◆ FPlaneType

◆ FRealType

◆ FRigidTransform3Type

◆ FVec3Type

Constructor & Destructor Documentation

◆ FTribox() [1/2]

FORCEINLINE Chaos::Private::FTribox::FTribox ( )
inline

◆ FTribox() [2/2]

FORCEINLINE Chaos::Private::FTribox::FTribox ( const FTribox OtherTribox)
inline

Member Function Documentation

◆ AddConvex()

void Chaos::Private::FTribox::AddConvex ( const FConvex Convex,
const FRigidTransform3Type RelativeTransform 
)

◆ AddPoint()

void Chaos::Private::FTribox::AddPoint ( const FVec3Type PointPosition)

◆ BuildTribox()

bool Chaos::Private::FTribox::BuildTribox ( )

◆ ComputeVolume()

FTribox::FRealType Chaos::Private::FTribox::ComputeVolume ( ) const

◆ GetBounds()

FAABB3 Chaos::Private::FTribox::GetBounds ( ) const

◆ GetCenter()

FTribox::FVec3Type Chaos::Private::FTribox::GetCenter ( ) const

◆ GetClosestPlane()

FTribox::FRealType Chaos::Private::FTribox::GetClosestPlane ( const FVec3Type PointPosition,
int32 PlaneAxis,
FRealType PlaneProjection 
) const

◆ GetThickestSlab()

int32 Chaos::Private::FTribox::GetThickestSlab ( ) const

◆ HasDatas()

bool Chaos::Private::FTribox::HasDatas ( ) const
inline

◆ IsTriboxOverlapping()

bool Chaos::Private::FTribox::IsTriboxOverlapping ( const FTribox OtherTribox) const

◆ IsValid()

bool Chaos::Private::FTribox::IsValid ( ) const
inline

◆ MakeConvex()

FImplicitObjectPtr Chaos::Private::FTribox::MakeConvex ( ) const

◆ operator+()

FTribox Chaos::Private::FTribox::operator+ ( const FTribox OtherTribox) const

◆ operator+=()

FTribox & Chaos::Private::FTribox::operator+= ( const FTribox OtherTribox)

◆ OverlapTribox()

bool Chaos::Private::FTribox::OverlapTribox ( const FTribox OtherTribox,
FTribox OverlapTribox 
) const

◆ ResetDists()

void Chaos::Private::FTribox::ResetDists ( )
inline

◆ SampleSlabPoint()

FTribox::FRealType Chaos::Private::FTribox::SampleSlabPoint ( const int32  PlaneAxis,
const FRealType LocalDistance 
) const

◆ SetValid()

void Chaos::Private::FTribox::SetValid ( const bool  bValid)
inline

◆ SplitTriboxSlab()

bool Chaos::Private::FTribox::SplitTriboxSlab ( const int32  PlaneAxis,
const FRealType PlaneDistance,
FTribox LeftTribox,
FTribox RightTribox 
) const

Member Data Documentation

◆ InflateDistance

constexpr FRealType Chaos::Private::FTribox::InflateDistance = 0.5
staticconstexpr

◆ NumChamferPlanes

constexpr int32 Chaos::Private::FTribox::NumChamferPlanes = 12
staticconstexpr

◆ NumPlanes

constexpr int32 Chaos::Private::FTribox::NumPlanes = 18
staticconstexpr

◆ NumPrincipalPlanes

constexpr int32 Chaos::Private::FTribox::NumPrincipalPlanes = 6
staticconstexpr

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