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

#include <Levelset.h>

+ Inheritance diagram for Chaos::FLevelSet:

Public Member Functions

CHAOS_API FLevelSet (FErrorReporter &ErrorReporter, const TUniformGrid< FReal, 3 > &InGrid, const FParticles &InParticles, const FTriangleMesh &Mesh, const int32 BandWidth=0)
 
CHAOS_API FLevelSet (FErrorReporter &ErrorReporter, const TUniformGrid< FReal, 3 > &InGrid, const FImplicitObject &InObject, const int32 BandWidth=0, const bool bUseObjectPhi=false)
 
CHAOS_API FLevelSet (TUniformGrid< FReal, 3 > &&Grid, TArrayND< FReal, 3 > &&Phi, int32 BandWidth)
 
 FLevelSet (const FLevelSet &Other)=delete
 
CHAOS_API FLevelSet (FLevelSet &&Other)
 
virtual CHAOS_API ~FLevelSet ()
 
virtual CHAOS_API Chaos::FImplicitObjectPtr CopyGeometry () const override
 
virtual CHAOS_API Chaos::FImplicitObjectPtr CopyGeometryWithScale (const FVec3 &Scale) const override
 
virtual CHAOS_API FReal PhiWithNormal (const FVec3 &x, FVec3 &Normal) const override
 
CHAOS_API FReal SignedDistance (const FVec3 &x) const
 
virtual const FAABB3 BoundingBox () const override
 
const TArrayND< FReal, 3 > & GetPhiArray () const
 
const TArrayND< FVec3, 3 > & GetNormalsArray () const
 
const TUniformGrid< FReal, 3 > & GetGrid () const
 
FORCEINLINE void Shrink (const FReal Value)
 
FORCEINLINE void SerializeImp (FArchive &Ar)
 
virtual void Serialize (FChaosArchive &Ar) override
 
virtual void Serialize (FArchive &Ar) override
 
FReal ApproximateNegativeMaterial () const
 
CHAOS_API bool ComputeMassProperties (FReal &OutVolume, FVec3 &OutCOM, FMatrix33 &OutInertia, FRotation3 &OutRotationOfMass) const
 
CHAOS_API FReal ComputeLevelSetError (const FParticles &InParticles, const TArray< FVec3 > &Normals, const FTriangleMesh &Mesh, FReal &AngleError, FReal &MaxDistError)
 
CHAOS_API void OutputDebugData (FErrorReporter &ErrorReporter, const FParticles &InParticles, const TArray< FVec3 > &Normals, const FTriangleMesh &Mesh, const FString FileName)
 
CHAOS_API bool CheckData (FErrorReporter &ErrorReporter, const FParticles &InParticles, const FTriangleMesh &Mesh, const TArray< FVec3 > &Normals)
 
CHAOS_API void GetZeroIsosurfaceGridCellFaces (TArray< FVector3f > &Vertices, TArray< FIntVector > &Tris) const
 
CHAOS_API void GetInteriorCells (TArray< TVec3< int32 > > &InteriorCells, const FReal InteriorThreshold) const
 
virtual uint32 GetTypeHash () const override
 
CHAOS_API bool SweepGeom (const FSphere &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const TBox< FReal, 3 > &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const FCapsule &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const FConvex &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const TImplicitObjectScaled< FSphere > &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const TImplicitObjectScaled< TBox< FReal, 3 > > &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const TImplicitObjectScaled< FCapsule > &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
CHAOS_API bool SweepGeom (const TImplicitObjectScaled< FConvex > &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness=0, const bool bComputeMTD=false) const
 
template<typename QueryGeomType >
bool SweepGeomImp (const QueryGeomType &QueryGeom, const FRigidTransform3 &StartTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, const FReal Thickness, const bool bComputeMTD) const
 
CHAOS_API bool OverlapGeom (const FSphere &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const TBox< FReal, 3 > &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const FCapsule &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const FConvex &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const TImplicitObjectScaled< FSphere > &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const TImplicitObjectScaled< TBox< FReal, 3 > > &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const TImplicitObjectScaled< FCapsule > &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API bool OverlapGeom (const TImplicitObjectScaled< FConvex > &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
template<typename QueryGeomType >
bool OverlapGeomImp (const QueryGeomType &QueryGeom, const FRigidTransform3 &QueryTM, const FReal Thickness, FMTDInfo *OutMTD=nullptr) const
 
CHAOS_API FReal SignedDistance (const FVec3 &x) const
 
- Public Member Functions inherited from Chaos::FImplicitObject
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::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 PhiWithNormalScaled (const FVec3 &Pos, const FVec3 &Scale, FVec3 &Normal) 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 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 FORCEINLINE constexpr EImplicitObjectType StaticType ()
 
- Static Public Member Functions inherited from Chaos::FImplicitObject
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)
 

Additional Inherited Members

- Public Types inherited from Chaos::FImplicitObject
using TType = FReal
 
- Static Public Attributes inherited from Chaos::FImplicitObject
static constexpr int D = 3
 
- Protected Member Functions inherited from Chaos::FImplicitObject
void SetMargin (FReal InMargin)
 
void SetMargin (FRealSingle InMargin)
 
- Static Protected Member Functions inherited from Chaos::FImplicitObject
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 inherited from Chaos::FImplicitObject
FRealSingle Margin
 
bool bIsConvex
 
bool bDoCollide
 
bool bHasBoundingBox
 
bool bIsTracked
 
EImplicitObjectType Type
 
EImplicitObjectType CollisionType
 

Constructor & Destructor Documentation

◆ FLevelSet() [1/5]

Chaos::FLevelSet::FLevelSet ( FErrorReporter ErrorReporter,
const TUniformGrid< FReal, 3 > &  InGrid,
const FParticles InParticles,
const FTriangleMesh Mesh,
const int32  BandWidth = 0 
)

◆ FLevelSet() [2/5]

Chaos::FLevelSet::FLevelSet ( FErrorReporter ErrorReporter,
const TUniformGrid< FReal, 3 > &  InGrid,
const FImplicitObject InObject,
const int32  BandWidth = 0,
const bool  bUseObjectPhi = false 
)

◆ FLevelSet() [3/5]

Chaos::FLevelSet::FLevelSet ( TUniformGrid< FReal, 3 > &&  Grid,
TArrayND< FReal, 3 > &&  Phi,
int32  BandWidth 
)

◆ FLevelSet() [4/5]

Chaos::FLevelSet::FLevelSet ( const FLevelSet Other)
delete

◆ FLevelSet() [5/5]

Chaos::FLevelSet::FLevelSet ( FLevelSet &&  Other)

◆ ~FLevelSet()

Chaos::FLevelSet::~FLevelSet ( )
virtual

Member Function Documentation

◆ ApproximateNegativeMaterial()

FReal Chaos::FLevelSet::ApproximateNegativeMaterial ( ) const
inline

Estimate the volume bounded by the zero'th isocontour of the level set. BGTODO - We can generate a more accurate pre-calculated volume during generation as this method still under estimates the actual volume of the surface.

◆ BoundingBox()

virtual const FAABB3 Chaos::FLevelSet::BoundingBox ( ) const
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ CheckData()

bool Chaos::FLevelSet::CheckData ( FErrorReporter ErrorReporter,
const FParticles InParticles,
const FTriangleMesh Mesh,
const TArray< FVec3 > &  Normals 
)

◆ ComputeLevelSetError()

FReal Chaos::FLevelSet::ComputeLevelSetError ( const FParticles InParticles,
const TArray< FVec3 > &  Normals,
const FTriangleMesh Mesh,
FReal AngleError,
FReal MaxDistError 
)

◆ ComputeMassProperties()

bool Chaos::FLevelSet::ComputeMassProperties ( FReal OutVolume,
FVec3 OutCOM,
FMatrix33 OutInertia,
FRotation3 OutRotationOfMass 
) const

◆ CopyGeometry()

Chaos::FImplicitObjectPtr Chaos::FLevelSet::CopyGeometry ( ) const
overridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ CopyGeometryWithScale()

Chaos::FImplicitObjectPtr Chaos::FLevelSet::CopyGeometryWithScale ( const FVec3 Scale) const
overridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ GetGrid()

const TUniformGrid< FReal, 3 > & Chaos::FLevelSet::GetGrid ( ) const
inline

◆ GetInteriorCells()

void Chaos::FLevelSet::GetInteriorCells ( TArray< TVec3< int32 > > &  InteriorCells,
const FReal  InteriorThreshold 
) const

◆ GetNormalsArray()

const TArrayND< FVec3, 3 > & Chaos::FLevelSet::GetNormalsArray ( ) const
inline

◆ GetPhiArray()

const TArrayND< FReal, 3 > & Chaos::FLevelSet::GetPhiArray ( ) const
inline

◆ GetTypeHash()

virtual uint32 Chaos::FLevelSet::GetTypeHash ( ) const
inlineoverridevirtual

◆ GetZeroIsosurfaceGridCellFaces()

void Chaos::FLevelSet::GetZeroIsosurfaceGridCellFaces ( TArray< FVector3f > &  Vertices,
TArray< FIntVector > &  Tris 
) const

◆ OutputDebugData()

void Chaos::FLevelSet::OutputDebugData ( FErrorReporter ErrorReporter,
const FParticles InParticles,
const TArray< FVec3 > &  Normals,
const FTriangleMesh Mesh,
const FString  FileName 
)

◆ OverlapGeom() [1/8]

bool Chaos::FLevelSet::OverlapGeom ( const FCapsule QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [2/8]

bool Chaos::FLevelSet::OverlapGeom ( const FConvex QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [3/8]

bool Chaos::FLevelSet::OverlapGeom ( const FSphere QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [4/8]

bool Chaos::FLevelSet::OverlapGeom ( const TBox< FReal, 3 > &  QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [5/8]

bool Chaos::FLevelSet::OverlapGeom ( const TImplicitObjectScaled< FCapsule > &  QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [6/8]

bool Chaos::FLevelSet::OverlapGeom ( const TImplicitObjectScaled< FConvex > &  QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [7/8]

bool Chaos::FLevelSet::OverlapGeom ( const TImplicitObjectScaled< FSphere > &  QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeom() [8/8]

bool Chaos::FLevelSet::OverlapGeom ( const TImplicitObjectScaled< TBox< FReal, 3 > > &  QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ OverlapGeomImp()

template<typename QueryGeomType >
bool Chaos::FLevelSet::OverlapGeomImp ( const QueryGeomType QueryGeom,
const FRigidTransform3 QueryTM,
const FReal  Thickness,
FMTDInfo OutMTD = nullptr 
) const

◆ PhiWithNormal()

FReal Chaos::FLevelSet::PhiWithNormal ( const FVec3 x,
FVec3 Normal 
) const
overridevirtual

◆ Serialize() [1/2]

virtual void Chaos::FLevelSet::Serialize ( FArchive Ar)
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ Serialize() [2/2]

virtual void Chaos::FLevelSet::Serialize ( FChaosArchive Ar)
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ SerializeImp()

FORCEINLINE void Chaos::FLevelSet::SerializeImp ( FArchive Ar)
inline

◆ Shrink()

FORCEINLINE void Chaos::FLevelSet::Shrink ( const FReal  Value)
inline

◆ SignedDistance() [1/2]

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

◆ SignedDistance() [2/2]

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

◆ StaticType()

static FORCEINLINE constexpr EImplicitObjectType Chaos::FLevelSet::StaticType ( )
inlinestaticconstexpr

◆ SweepGeom() [1/8]

bool Chaos::FLevelSet::SweepGeom ( const FCapsule QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [2/8]

bool Chaos::FLevelSet::SweepGeom ( const FConvex QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [3/8]

bool Chaos::FLevelSet::SweepGeom ( const FSphere QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [4/8]

bool Chaos::FLevelSet::SweepGeom ( const TBox< FReal, 3 > &  QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [5/8]

bool Chaos::FLevelSet::SweepGeom ( const TImplicitObjectScaled< FCapsule > &  QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [6/8]

bool Chaos::FLevelSet::SweepGeom ( const TImplicitObjectScaled< FConvex > &  QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [7/8]

bool Chaos::FLevelSet::SweepGeom ( const TImplicitObjectScaled< FSphere > &  QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeom() [8/8]

bool Chaos::FLevelSet::SweepGeom ( const TImplicitObjectScaled< TBox< FReal, 3 > > &  QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness = 0,
const bool  bComputeMTD = false 
) const

◆ SweepGeomImp()

template<typename QueryGeomType >
bool Chaos::FLevelSet::SweepGeomImp ( const QueryGeomType QueryGeom,
const FRigidTransform3 StartTM,
const FVec3 Dir,
const FReal  Length,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex,
const FReal  Thickness,
const bool  bComputeMTD 
) const

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