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

#include <Tetrahedron.h>

Public Member Functions

 TTetrahedron ()
 
 TTetrahedron (const TVec3< T > &In1, const TVec3< T > &In2, const TVec3< T > &In3, const TVec3< T > &In4)
 
FORCEINLINE TVec3< T > & operator[] (uint32 InIndex)
 
FORCEINLINE const TVec3< T > & operator[] (uint32 InIndex) const
 
void Invert ()
 
TVec3< T > GetCenter () const
 
bool HasBoundingBox () const
 
TAABB< T, 3 > BoundingBox () const
 
TAABB< T, 3 > GetBoundingBox () const
 
GetMinEdgeLengthSquared () const
 
GetMinEdgeLength () const
 
GetMaxEdgeLengthSquared () const
 
GetMaxEdgeLength () const
 
GetVolume () const
 
GetSignedVolume () const
 
GetMinimumAltitude (int32 *MinAltitudeVertex=nullptr) const
 
GetAspectRatio () const
 
TVec3< T > GetFirstThreeBarycentricCoordinates (const TVec3< T > &Location) const
 
TVec4< T > GetBarycentricCoordinates (const TVec3< T > &Location) const
 
TVec3< T > GetPointFromBarycentricCoordinates (const TVec3< T > &Weights) const
 
TVec3< T > GetPointFromBarycentricCoordinates (const TVec4< T > &Weights) const
 
bool BarycentricInside (const TVec3< T > &Location, const T Tolerance=0) const
 
FString ToString () const
 
TArray< TTriangle< T > > GetTriangles () const
 Initialize outward facing triangles, regardless of the orientation of the tetrahedron.
 
bool Inside (const TVec3< T > &Location, const T HalfThickness=0) const
 
bool Outside (const TVec3< T > &Location, const T HalfThickness=0) const
 
bool RobustInside (const TVec3< T > &Location, const T Tolerance=0) const
 Tolerance should be a small negative number to include boundary.
 
TVec3< T > ProjectToSurface (const TArray< TTriangle< T > > &Tris, const TVec3< T > &Location) const
 
TVec3< T > FindClosestPointAndBary (const TVec3< T > &Location, TVec4< T > &OutBary, const T Tolerance=0) const
 

Static Public Member Functions

static bool Inside (const TArray< TTriangle< T > > &Tris, const TVec3< T > &Location, const T HalfThickness=0)
 
static bool Outside (const TArray< TTriangle< T > > &Tris, const TVec3< T > &Location, const T HalfThickness=0)
 

Friends

FChaosArchiveoperator<< (FChaosArchive &Ar, TTetrahedron)
 

Constructor & Destructor Documentation

◆ TTetrahedron() [1/2]

template<typename T >
Chaos::TTetrahedron< T >::TTetrahedron ( )
inline

◆ TTetrahedron() [2/2]

template<typename T >
Chaos::TTetrahedron< T >::TTetrahedron ( const TVec3< T > &  In1,
const TVec3< T > &  In2,
const TVec3< T > &  In3,
const TVec3< T > &  In4 
)
inline

Member Function Documentation

◆ BarycentricInside()

template<typename T >
bool Chaos::TTetrahedron< T >::BarycentricInside ( const TVec3< T > &  Location,
const T  Tolerance = 0 
) const
inline

◆ BoundingBox()

template<typename T >
TAABB< T, 3 > Chaos::TTetrahedron< T >::BoundingBox ( ) const
inline

◆ FindClosestPointAndBary()

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::FindClosestPointAndBary ( const TVec3< T > &  Location,
TVec4< T > &  OutBary,
const T  Tolerance = 0 
) const
inline

◆ GetAspectRatio()

template<typename T >
T Chaos::TTetrahedron< T >::GetAspectRatio ( ) const
inline

◆ GetBarycentricCoordinates()

template<typename T >
TVec4< T > Chaos::TTetrahedron< T >::GetBarycentricCoordinates ( const TVec3< T > &  Location) const
inline

◆ GetBoundingBox()

template<typename T >
TAABB< T, 3 > Chaos::TTetrahedron< T >::GetBoundingBox ( ) const
inline

◆ GetCenter()

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::GetCenter ( ) const
inline

◆ GetFirstThreeBarycentricCoordinates()

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::GetFirstThreeBarycentricCoordinates ( const TVec3< T > &  Location) const
inline

◆ GetMaxEdgeLength()

template<typename T >
T Chaos::TTetrahedron< T >::GetMaxEdgeLength ( ) const
inline

◆ GetMaxEdgeLengthSquared()

template<typename T >
T Chaos::TTetrahedron< T >::GetMaxEdgeLengthSquared ( ) const
inline

◆ GetMinEdgeLength()

template<typename T >
T Chaos::TTetrahedron< T >::GetMinEdgeLength ( ) const
inline

◆ GetMinEdgeLengthSquared()

template<typename T >
T Chaos::TTetrahedron< T >::GetMinEdgeLengthSquared ( ) const
inline

◆ GetMinimumAltitude()

template<typename T >
T Chaos::TTetrahedron< T >::GetMinimumAltitude ( int32 MinAltitudeVertex = nullptr) const
inline

◆ GetPointFromBarycentricCoordinates() [1/2]

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::GetPointFromBarycentricCoordinates ( const TVec3< T > &  Weights) const
inline

◆ GetPointFromBarycentricCoordinates() [2/2]

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::GetPointFromBarycentricCoordinates ( const TVec4< T > &  Weights) const
inline

◆ GetSignedVolume()

template<typename T >
T Chaos::TTetrahedron< T >::GetSignedVolume ( ) const
inline

◆ GetTriangles()

template<typename T >
TArray< TTriangle< T > > Chaos::TTetrahedron< T >::GetTriangles ( ) const
inline

Initialize outward facing triangles, regardless of the orientation of the tetrahedron.

◆ GetVolume()

template<typename T >
T Chaos::TTetrahedron< T >::GetVolume ( ) const
inline

◆ HasBoundingBox()

template<typename T >
bool Chaos::TTetrahedron< T >::HasBoundingBox ( ) const
inline

◆ Inside() [1/2]

template<typename T >
static bool Chaos::TTetrahedron< T >::Inside ( const TArray< TTriangle< T > > &  Tris,
const TVec3< T > &  Location,
const T  HalfThickness = 0 
)
inlinestatic

◆ Inside() [2/2]

template<typename T >
bool Chaos::TTetrahedron< T >::Inside ( const TVec3< T > &  Location,
const T  HalfThickness = 0 
) const
inline

◆ Invert()

template<typename T >
void Chaos::TTetrahedron< T >::Invert ( )
inline

◆ operator[]() [1/2]

template<typename T >
FORCEINLINE TVec3< T > & Chaos::TTetrahedron< T >::operator[] ( uint32  InIndex)
inline

◆ operator[]() [2/2]

template<typename T >
FORCEINLINE const TVec3< T > & Chaos::TTetrahedron< T >::operator[] ( uint32  InIndex) const
inline

◆ Outside() [1/2]

template<typename T >
static bool Chaos::TTetrahedron< T >::Outside ( const TArray< TTriangle< T > > &  Tris,
const TVec3< T > &  Location,
const T  HalfThickness = 0 
)
inlinestatic

◆ Outside() [2/2]

template<typename T >
bool Chaos::TTetrahedron< T >::Outside ( const TVec3< T > &  Location,
const T  HalfThickness = 0 
) const
inline

◆ ProjectToSurface()

template<typename T >
TVec3< T > Chaos::TTetrahedron< T >::ProjectToSurface ( const TArray< TTriangle< T > > &  Tris,
const TVec3< T > &  Location 
) const
inline

◆ RobustInside()

template<typename T >
bool Chaos::TTetrahedron< T >::RobustInside ( const TVec3< T > &  Location,
const T  Tolerance = 0 
) const
inline

Tolerance should be a small negative number to include boundary.

◆ ToString()

template<typename T >
FString Chaos::TTetrahedron< T >::ToString ( ) const
inline

Friends And Related Symbol Documentation

◆ operator<<

template<typename T >
FChaosArchive & operator<< ( FChaosArchive Ar,
TTetrahedron< T >   
)
friend

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