UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TPlane< T, d > Class Template Reference

#include <Plane.h>

+ Inheritance diagram for Chaos::TPlane< T, d >:

Public Member Functions

 TPlane ()
 
 TPlane (const TVector< T, d > &InX, const TVector< T, d > &InNormal)
 
 TPlane (const TPlane< T, d > &Other)
 
 TPlane (TPlane< T, d > &&Other)
 
virtual ~TPlane ()
 
virtual FReal GetRadius () const override
 
SignedDistance (const TVector< T, d > &x) const
 
virtual FReal PhiWithNormal (const FVec3 &x, FVec3 &Normal) const override
 
TVector< T, d > FindClosestPoint (const TVector< T, d > &x, const T Thickness=(T) 0) 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 override
 
virtual Pair< FVec3, boolFindClosestIntersectionImp (const FVec3 &StartPoint, const FVec3 &EndPoint, const FReal Thickness) const override
 
const TVector< T, d > & X () const
 
const TVector< T, d > & Normal () const
 
const TVector< T, d > & Normal (const TVector< T, d > &) const
 
FORCEINLINE void SerializeImp (FArchive &Ar)
 
virtual void Serialize (FChaosArchive &Ar) override
 
virtual void Serialize (FArchive &Ar) override
 
virtual uint32 GetTypeHash () const override
 
const TPlaneConcrete< T > & PlaneConcrete () const
 
virtual FName GetTypeName () 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 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 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 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 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 constexpr EImplicitObjectType StaticType ()
 
static CHAOS_API const FName GetTypeName (const EImplicitObjectType InType)
 
- 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

◆ TPlane() [1/4]

template<class T , int d>
Chaos::TPlane< T, d >::TPlane ( )
inline

◆ TPlane() [2/4]

template<class T , int d>
Chaos::TPlane< T, d >::TPlane ( const TVector< T, d > &  InX,
const TVector< T, d > &  InNormal 
)
inline

◆ TPlane() [3/4]

template<class T , int d>
Chaos::TPlane< T, d >::TPlane ( const TPlane< T, d > &  Other)
inline

◆ TPlane() [4/4]

template<class T , int d>
Chaos::TPlane< T, d >::TPlane ( TPlane< T, d > &&  Other)
inline

◆ ~TPlane()

template<class T , int d>
virtual Chaos::TPlane< T, d >::~TPlane ( )
inlinevirtual

Member Function Documentation

◆ FindClosestIntersectionImp()

template<class T , int d>
virtual Pair< FVec3, bool > Chaos::TPlane< T, d >::FindClosestIntersectionImp ( const FVec3 StartPoint,
const FVec3 EndPoint,
const FReal  Thickness 
) const
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ FindClosestPoint()

template<class T , int d>
TVector< T, d > Chaos::TPlane< T, d >::FindClosestPoint ( const TVector< T, d > &  x,
const T  Thickness = (T)0 
) const
inline

◆ GetRadius()

template<class T , int d>
virtual FReal Chaos::TPlane< T, d >::GetRadius ( ) const
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ GetTypeHash()

template<class T , int d>
virtual uint32 Chaos::TPlane< T, d >::GetTypeHash ( ) const
inlineoverridevirtual

◆ GetTypeName() [1/2]

template<class T , int d>
virtual FName Chaos::FImplicitObject::GetTypeName ( ) const
inlinevirtual

Reimplemented from Chaos::FImplicitObject.

◆ GetTypeName() [2/2]

template<class T , int d>
const FName Chaos::FImplicitObject::GetTypeName ( const EImplicitObjectType  InType)
static

◆ Normal() [1/2]

template<class T , int d>
const TVector< T, d > & Chaos::TPlane< T, d >::Normal ( ) const
inline

◆ Normal() [2/2]

template<class T , int d>
const TVector< T, d > & Chaos::TPlane< T, d >::Normal ( const TVector< T, d > &  ) const
inline

◆ PhiWithNormal()

template<class T , int d>
virtual FReal Chaos::TPlane< T, d >::PhiWithNormal ( const FVec3 x,
FVec3 Normal 
) const
inlineoverridevirtual

Phi is positive on the side of the normal, and negative otherwise.

Implements Chaos::FImplicitObject.

◆ PlaneConcrete()

template<class T , int d>
const TPlaneConcrete< T > & Chaos::TPlane< T, d >::PlaneConcrete ( ) const
inline

◆ Raycast()

template<class T , int d>
virtual bool Chaos::TPlane< T, d >::Raycast ( const FVec3 StartPoint,
const FVec3 Dir,
const FReal  Length,
const FReal  Thickness,
FReal OutTime,
FVec3 OutPosition,
FVec3 OutNormal,
int32 OutFaceIndex 
) const
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ Serialize() [1/2]

template<class T , int d>
virtual void Chaos::TPlane< T, d >::Serialize ( FArchive Ar)
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ Serialize() [2/2]

template<class T , int d>
virtual void Chaos::TPlane< T, d >::Serialize ( FChaosArchive Ar)
inlineoverridevirtual

Reimplemented from Chaos::FImplicitObject.

◆ SerializeImp()

template<class T , int d>
FORCEINLINE void Chaos::TPlane< T, d >::SerializeImp ( FArchive Ar)
inline

◆ SignedDistance()

template<class T , int d>
T Chaos::TPlane< T, d >::SignedDistance ( const TVector< T, d > &  x) const
inline

Phi is positive on the side of the normal, and negative otherwise.

◆ StaticType()

template<class T , int d>
static constexpr EImplicitObjectType Chaos::TPlane< T, d >::StaticType ( )
inlinestaticconstexpr

◆ X()

template<class T , int d>
const TVector< T, d > & Chaos::TPlane< T, d >::X ( ) const
inline

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