UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryQueries.h File Reference
#include "Chaos/Box.h"
#include "Chaos/Capsule.h"
#include "Chaos/CastingUtilities.h"
#include "Chaos/Convex.h"
#include "Chaos/GJK.h"
#include "Chaos/HeightField.h"
#include "Chaos/ImplicitObject.h"
#include "Chaos/ImplicitObjectScaled.h"
#include "Chaos/ImplicitObjectUnion.h"
#include "Chaos/Levelset.h"
#include "Chaos/Plane.h"
#include "Chaos/Sphere.h"
#include "Chaos/Transform.h"
#include "Chaos/TriangleMeshImplicitObject.h"
#include "ChaosArchive.h"
#include <algorithm>
#include <utility>

Go to the source code of this file.

Classes

struct  Chaos::FMTDInfo
 

Namespaces

namespace  Chaos
 

Functions

template<typename QueryGeometry >
bool Chaos::OverlapQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const QueryGeometry &B, const FRigidTransform3 &BTM, const FReal Thickness=0, FMTDInfo *OutMTD=nullptr)
 
void Chaos::TransformSweepResultsToWorld (const bool bResult, const FReal Time, const bool bComputeMTD, const FImplicitObject &TestGeom, const FRigidTransform3 &TestGeomTM, const FVec3 &LocalDir, const FVec3 &LocalPosition, const FVec3 &LocalNormal, const int32 FaceIndex, FVec3 &OutWorldPosition, FVec3 &OutWorldNormal, FVec3 &OutWorldFaceNormal)
 
bool Chaos::SweepSphereVsSphere (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepSphereVsBox (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const TBox< FReal, 3 > &TestBox, const FRigidTransform3 &TestBoxTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepSphereVsCapsule (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepSphereVsConvex (const FSphere &SweptSphere, const FRigidTransform3 &SweptSphereTM, const FImplicitObject &TestObject, const FRigidTransform3 &TestObjectTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepBoxVsSphere (const TBox< FReal, 3 > &SweptBox, const FRigidTransform3 &SweptBoxTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepBoxVsCapsule (const TBox< FReal, 3 > &SweptBox, const FRigidTransform3 &SweptBoxTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepCapsuleVsSphere (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FSphere &TestSphere, const FRigidTransform3 &TestSphereTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepCapsuleVsBox (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const TBox< FReal, 3 > &TestBox, const FRigidTransform3 &TestBoxTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepCapsuleVsCapsule (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FCapsule &TestCapsule, const FRigidTransform3 &TestCapsuleTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
bool Chaos::SweepCapsuleVsConvex (const FCapsule &SweptCapsule, const FRigidTransform3 &SweptCapsuleTM, const FImplicitObject &TestObject, const FRigidTransform3 &TestObjectTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
template<EImplicitObjectType SweptType>
UE_INTERNAL bool Chaos::TryRunSpecializedSweep (const FImplicitObject &SweptShape, const FRigidTransform3 &SweptShapeTM, const FImplicitObject &TestGeom, const FRigidTransform3 &TestGeomTM, const FVec3 &SweepDir, const FReal Length, const FReal Thickness, const bool bComputeMTD, bool &bOutResult, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal)
 
template<typename SweptGeometry >
bool Chaos::SweepQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const SweptGeometry &B, const FRigidTransform3 &BTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal, const FReal Thickness, const bool bComputeMTD)
 
bool Chaos::SweepQuery (const FImplicitObject &A, const FRigidTransform3 &ATM, const FImplicitObject &B, const FRigidTransform3 &BTM, const FVec3 &Dir, const FReal Length, FReal &OutTime, FVec3 &OutPosition, FVec3 &OutNormal, int32 &OutFaceIndex, FVec3 &OutFaceNormal, const FReal Thickness, const bool bComputeMTD)