UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VectorUtil.h File Reference
#include "MathUtil.h"
#include "VectorTypes.h"
#include "Math/Transform.h"

Go to the source code of this file.

Namespaces

namespace  UE
 
namespace  UE::Geometry
 
namespace  UE::Geometry::VectorUtil
 

Enumerations

enum class  EIntersectionResult { NotComputed , Intersects , NoIntersection , InvalidQuery }
 
enum class  EIntersectionType {
  Empty , Point , Segment , Line ,
  Polygon , Plane , MultiSegment , Unknown
}
 

Functions

template<typename RealType >
bool UE::Geometry::VectorUtil::IsFinite (const TVector2< RealType > &V)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::IsFinite (const TVector< RealType > &V)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::Clamp (RealType Value, RealType MinValue, RealType MaxValue)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::Normal (const TVector< RealType > &V0, const TVector< RealType > &V1, const TVector< RealType > &V2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::NormalDirection (const TVector< RealType > &V0, const TVector< RealType > &V1, const TVector< RealType > &V2)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::Area (const TVector< RealType > &V0, const TVector< RealType > &V1, const TVector< RealType > &V2)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::Area (const TVector2< RealType > &V0, const TVector2< RealType > &V1, const TVector2< RealType > &V2)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::SignedArea (const TVector2< RealType > &V0, const TVector2< RealType > &V1, const TVector2< RealType > &V2)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::IsObtuse (const TVector< RealType > &V1, const TVector< RealType > &V2, const TVector< RealType > &V3)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::NormalArea (const TVector< RealType > &V0, const TVector< RealType > &V1, const TVector< RealType > &V2, RealType &AreaOut)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::EpsilonEqual (RealType A, RealType B, RealType Epsilon)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::EpsilonEqual (const TVector2< RealType > &V0, const TVector2< RealType > &V1, RealType Epsilon)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::EpsilonEqual (const TVector< RealType > &V0, const TVector< RealType > &V1, RealType Epsilon)
 
template<typename RealType >
bool UE::Geometry::VectorUtil::EpsilonEqual (const TVector4< RealType > &V0, const TVector4< RealType > &V1, RealType Epsilon)
 
template<typename ValueVecType >
int UE::Geometry::VectorUtil::Min3Index (const ValueVecType &Vector3)
 
template<typename ValueVecType >
int UE::Geometry::VectorUtil::Max3Index (const ValueVecType &Vector3)
 
template<typename RealType >
void UE::Geometry::VectorUtil::MakePerpVectors (const TVector< RealType > &Normal, TVector< RealType > &OutPerp1, TVector< RealType > &OutPerp2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::MakePerpVector (const TVector< RealType > &Normal)
 
template<typename RealType >
void UE::Geometry::VectorUtil::MakePerpVector (const TVector< RealType > &Normal, TVector< RealType > &OutPerp1)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::PlaneAngleSignedD (const TVector< RealType > &VFrom, const TVector< RealType > &VTo, const TVector< RealType > &PlaneN)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::PlaneAngleSignedR (const TVector< RealType > &VFrom, const TVector< RealType > &VTo, const TVector< RealType > &PlaneN)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::VectorTanHalfAngle (const TVector< RealType > &A, const TVector< RealType > &B)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::VectorTanHalfAngle (const TVector2< RealType > &A, const TVector2< RealType > &B)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::VectorCot (const TVector< RealType > &V1, const TVector< RealType > &V2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::BarycentricCoords (const TVector< RealType > &Point, const TVector< RealType > &V0, const TVector< RealType > &V1, const TVector< RealType > &V2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::BarycentricCoords (const TVector2< RealType > &Point, const TVector2< RealType > &V0, const TVector2< RealType > &V1, const TVector2< RealType > &V2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::UniformSampleTriangleBarycentricCoords (RealType R1, RealType R2)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::UniformSampleTrianglePoint (RealType R1, RealType R2, const TVector< RealType > &A, const TVector< RealType > &B, const TVector< RealType > &C)
 
template<typename RealType >
TVector2< RealType > UE::Geometry::VectorUtil::UniformSampleTrianglePoint (RealType R1, RealType R2, const TVector2< RealType > &A, const TVector2< RealType > &B, const TVector2< RealType > &C)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::TriSolidAngle (TVector< RealType > A, TVector< RealType > B, TVector< RealType > C, const TVector< RealType > &P)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::TriGradient (TVector< RealType > Vi, TVector< RealType > Vj, TVector< RealType > Vk, RealType fi, RealType fj, RealType fk)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::OpeningAngleD (TVector< RealType > A, TVector< RealType > B, const TVector< RealType > &P)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::OrientedDihedralAngle (const TVector< RealType > &Normal0, const TVector< RealType > &Normal1, const TVector< RealType > &Edge)
 
template<typename RealType >
TVector2< RealType > UE::Geometry::VectorUtil::Circumcenter (TVector2< RealType > A, TVector2< RealType > B, const TVector2< RealType > &C, RealType Epsilon=TMathUtilConstants< RealType >::Epsilon)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::TriangleRegularity (const TVector< RealType > &A, const TVector< RealType > &B, const TVector< RealType > &C)
 
template<typename RealType >
RealType UE::Geometry::VectorUtil::BitangentSign (const TVector< RealType > &NormalIn, const TVector< RealType > &TangentIn, const TVector< RealType > &BitangentIn)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::Bitangent (const TVector< RealType > &NormalIn, const TVector< RealType > &TangentIn, RealType BitangentSign)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::TangentFromBitangent (const TVector< RealType > &NormalIn, const TVector< RealType > &BitangentIn)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::BitangentFromTangent (const TVector< RealType > &NormalIn, const TVector< RealType > &TangentIn)
 
double UE::Geometry::VectorUtil::AspectRatio (const FVector3d &v1, const FVector3d &v2, const FVector3d &v3)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::TransformNormal (const TTransform< RealType > &Transform, const TVector< RealType > &Normal)
 
template<typename RealType >
TVector< RealType > UE::Geometry::VectorUtil::InverseTransformNormal (const TTransform< RealType > &Transform, const TVector< RealType > &Normal)
 
template<typename RealType >
RealType UE::Geometry::SnapToIncrement (RealType Value, RealType Increment, RealType Offset=0)
 

Enumeration Type Documentation

◆ EIntersectionResult

enum class EIntersectionResult
strong
Enumerator
NotComputed 
Intersects 
NoIntersection 
InvalidQuery 

◆ EIntersectionType

enum class EIntersectionType
strong
Enumerator
Empty 
Point 
Segment 
Line 
Polygon 
Plane 
MultiSegment 
Unknown