UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAnalyticImplicitGroup Class Reference

#include <AnalyticImplicitGroup.h>

Public Member Functions

 FAnalyticImplicitGroup ()
 
 FAnalyticImplicitGroup (const FName &InBoneName, const int32 InBoneIndex)
 
 FAnalyticImplicitGroup (const FAnalyticImplicitGroup &)=delete
 
 FAnalyticImplicitGroup (FAnalyticImplicitGroup &&Other)
 
 ~FAnalyticImplicitGroup ()
 
void Init (const int32 NumStructures, const bool DoCollGeom=true)
 
int32 NumStructures () const
 
bool IsValid ()
 
const FNameGetBoneName () const
 
const int32 GetBoneIndex () const
 
void SetParentBoneIndex (const int32 InParentBoneIndex)
 
const int32 GetParentBoneIndex () const
 
void SetRigidBodyId (const int32 InRigidBodyId)
 
int32 GetRigidBodyId () const
 
void SetRigidBodyState (const EObjectStateTypeEnum State)
 
EObjectStateTypeEnum GetRigidBodyState () const
 
int32 Add (const FTransform &InitialXf, Chaos::FSphere *Sphere)
 
int32 Add (const FTransform &InitialXf, Chaos::TBox< Chaos::FReal, 3 > *Box)
 
int32 Add (const FTransform &InitialXf, Chaos::FCapsule *Capsule)
 
int32 Add (const FTransform &InitialXf, Chaos::FTaperedCylinder *TaperedCylinder)
 
int32 Add (const FTransform &InitialXf, Chaos::FConvex *ConvexHull)
 
int32 Add (const FTransform &InitialXf, Chaos::FLevelSet *LevelSet)
 
void SetCollisionTopology (const int32 Index, TArray< Chaos::FVec3 > &&Points, TArray< Chaos::TVec3< int32 > > &&Triangles)
 
const TArray< FTransform > & GetInitialStructureTransforms () const
 
void ResetTransforms ()
 
Chaos::FMassProperties BuildMassProperties (const Chaos::FReal Density, Chaos::FReal &TotalMass)
 
TArray< Chaos::FVec3 > * BuildSamplePoints (const Chaos::FReal ParticlesPerUnitArea, const int32 MinParticles, const int32 MaxParticles)
 
TArray< Chaos::TVec3< int32 > > BuildSampleTopology () const
 
Chaos::FImplicitObjectBuildSimImplicitObject ()
 

Protected Member Functions

void SetParent (FAnalyticImplicitGroup *InParent)
 
const FAnalyticImplicitGroupGetParent () const
 
void AddChild (FAnalyticImplicitGroup *Child)
 
const TArray< FAnalyticImplicitGroup * > & GetChildren () const
 
void ClearHierarchy ()
 
template<class TImplicitShape >
void CullDeepPoints (TArray< Chaos::FVec3 > &Points, const TImplicitShape &Shape, const FTransform &Xf)
 
void CullDeepPoints (TArray< Chaos::FVec3 > &Points, const int32 SkipIndex)
 
Chaos::FImplicitObjectTransferImplicitObj (int32 Idx)
 

Protected Attributes

FName BoneName
 
int32 BoneIndex
 
int32 ParentBoneIndex
 
int32 RigidBodyId
 
EObjectStateTypeEnum RigidBodyState
 
TArray< Chaos::FSphere * > Spheres
 
TArray< Chaos::TBox< Chaos::FReal, 3 > * > Boxes
 
TArray< Chaos::FCapsule * > Capsules
 
TArray< Chaos::FTaperedCylinder * > TaperedCylinders
 
TArray< Chaos::FConvex * > ConvexHulls
 
TArray< Chaos::FLevelSet * > LevelSets
 
TArray< Chaos::FVec3ContiguousCollisionPoints
 
TArray< TArray< Chaos::FVec3 > > CollisionPoints
 
TArray< TArray< Chaos::TVec3< int32 > > > CollisionTriangles
 
TArray< FTransformTransforms
 
FTransform RefBoneXf
 
FAnalyticImplicitGroupParent
 
TArray< FAnalyticImplicitGroup * > Children
 

Friends

class FBoneHierarchy
 
struct FPhysicsAssetSimulationUtil
 

Detailed Description

A collection of analytic implicit shapes parented to a single transform, in a hierarchy of transforms.

Currently we use this class to represent bones even if they don't have any implicit shapes.

Constructor & Destructor Documentation

◆ FAnalyticImplicitGroup() [1/4]

FAnalyticImplicitGroup::FAnalyticImplicitGroup ( )
inline

◆ FAnalyticImplicitGroup() [2/4]

FAnalyticImplicitGroup::FAnalyticImplicitGroup ( const FName InBoneName,
const int32  InBoneIndex 
)
inline

◆ FAnalyticImplicitGroup() [3/4]

FAnalyticImplicitGroup::FAnalyticImplicitGroup ( const FAnalyticImplicitGroup )
delete

◆ FAnalyticImplicitGroup() [4/4]

FAnalyticImplicitGroup::FAnalyticImplicitGroup ( FAnalyticImplicitGroup &&  Other)
inline

◆ ~FAnalyticImplicitGroup()

FAnalyticImplicitGroup::~FAnalyticImplicitGroup ( )
inline

Member Function Documentation

◆ Add() [1/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::FCapsule Capsule 
)
inline

◆ Add() [2/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::FConvex ConvexHull 
)
inline

◆ Add() [3/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::FLevelSet LevelSet 
)
inline

◆ Add() [4/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::FSphere Sphere 
)
inline

◆ Add() [5/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::FTaperedCylinder TaperedCylinder 
)
inline

◆ Add() [6/6]

int32 FAnalyticImplicitGroup::Add ( const FTransform InitialXf,
Chaos::TBox< Chaos::FReal, 3 > *  Box 
)
inline

◆ AddChild()

void FAnalyticImplicitGroup::AddChild ( FAnalyticImplicitGroup Child)
inlineprotected

◆ BuildMassProperties()

Chaos::FMassProperties FAnalyticImplicitGroup::BuildMassProperties ( const Chaos::FReal  Density,
Chaos::FReal TotalMass 
)
inline

◆ BuildSamplePoints()

TArray< Chaos::FVec3 > * FAnalyticImplicitGroup::BuildSamplePoints ( const Chaos::FReal  ParticlesPerUnitArea,
const int32  MinParticles,
const int32  MaxParticles 
)
inline

◆ BuildSampleTopology()

TArray< Chaos::TVec3< int32 > > FAnalyticImplicitGroup::BuildSampleTopology ( ) const
inline

◆ BuildSimImplicitObject()

Chaos::FImplicitObject * FAnalyticImplicitGroup::BuildSimImplicitObject ( )
inline

Build the implicit object representation of this object.

Transfers ownership of sub structures to the returned implicit object.

◆ ClearHierarchy()

void FAnalyticImplicitGroup::ClearHierarchy ( )
inlineprotected

◆ CullDeepPoints() [1/2]

void FAnalyticImplicitGroup::CullDeepPoints ( TArray< Chaos::FVec3 > &  Points,
const int32  SkipIndex 
)
inlineprotected

◆ CullDeepPoints() [2/2]

template<class TImplicitShape >
void FAnalyticImplicitGroup::CullDeepPoints ( TArray< Chaos::FVec3 > &  Points,
const TImplicitShape Shape,
const FTransform Xf 
)
inlineprotected

◆ GetBoneIndex()

const int32 FAnalyticImplicitGroup::GetBoneIndex ( ) const
inline

◆ GetBoneName()

const FName & FAnalyticImplicitGroup::GetBoneName ( ) const
inline

◆ GetChildren()

const TArray< FAnalyticImplicitGroup * > & FAnalyticImplicitGroup::GetChildren ( ) const
inlineprotected

◆ GetInitialStructureTransforms()

const TArray< FTransform > & FAnalyticImplicitGroup::GetInitialStructureTransforms ( ) const
inline

◆ GetParent()

const FAnalyticImplicitGroup * FAnalyticImplicitGroup::GetParent ( ) const
inlineprotected

◆ GetParentBoneIndex()

const int32 FAnalyticImplicitGroup::GetParentBoneIndex ( ) const
inline

◆ GetRigidBodyId()

int32 FAnalyticImplicitGroup::GetRigidBodyId ( ) const
inline

◆ GetRigidBodyState()

EObjectStateTypeEnum FAnalyticImplicitGroup::GetRigidBodyState ( ) const
inline

◆ Init()

void FAnalyticImplicitGroup::Init ( const int32  NumStructures,
const bool  DoCollGeom = true 
)
inline

◆ IsValid()

bool FAnalyticImplicitGroup::IsValid ( )
inline

◆ NumStructures()

int32 FAnalyticImplicitGroup::NumStructures ( ) const
inline

The number of analytic shapes in this group.

◆ ResetTransforms()

void FAnalyticImplicitGroup::ResetTransforms ( )
inline

◆ SetCollisionTopology()

void FAnalyticImplicitGroup::SetCollisionTopology ( const int32  Index,
TArray< Chaos::FVec3 > &&  Points,
TArray< Chaos::TVec3< int32 > > &&  Triangles 
)
inline

◆ SetParent()

void FAnalyticImplicitGroup::SetParent ( FAnalyticImplicitGroup InParent)
inlineprotected

◆ SetParentBoneIndex()

void FAnalyticImplicitGroup::SetParentBoneIndex ( const int32  InParentBoneIndex)
inline

◆ SetRigidBodyId()

void FAnalyticImplicitGroup::SetRigidBodyId ( const int32  InRigidBodyId)
inline

◆ SetRigidBodyState()

void FAnalyticImplicitGroup::SetRigidBodyState ( const EObjectStateTypeEnum  State)
inline

◆ TransferImplicitObj()

Chaos::FImplicitObject * FAnalyticImplicitGroup::TransferImplicitObj ( int32  Idx)
inlineprotected

Friends And Related Symbol Documentation

◆ FBoneHierarchy

friend class FBoneHierarchy
friend

◆ FPhysicsAssetSimulationUtil

Member Data Documentation

◆ BoneIndex

int32 FAnalyticImplicitGroup::BoneIndex
protected

◆ BoneName

FName FAnalyticImplicitGroup::BoneName
protected

◆ Boxes

TArray<Chaos::TBox<Chaos::FReal, 3>*> FAnalyticImplicitGroup::Boxes
protected

◆ Capsules

TArray<Chaos::FCapsule*> FAnalyticImplicitGroup::Capsules
protected

◆ Children

TArray<FAnalyticImplicitGroup*> FAnalyticImplicitGroup::Children
protected

◆ CollisionPoints

TArray<TArray<Chaos::FVec3> > FAnalyticImplicitGroup::CollisionPoints
protected

◆ CollisionTriangles

TArray<TArray<Chaos::TVec3<int32> > > FAnalyticImplicitGroup::CollisionTriangles
protected

◆ ContiguousCollisionPoints

TArray<Chaos::FVec3> FAnalyticImplicitGroup::ContiguousCollisionPoints
protected

◆ ConvexHulls

TArray<Chaos::FConvex*> FAnalyticImplicitGroup::ConvexHulls
protected

◆ LevelSets

TArray<Chaos::FLevelSet*> FAnalyticImplicitGroup::LevelSets
protected

◆ Parent

FAnalyticImplicitGroup* FAnalyticImplicitGroup::Parent
protected

◆ ParentBoneIndex

int32 FAnalyticImplicitGroup::ParentBoneIndex
protected

◆ RefBoneXf

FTransform FAnalyticImplicitGroup::RefBoneXf
protected

◆ RigidBodyId

int32 FAnalyticImplicitGroup::RigidBodyId
protected

◆ RigidBodyState

EObjectStateTypeEnum FAnalyticImplicitGroup::RigidBodyState
protected

◆ Spheres

TArray<Chaos::FSphere*> FAnalyticImplicitGroup::Spheres
protected

◆ TaperedCylinders

TArray<Chaos::FTaperedCylinder*> FAnalyticImplicitGroup::TaperedCylinders
protected

◆ Transforms

TArray<FTransform> FAnalyticImplicitGroup::Transforms
protected

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