UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FImplicitObject Class Referenceabstract

#include <ImplicitObject.h>

+ Inheritance diagram for Chaos::FImplicitObject:

Public Types

using TType = FReal
 

Public Member Functions

CHAOS_API FImplicitObject (int32 Flags, EImplicitObjectType InType=ImplicitObjectType::Unknown)
 
 FImplicitObject (const FImplicitObject &)=delete
 
 FImplicitObject (FImplicitObject &&)=delete
 
virtual CHAOS_API ~FImplicitObject () override
 
template<typename TargetType >
bool IsA () const
 
template<typename TargetType >
const TargetType * AsA () const
 
template<typename TargetType >
TargetType * AsA ()
 
template<typename TargetType >
const TargetType * AsAChecked () const
 
template<typename TargetType >
TargetType * AsAChecked ()
 
template<class T_DERIVED >
T_DERIVEDGetObject ()
 
template<class T_DERIVED >
const T_DERIVEDGetObject () const
 
template<class T_DERIVED >
const T_DERIVEDGetObjectChecked () const
 
template<class T_DERIVED >
T_DERIVEDGetObjectChecked ()
 
virtual EImplicitObjectType GetNestedType () const
 
CHAOS_API EImplicitObjectType GetType () const
 
CHAOS_API EImplicitObjectType GetCollisionType () const
 
void SetCollisionType (EImplicitObjectType InCollisionType)
 
virtual FReal GetRadius () const
 
virtual FRealSingle GetRadiusf () const
 
virtual FReal GetMargin () const
 
virtual FRealSingle GetMarginf () const
 
virtual CHAOS_API bool IsValidGeometry () const
 
virtual CHAOS_API Chaos::FImplicitObjectPtr CopyGeometry () const
 
virtual CHAOS_API Chaos::FImplicitObjectPtr CopyGeometryWithScale (const FVec3 &Scale) const
 
virtual Chaos::FImplicitObjectPtr DeepCopyGeometry () const
 
virtual Chaos::FImplicitObjectPtr DeepCopyGeometryWithScale (const FVec3 &Scale) const
 
virtual FImplicitObjectDuplicate () const
 
virtual TUniquePtr< FImplicitObjectCopy () const
 
virtual TUniquePtr< FImplicitObjectCopyWithScale (const FVec3 &Scale) const
 
virtual TUniquePtr< FImplicitObjectDeepCopy () const
 
virtual TUniquePtr< FImplicitObjectDeepCopyWithScale (const FVec3 &Scale) const
 
CHAOS_API bool IsUnderlyingUnion () const
 
CHAOS_API bool IsUnderlyingMesh () const
 
CHAOS_API FReal SignedDistance (const FVec3 &x) const
 
CHAOS_API FVec3 Normal (const FVec3 &x) const
 
virtual FReal PhiWithNormal (const FVec3 &x, FVec3 &Normal) const =0
 
virtual FReal PhiWithNormalScaled (const FVec3 &Pos, const FVec3 &Scale, FVec3 &Normal) const
 
virtual CHAOS_API const FAABB3 BoundingBox () const
 
virtual FAABB3 CalculateTransformedBounds (const FRigidTransform3 &Transform) const
 
bool HasBoundingBox () const
 
bool IsConvex () const
 
void SetConvex (const bool Convex=true)
 
void SetDoCollide (const bool Collide)
 
bool GetDoCollide () const
 
CHAOS_API void Track (TSerializablePtr< FImplicitObject > This, const FString &DebugInfo)
 
virtual bool IsPerformanceWarning () const
 
virtual FString PerformanceWarningAndSimplifaction ()
 
CHAOS_API Pair< FVec3, boolFindDeepestIntersection (const FImplicitObject *Other, const FBVHParticles *Particles, const FMatrix33 &OtherToLocalTransform, const FReal Thickness) const
 
CHAOS_API Pair< FVec3, boolFindDeepestIntersection (const FImplicitObject *Other, const FParticles *Particles, const FMatrix33 &OtherToLocalTransform, const FReal Thickness) const
 
CHAOS_API Pair< FVec3, boolFindClosestIntersection (const FVec3 &StartPoint, const FVec3 &EndPoint, const FReal Thickness) const
 
virtual bool Raycast (const FVec3 &StartPoint, const FVec3 &Dir, const FReal Length, const FReal Thickness, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex) const
 
virtual int32 FindMostOpposingFace (const FVec3 &Position, const FVec3 &UnitDir, int32 HintFaceIndex, FReal SearchDist) const
 
virtual int32 FindMostOpposingFaceScaled (const FVec3 &Position, const FVec3 &UnitDir, int32 HintFaceIndex, FReal SearchDist, const FVec3 &Scale) const
 
virtual int32 FindClosestFaceAndVertices (const FVec3 &Position, TArray< FVec3 > &FaceVertices, FReal SearchDist=0.01f) const
 
virtual FVec3 FindGeometryOpposingNormal (const FVec3 &DenormDir, int32 FaceIndex, const FVec3 &OriginalNormal) const
 
virtual bool Overlap (const FVec3 &Point, const FReal Thickness) const
 
virtual void AccumulateAllImplicitObjects (TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &Out, const FRigidTransform3 &ParentTM) const
 
virtual void AccumulateAllSerializableImplicitObjects (TArray< Pair< TSerializablePtr< FImplicitObject >, FRigidTransform3 > > &Out, const FRigidTransform3 &ParentTM, TSerializablePtr< FImplicitObject > This) const
 
virtual CHAOS_API void FindAllIntersectingObjects (TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &Out, const FAABB3 &LocalBounds) const
 
virtual FString ToString () const
 
CHAOS_API void SerializeImp (FArchive &Ar)
 
virtual void Serialize (FArchive &Ar)
 
virtual CHAOS_API void Serialize (FChaosArchive &Ar)
 
virtual uint32 GetTypeHash () const =0
 
virtual FName GetTypeName () const
 
virtual uint16 GetMaterialIndex (uint32 HintIndex) const
 
int32 CountObjectsInHierarchy () const
 
int32 CountLeafObjectsInHierarchy () const
 
void VisitOverlappingLeafObjects (const FAABB3 &LocalBounds, const FImplicitHierarchyVisitor &Visitor) const
 
void VisitLeafObjects (const FImplicitHierarchyVisitor &Visitor) const
 
void VisitObjects (const FImplicitHierarchyVisitorBool &Visitor) const
 
bool IsOverlappingBounds (const FAABB3 &LocalBounds) const
 
virtual int32 CountObjectsInHierarchyImpl () const
 
virtual int32 CountLeafObjectsInHierarchyImpl () const
 
virtual void VisitOverlappingLeafObjectsImpl (const FAABB3 &LocalBounds, const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitor &VisitorFunc) const
 
virtual void VisitLeafObjectsImpl (const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitor &VisitorFunc) const
 
virtual bool VisitObjectsImpl (const FRigidTransform3 &ObjectTransform, const int32 RootObjectIndex, int32 &ObjectIndex, int32 &LeafObjectIndex, const FImplicitHierarchyVisitorBool &VisitorFunc) const
 
virtual bool IsOverlappingBoundsImpl (const FAABB3 &LocalBounds) const
 
- Public Member Functions inherited from Chaos::FChaosRefCountedObject
 FChaosRefCountedObject ()
 
virtual ~FChaosRefCountedObject ()
 
 FChaosRefCountedObject (const FChaosRefCountedObject &Rhs)=delete
 
FChaosRefCountedObjectoperator= (const FChaosRefCountedObject &Rhs)=delete
 
uint32 AddRef () const
 
uint32 Release () const
 
uint32 GetRefCount () const
 
void MakePersistent () const
 

Static Public Member Functions

static CHAOS_API FImplicitObjectSerializationFactory (FChaosArchive &Ar, FImplicitObject *Obj)
 
static int32 GetOffsetOfType ()
 
static int32 GetOffsetOfMargin ()
 
static constexpr EImplicitObjectType StaticType ()
 
static CHAOS_API FArchiveSerializeLegacyHelper (FArchive &Ar, TUniquePtr< FImplicitObject > &Value)
 
static CHAOS_API const FName GetTypeName (const EImplicitObjectType InType)
 

Static Public Attributes

static constexpr int D = 3
 

Protected Member Functions

void SetMargin (FReal InMargin)
 
void SetMargin (FRealSingle InMargin)
 

Static Protected Member Functions

static FVec3 ScaleNormalizedHelper (const FVec3 &Normal, const FVec3 &Scale)
 
static FVec3 GetOuterScaledNormal (const FVec3 &InnerNormal, const FVec3 &Scale)
 
static FVec3 GetInnerUnscaledNormal (const FVec3 &OuterNormal, const FVec3 &Scale)
 

Protected Attributes

FRealSingle Margin
 
bool bIsConvex
 
bool bDoCollide
 
bool bHasBoundingBox
 
bool bIsTracked
 
EImplicitObjectType Type
 
EImplicitObjectType CollisionType
 

Member Typedef Documentation

◆ TType

Constructor & Destructor Documentation

◆ FImplicitObject() [1/3]

Chaos::FImplicitObject::FImplicitObject ( int32  Flags,
EImplicitObjectType  InType = ImplicitObjectType::Unknown 
)

◆ FImplicitObject() [2/3]

Chaos::FImplicitObject::FImplicitObject ( const FImplicitObject )
delete

◆ FImplicitObject() [3/3]

Chaos::FImplicitObject::FImplicitObject ( FImplicitObject &&  )
delete

◆ ~FImplicitObject()

Chaos::FImplicitObject::~FImplicitObject ( )
overridevirtual

Member Function Documentation

◆ AccumulateAllImplicitObjects()

virtual void Chaos::FImplicitObject::AccumulateAllImplicitObjects ( TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &  Out,
const FRigidTransform3 ParentTM 
) const
inlinevirtual

Reimplemented in Chaos::FImplicitObjectUnion.

◆ AccumulateAllSerializableImplicitObjects()

virtual void Chaos::FImplicitObject::AccumulateAllSerializableImplicitObjects ( TArray< Pair< TSerializablePtr< FImplicitObject >, FRigidTransform3 > > &  Out,
const FRigidTransform3 ParentTM,
TSerializablePtr< FImplicitObject This 
) const
inlinevirtual

◆ AsA() [1/2]

template<typename TargetType >
TargetType * Chaos::FImplicitObject::AsA ( )
inline

◆ AsA() [2/2]

template<typename TargetType >
const TargetType * Chaos::FImplicitObject::AsA ( ) const
inline

◆ AsAChecked() [1/2]

template<typename TargetType >
TargetType * Chaos::FImplicitObject::AsAChecked ( )
inline

◆ AsAChecked() [2/2]

template<typename TargetType >
const TargetType * Chaos::FImplicitObject::AsAChecked ( ) const
inline

◆ BoundingBox()

◆ CalculateTransformedBounds()

virtual FAABB3 Chaos::FImplicitObject::CalculateTransformedBounds ( const FRigidTransform3 Transform) const
inlinevirtual

◆ Copy()

virtual TUniquePtr< FImplicitObject > Chaos::FImplicitObject::Copy ( ) const
inlinevirtual

◆ CopyGeometry()

◆ CopyGeometryWithScale()

◆ CopyWithScale()

virtual TUniquePtr< FImplicitObject > Chaos::FImplicitObject::CopyWithScale ( const FVec3 Scale) const
inlinevirtual

◆ CountLeafObjectsInHierarchy()

int32 Chaos::FImplicitObject::CountLeafObjectsInHierarchy ( ) const
inline

◆ CountLeafObjectsInHierarchyImpl()

virtual int32 Chaos::FImplicitObject::CountLeafObjectsInHierarchyImpl ( ) const
inlinevirtual

◆ CountObjectsInHierarchy()

int32 Chaos::FImplicitObject::CountObjectsInHierarchy ( ) const
inline

◆ CountObjectsInHierarchyImpl()

virtual int32 Chaos::FImplicitObject::CountObjectsInHierarchyImpl ( ) const
inlinevirtual

◆ DeepCopy()

virtual TUniquePtr< FImplicitObject > Chaos::FImplicitObject::DeepCopy ( ) const
inlinevirtual

◆ DeepCopyGeometry()

◆ DeepCopyGeometryWithScale()

virtual Chaos::FImplicitObjectPtr Chaos::FImplicitObject::DeepCopyGeometryWithScale ( const FVec3 Scale) const
inlinevirtual

◆ DeepCopyWithScale()

virtual TUniquePtr< FImplicitObject > Chaos::FImplicitObject::DeepCopyWithScale ( const FVec3 Scale) const
inlinevirtual

◆ Duplicate()

virtual FImplicitObject * Chaos::FImplicitObject::Duplicate ( ) const
inlinevirtual

◆ FindAllIntersectingObjects()

void Chaos::FImplicitObject::FindAllIntersectingObjects ( TArray< Pair< const FImplicitObject *, FRigidTransform3 > > &  Out,
const FAABB3 LocalBounds 
) const
virtual

Reimplemented in Chaos::FImplicitObjectUnion.

◆ FindClosestFaceAndVertices()

virtual int32 Chaos::FImplicitObject::FindClosestFaceAndVertices ( const FVec3 Position,
TArray< FVec3 > &  FaceVertices,
FReal  SearchDist = 0.01f 
) const
inlinevirtual

Finds the first intersecting face at given position

Parameters
Position- local position to search around (for example a point on the surface of a convex hull)
FaceIndices- Vertices that lie on the face plane.
SearchDistance- distance to surface [def:0.01]

Reimplemented in Chaos::FConvex, Chaos::TImplicitObjectTransformed< T, d, bSerializable >, Chaos::TImplicitObjectScaled< TConcrete, bInstanced >, and Chaos::TImplicitObjectScaled< Chaos::TBox< FReal, 3 > >.

◆ FindClosestIntersection()

Pair< FVec3, bool > Chaos::FImplicitObject::FindClosestIntersection ( const FVec3 StartPoint,
const FVec3 EndPoint,
const FReal  Thickness 
) const

◆ FindDeepestIntersection() [1/2]

Pair< FVec3, bool > Chaos::FImplicitObject::FindDeepestIntersection ( const FImplicitObject Other,
const FBVHParticles Particles,
const FMatrix33 OtherToLocalTransform,
const FReal  Thickness 
) const

◆ FindDeepestIntersection() [2/2]

Pair< FVec3, bool > Chaos::FImplicitObject::FindDeepestIntersection ( const FImplicitObject Other,
const FParticles Particles,
const FMatrix33 OtherToLocalTransform,
const FReal  Thickness 
) const

◆ FindGeometryOpposingNormal()

virtual FVec3 Chaos::FImplicitObject::FindGeometryOpposingNormal ( const FVec3 DenormDir,
int32  FaceIndex,
const FVec3 OriginalNormal 
) const
inlinevirtual

Given a normal and a face index, compute the most opposing normal associated with the underlying geometry features. For example a sphere swept against a box may not give a normal associated with one of the box faces. This function will return a normal associated with one of the faces.

Parameters
DenormDir- the direction we want to oppose
FaceIndex- the face index associated with the geometry (for example if we hit a specific face of a convex hull)
OriginalNormal- the original normal given by something like a sphere sweep
Returns
The most opposing normal associated with the underlying geometry's feature (like a face)

Reimplemented in Chaos::FConvex, Chaos::TBox< T, d >, Chaos::TBox< FReal, 3 >, Chaos::FHeightField, Chaos::FTriangleMeshImplicitObject, Chaos::TImplicitObjectInstanced< TConcrete >, Chaos::TImplicitObjectScaled< TConcrete, bInstanced >, and Chaos::TImplicitObjectScaled< Chaos::TBox< FReal, 3 > >.

◆ FindMostOpposingFace()

virtual int32 Chaos::FImplicitObject::FindMostOpposingFace ( const FVec3 Position,
const FVec3 UnitDir,
int32  HintFaceIndex,
FReal  SearchDist 
) const
inlinevirtual

Returns the most opposing face.

Parameters
Position- local position to search around (for example an edge of a convex hull)
UnitDir- the direction we want to oppose (for example a ray moving into the edge of a convex hull would get the face with the most negative dot(FaceNormal, UnitDir)
HintFaceIndex- for certain geometry we can use this to accelerate the search.
Returns
Index of the most opposing face

Reimplemented in Chaos::FConvex, Chaos::FHeightField, Chaos::TImplicitObjectInstanced< TConcrete >, Chaos::TImplicitObjectScaled< TConcrete, bInstanced >, Chaos::TImplicitObjectScaled< Chaos::TBox< FReal, 3 > >, and Chaos::FTriangleMeshImplicitObject.

◆ FindMostOpposingFaceScaled()

virtual int32 Chaos::FImplicitObject::FindMostOpposingFaceScaled ( const FVec3 Position,
const FVec3 UnitDir,
int32  HintFaceIndex,
FReal  SearchDist,
const FVec3 Scale 
) const
inlinevirtual

◆ GetCollisionType()

EImplicitObjectType Chaos::FImplicitObject::GetCollisionType ( ) const

◆ GetDoCollide()

bool Chaos::FImplicitObject::GetDoCollide ( ) const
inline

◆ GetInnerUnscaledNormal()

static FVec3 Chaos::FImplicitObject::GetInnerUnscaledNormal ( const FVec3 OuterNormal,
const FVec3 Scale 
)
inlinestaticprotected

◆ GetMargin()

virtual FReal Chaos::FImplicitObject::GetMargin ( ) const
inlinevirtual

◆ GetMarginf()

virtual FRealSingle Chaos::FImplicitObject::GetMarginf ( ) const
inlinevirtual

◆ GetMaterialIndex()

◆ GetNestedType()

◆ GetObject() [1/2]

template<class T_DERIVED >
T_DERIVED * Chaos::FImplicitObject::GetObject ( )
inline

◆ GetObject() [2/2]

template<class T_DERIVED >
const T_DERIVED * Chaos::FImplicitObject::GetObject ( ) const
inline

◆ GetObjectChecked() [1/2]

template<class T_DERIVED >
T_DERIVED & Chaos::FImplicitObject::GetObjectChecked ( )
inline

◆ GetObjectChecked() [2/2]

template<class T_DERIVED >
const T_DERIVED & Chaos::FImplicitObject::GetObjectChecked ( ) const
inline

◆ GetOffsetOfMargin()

static int32 Chaos::FImplicitObject::GetOffsetOfMargin ( )
inlinestatic

◆ GetOffsetOfType()

static int32 Chaos::FImplicitObject::GetOffsetOfType ( )
inlinestatic

◆ GetOuterScaledNormal()

static FVec3 Chaos::FImplicitObject::GetOuterScaledNormal ( const FVec3 InnerNormal,
const FVec3 Scale 
)
inlinestaticprotected

◆ GetRadius()

◆ GetRadiusf()

◆ GetType()

EImplicitObjectType Chaos::FImplicitObject::GetType ( ) const

◆ GetTypeHash()

◆ GetTypeName() [1/2]

◆ GetTypeName() [2/2]

const FName Chaos::FImplicitObject::GetTypeName ( const EImplicitObjectType  InType)
static

◆ HasBoundingBox()

bool Chaos::FImplicitObject::HasBoundingBox ( ) const
inline

◆ IsA()

template<typename TargetType >
bool Chaos::FImplicitObject::IsA ( ) const
inline

◆ IsConvex()

bool Chaos::FImplicitObject::IsConvex ( ) const
inline

◆ IsOverlappingBounds()

bool Chaos::FImplicitObject::IsOverlappingBounds ( const FAABB3 LocalBounds) const
inline

Whether this implicit (possibly a hierarchy) overlaps the bounds. This is a deeper, more accurate test than simply checking BoundingBox() because it will query the BVH in Unions, Heightfields and Triangle Meshes, and only return true if we overlap the bounds of a leaf node that contains some elements.

◆ IsOverlappingBoundsImpl()

virtual bool Chaos::FImplicitObject::IsOverlappingBoundsImpl ( const FAABB3 LocalBounds) const
inlinevirtual

◆ IsPerformanceWarning()

virtual bool Chaos::FImplicitObject::IsPerformanceWarning ( ) const
inlinevirtual

Reimplemented in Chaos::FConvex.

◆ IsUnderlyingMesh()

bool Chaos::FImplicitObject::IsUnderlyingMesh ( ) const

◆ IsUnderlyingUnion()

bool Chaos::FImplicitObject::IsUnderlyingUnion ( ) const

◆ IsValidGeometry()

bool Chaos::FImplicitObject::IsValidGeometry ( ) const
virtual

◆ Normal()

FVec3 Chaos::FImplicitObject::Normal ( const FVec3 x) const

◆ Overlap()

◆ PerformanceWarningAndSimplifaction()

virtual FString Chaos::FImplicitObject::PerformanceWarningAndSimplifaction ( )
inlinevirtual

Reimplemented in Chaos::FConvex.

◆ PhiWithNormal()

◆ PhiWithNormalScaled()

virtual FReal Chaos::FImplicitObject::PhiWithNormalScaled ( const FVec3 Pos,
const FVec3 Scale,
FVec3 Normal 
) const
inlinevirtual

◆ Raycast()

◆ ScaleNormalizedHelper()

static FVec3 Chaos::FImplicitObject::ScaleNormalizedHelper ( const FVec3 Normal,
const FVec3 Scale 
)
inlinestaticprotected

◆ SerializationFactory()

FImplicitObject * Chaos::FImplicitObject::SerializationFactory ( FChaosArchive Ar,
FImplicitObject Obj 
)
static

◆ Serialize() [1/2]

◆ Serialize() [2/2]

◆ SerializeImp()

void Chaos::FImplicitObject::SerializeImp ( FArchive Ar)

◆ SerializeLegacyHelper()

FArchive & Chaos::FImplicitObject::SerializeLegacyHelper ( FArchive Ar,
TUniquePtr< FImplicitObject > &  Value 
)
static

◆ SetCollisionType()

void Chaos::FImplicitObject::SetCollisionType ( EImplicitObjectType  InCollisionType)
inline

◆ SetConvex()

void Chaos::FImplicitObject::SetConvex ( const bool  Convex = true)
inline

◆ SetDoCollide()

void Chaos::FImplicitObject::SetDoCollide ( const bool  Collide)
inline

◆ SetMargin() [1/2]

void Chaos::FImplicitObject::SetMargin ( FReal  InMargin)
inlineprotected

◆ SetMargin() [2/2]

void Chaos::FImplicitObject::SetMargin ( FRealSingle  InMargin)
inlineprotected

◆ SignedDistance()

FReal Chaos::FImplicitObject::SignedDistance ( const FVec3 x) const

◆ StaticType()

static constexpr EImplicitObjectType Chaos::FImplicitObject::StaticType ( )
inlinestaticconstexpr

◆ ToString()

◆ Track()

CHAOS_API void Chaos::FImplicitObject::Track ( TSerializablePtr< FImplicitObject This,
const FString &  DebugInfo 
)

◆ VisitLeafObjects()

void Chaos::FImplicitObject::VisitLeafObjects ( const FImplicitHierarchyVisitor Visitor) const
inline

Visit all the leaf objects in the hierarchy

See also
FImplicitHierarchyVisitor for visitor notes

◆ VisitLeafObjectsImpl()

virtual void Chaos::FImplicitObject::VisitLeafObjectsImpl ( const FRigidTransform3 ObjectTransform,
const int32  RootObjectIndex,
int32 ObjectIndex,
int32 LeafObjectIndex,
const FImplicitHierarchyVisitor VisitorFunc 
) const
inlinevirtual

◆ VisitObjects()

void Chaos::FImplicitObject::VisitObjects ( const FImplicitHierarchyVisitorBool Visitor) const
inline

Visit all the objects in the hierarchy, including inner nodes like Union and Transform

See also
FImplicitHierarchyVisitor for visitor notes

◆ VisitObjectsImpl()

virtual bool Chaos::FImplicitObject::VisitObjectsImpl ( const FRigidTransform3 ObjectTransform,
const int32  RootObjectIndex,
int32 ObjectIndex,
int32 LeafObjectIndex,
const FImplicitHierarchyVisitorBool VisitorFunc 
) const
inlinevirtual

◆ VisitOverlappingLeafObjects()

void Chaos::FImplicitObject::VisitOverlappingLeafObjects ( const FAABB3 LocalBounds,
const FImplicitHierarchyVisitor Visitor 
) const
inline

Visit all the leaf objects in the hierarchy that overlap the specified local-space bounds. NOTE: Templated decorators like Instanced and Scaled cound as leafs, but object decorators like Transformed do not.

See also
FImplicitHierarchyVisitor for visitor notes

◆ VisitOverlappingLeafObjectsImpl()

virtual void Chaos::FImplicitObject::VisitOverlappingLeafObjectsImpl ( const FAABB3 LocalBounds,
const FRigidTransform3 ObjectTransform,
const int32  RootObjectIndex,
int32 ObjectIndex,
int32 LeafObjectIndex,
const FImplicitHierarchyVisitor VisitorFunc 
) const
inlinevirtual

Member Data Documentation

◆ bDoCollide

bool Chaos::FImplicitObject::bDoCollide
protected

◆ bHasBoundingBox

bool Chaos::FImplicitObject::bHasBoundingBox
protected

◆ bIsConvex

bool Chaos::FImplicitObject::bIsConvex
protected

◆ bIsTracked

bool Chaos::FImplicitObject::bIsTracked
protected

◆ CollisionType

EImplicitObjectType Chaos::FImplicitObject::CollisionType
protected

◆ D

constexpr int Chaos::FImplicitObject::D = 3
staticconstexpr

◆ Margin

FRealSingle Chaos::FImplicitObject::Margin
protected

◆ Type

EImplicitObjectType Chaos::FImplicitObject::Type
protected

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