Math

Classes

Name

Description

Public struct

AlignedDouble4

Helper for conveniently aligning a double array for extraction from VectorRegister4Double.

Public struct

AlignedFloat4

Helper for conveniently aligning a float array for extraction from VectorRegister4Float.

Public struct

ConcatenateRules

Provides default rules defining the result of concatenating two types.

Public class

FBasicMathExpressionEvaluator

A basic math expression evaluator

Public class

FBoxCenterAndExtent

An unquantized bounding box.

Public struct

FColor

FColor Stores a color with 8 bits of precision per channel.

Public class

FColorList

Public class

FCurveEdInterface

Interface that allows the CurveEditor to edit this type of object.

Public struct

FDateRange

Public struct

FDateRangeBound

Public struct

FDecryptedSignature

Public struct

FDoubleInterval

Public struct

FDoubleRange

Public struct

FDoubleRangeBound

Public struct

FDXT1

Structure encompassing single DXT1 block.

Public struct

FDXT5

Structure encompassing single DXT5 block

Public struct

FDXTColor16

Helper struct for a 16 bit 565 color of a DXT1/3/5 block.

Public struct

FDXTColor565

Helper struct for a 16 bit 565 color of a DXT1/3/5 block.

Public struct

FEdge

Implements an edge consisting of two vertices.

Public struct

FEncryptedSignature

Public class

FFixedRGBASigned8

4 component vector corresponding to PF_R8G8B8A8_SNORM.

Public class

FFloat16

16 bit float components and conversion

Public class

FFloat16Color

RGBA Color made up of FFloat16

Public class

FFloat32

32 bit float components

Public class

FFloat3Packed

3 component vector corresponding to DXGI_FORMAT_R11G11B10_FLOAT.

Public class

FFloat3PackedSE

3 component vector corresponding to PF_R9G9B9EXP5.

Public class

FFloatInfo_IEEE32

Public struct

FFloatInterval

Public struct

FFloatRange

Public struct

FFloatRangeBound

Public struct

FForwardSlash

Public struct

FForwardSlashEquals

Public struct

FFrameNumberRange

Public struct

FFrameNumberRangeBound

Public struct

FInt16Range

Public struct

FInt16RangeBound

Public struct

FInt32Interval

Public struct

FInt32Range

Public struct

FInt32RangeBound

Public struct

FInt64Range

Public struct

FInt64RangeBound

Public struct

FInt8Range

Public struct

FInt8RangeBound

Public class

FInterpCurve

Template for interpolation curves.

Public struct

FInterpCurveFloat

Public struct

FInterpCurveLinearColor

Public class

FInterpCurvePoint

Template for interpolation points.

Public struct

FInterpCurveQuat

Public struct

FInterpCurveTwoVectors

Public struct

FInterpCurveVector

Public struct

FInterpCurveVector2D

Public struct

FLinearColor

A linear, 32-bit/component floating point RGBA color.

Public struct

FMath

Structure for all math helper functions, inherits from platform math to pick up platform-specific implementations Check GenericPlatformMath.h for additional math functions

Public struct

FMinus

Public struct

FMinusEquals

Public class

FMovingWindowAverageFast

Copyright Epic Games, Inc. All Rights Reserved.

Public struct

FNumericUnit

FNumericUnit is a numeric type that wraps the templated type, whilst a specified unit.

Public class

FOctreeChildNodeRef

A reference to a child of an octree node.

Public class

FOctreeChildNodeSubset

A subset of an octree node's children that intersect a bounding box.

Public class

FOctreeElementId

An identifier for an element in the octree.

Public class

FOctreeElementId2

An identifier for an element in the octree.

Public class

FOctreeNodeContext

The context of an octree node, derived from the traversal of the tree.

Public struct

FOrientedBox

Structure for arbitrarily oriented boxes (not necessarily axis-aligned).

Public struct

FPercent

Public struct

FPlus

Public struct

FPlusEquals

Public struct

FPower

Public struct

FQuantizationInfo

Structure used to define the factor required to get from one unit type to the next.

Public struct

FRandomStream

Implements a thread-safe SRand based RNG.

Public struct

FSignatureBase

Public class

FSobol

Support for Sobol quasi-random numbers

Public struct

FSquareRoot

Public struct

FStar

Public struct

FStarEquals

Public struct

FStatisticalValue

Used to measure a distribution.

Public struct

FSubExpressionEnd

Public struct

FSubExpressionStart

Public struct

FTwoVectors

A pair of 3D vectors.

Public class

FUInt128

Public struct

FUnitConversion

Public class

FUnitSettings

Unit settings accessed globally through FUnitConversion::Settings()

Public struct

FVector2DHalf

Structure for two dimensional vectors with half floating point precision.

Public struct

TBasisVectorMatrix

Public class

TBigInt

N-bit integer.

Public struct

TBounds

Public struct

TBox

Public struct

TBox2

Public struct

TBoxConstInit

Public struct

TBoxSphereBounds

Public struct

TCapsuleShape

Public struct

TClipProjectionMatrix

Realigns the near plane for an existing projection matrix with an arbitrary clip plane from: http://sourceforge.net/mailarchive/message.php?msg_id=000901c26324%242181ea90%24a1e93942%40firefly Updated for the fact that our FPlane uses Ax+By+Cz=D.

Public struct

TCustomLerp

Template helper for FMath::Lerp<>() and related functions.

Public struct

TDualQuat

Public struct

TEncryptionKey

Encryption key - exponent and modulus pair

Public class

TFloatPacker

Public struct

TInterval

Template for numeric interval

Public struct

TIntervalTraits

Type traits for Arithmetic interval.

Public struct

TIntPoint

Structure for integer points in 2-d space.

Public struct

TIntRect

Structure for integer rectangles in 2-d space.

Public struct

TIntVector2

Public struct

TIntVector3

Structure for integer vectors in 3-d space.

Public struct

TIntVector4

Public struct

TInverseRotationMatrix

Inverse Rotation matrix

Public struct

TIsPODType

Traits class which tests if a type is POD.

Public struct

TIsTransform2

Public struct

TLookAtMatrix

Public struct

TLookFromMatrix

Public struct

TMatrix

Public class

TMatrix2x2

Transform calculus for 2D types.

Public struct

TMirrorMatrix

Mirrors a point about an arbitrary plane

Public struct

TNumericLimits

Numeric type traits Helper class to map a numeric type to its limits

Public class

TOctree_DEPRECATED

An octree.

Public class

TOctree2

An octree.

Public struct

TOrthoMatrix

Public struct

TPerspectiveMatrix

Public struct

TPlane

Public struct

TQuat

Floating point quaternion that can represent a rotation about an axis in 3-D space.

Public class

TQuat2

Represents a 2D rotation as a complex number (analagous to quaternions).

Public struct

TQuatRotationMatrix

Rotation matrix using quaternion rotation

Public struct

TQuatRotationTranslationMatrix

Rotation and translation matrix using quaternion rotation

Public class

TRange

Template for ranges.

Public class

TRangeBound

Template for range bounds.

Public class

TRangeSet

Template for range sets.

Public struct

TransformConverter

Transform calculus.

Public struct

TRay

Public struct

TReversedZOrthoMatrix

Public struct

TReversedZPerspectiveMatrix

Public struct

TRotationAboutPointMatrix

Rotates about an Origin point.

Public struct

TRotationMatrix

Rotation matrix no translation

Public struct

TRotationTranslationMatrix

Combined rotation and translation matrix

Public struct

TRotator

Implements a container for rotation information.

Public class

TScale

Transform calculus for 3D types.

Public class

TScale2

Represents a 2D non-uniform scale (to disambiguate from an FVector2D, which is used for translation)

Public struct

TScaleMatrix

Scale matrix.

Public struct

TScaleRotationTranslationMatrix

Combined Scale rotation and translation matrix

Public class

TShear2

Represents a 2D shear: [1 YY] [XX 1] XX represents a shear parallel to the X axis.

Public class

TSHVector

A vector of spherical harmonic coefficients.

Public class

TSHVectorRGB

A vector of colored spherical harmonic coefficients.

Public struct

TSphere

Public struct

TTransform

Public class

TTransform2

Support for generalized 2D affine transforms.

Public struct

TTranslationMatrix

Public struct

TUnrealPlatformMathSSE4Base

Public struct

TUnrealPlatformMathSSEBase

Public class

TValueOrError

Type used to return either a value or an error.

Public struct

TVector

Forward declaration of templates.

Public struct

TVector2

Public struct

TVector4

A 4D homogeneous vector, 4x1 FLOATs, 16-byte aligned.

Public struct

TVectorConstInit

Public struct

VectorRegister2Double

Public struct

VectorRegister4Double

Double[4] vector register type, where the first double (X) is stored in the lowest 64 bits, and so on.

Public struct

VectorRegister4Float

Float4 vector register type, where the first float (X) is stored in the lowest 32 bits, and so on.

Public struct

VectorRegister4Int

Int32[4] vector register type, where the first int32 (X) is stored in the lowest 32 bits, and so on.

Public struct

VectorRegisterConstInit

Platform specific vector intrinsics include.

Constants

Enums

Name

Description

Public enum

EAxis::Type

Generic axis enum (mirrored for property use in Object.h)

Public enum

EAxisList::Type

Extended axis enum for more specialized usage.

Public enum

ERangeBoundTypes::Type

Enumerates the valid types of range bounds.

Functions

Name Description

Public function

bool

 

ConvexHull2D::ComparePoints

(
    const FVector& A,
    const FVector& B
)

Returns true if 'a' is more lower-left than 'b'.

Public function

*Scan so...

 

ConvexHull2D::ComputeConvexHull

(
    const TArray< VectorType, Allocator...,
    TArray< int32, Allocator >& OutInd...
)

Public function

void

 

ConvexHull2D::ComputeConvexHullLegacy

(
    const TArray< FVector, Allocator > ...,
    TArray< int32, Allocator >& OutInd...
)

Calculates convex hull on xy-plane of points on 'Points' and stores the indices of the resulting hull in 'OutIndices'.

Public function

void

 

ConvexHull2D::ComputeConvexHullLegacy2

(
    const TArray< FVector2D, Allocator ...,
    TArray< int32, Allocator >& OutInd...
)

Alternate simple implementation that was found to work correctly for points that are very close together (inside the 0-1 range).

Public function

FVector::FRe...

 

ConvexHull2D::ComputeDeterminant

(
    const FVector& A,
    const FVector& B,
    const FVector& C
)

Returns <0 if C is left of A-B

Public function

FVector2D::F...

 

ConvexHull2D::ComputeDeterminant2D

(
    const FVector2D& A,
    const FVector2D& B,
    const FVector2D& C
)

Returns <0 if C is left of A-B

Public function

*Scan so...

 

ConvexHull2D::O

(
    N log H
)

Public function

*Scan so...

 

ConvexHull2D::O

(
    N
)

Andrew's monotone chain convex hull algorithm for 2-dimensional points.

Public function

TOptional< F...

 

ExpressionParser::ConsumeSymbol

(
    FExpressionTokenConsumer& Consumer
)

Consume a symbol from the specified consumer's stream, if one exists at the current read position

Public function Static

IntType

 

FEncryption::CalculateGCD

(
    IntType ValueA,
    IntType ValueB
)

Greatest common divisor of ValueA and ValueB.

Public function Static

IntType

 

FEncryption::CalculateMultiplicativeInverseOfExponent

(
    IntType Exponent,
    IntType Totient
)

Multiplicative inverse of exponent using extended GCD algorithm.

Public function Static

void

 

FEncryption::DecryptBytes

(
    uint8* DecryptedData,
    const IntType* Data,
    const int64 DataLength,
    const FEncryptionKey& DecryptionKe...
)

Decrypts a stream of bytes

Public function Static

void

 

FEncryption::DecryptSignature

(
    const FEncryptedSignature& InEncry...,
    FDecryptedSignature& OutUnencrypte...,
    const FEncryptionKey& EncryptionKe...
)

Public function Static

void

 

FEncryption::EncryptBytes

(
    IntType* EncryptedData,
    const uint8* Data,
    const int64 DataLength,
    const FEncryptionKey& EncryptionKe...
)

Encrypts a stream of bytes

Public function Static

void

 

FEncryption::EncryptSignature

(
    const FDecryptedSignature& InUnenc...,
    FEncryptedSignature& OutEncryptedS...,
    const FEncryptionKey& EncryptionKe...
)

Public function Static

void

 

FEncryption::GenerateKeyPair

(
    const IntType& P,
    const IntType& Q,
    FEncryptionKey& PublicKey,
    FEncryptionKey& PrivateKey
)

Generate Key Pair for encryption and decryption.

Public function Static

IntType

 

FEncryption::ModularPow

(
    IntType Base,
    IntType Exponent,
    IntType Modulus
)

Raise Base to power of Exponent in mod Modulus.

Public function

VectorRegist...

 

GlobalVectorConstants::AllMask()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleAllMask()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleAlmostTwo()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleInfinity()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleSignBit()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleSignMask()

Public function

VectorRegist...

 

GlobalVectorConstants::DoubleXYZMask()

Public function

VectorRegist...

 

GlobalVectorConstants::FloatAlmostTwo()

Public function

VectorRegist...

 

GlobalVectorConstants::FloatInfinity()

Vector full of positive infinity

Public function

VectorRegist...

 

GlobalVectorConstants::SignBit()

Bitmask to AND out the sign bit of each components in a vector

Public function

VectorRegist...

 

GlobalVectorConstants::SignMask()

Public function

VectorRegist...

 

GlobalVectorConstants::XYZMask()

Bitmask to AND out the XYZ components in a vector

Public function

TArray< TDes...

 

UE::LWC::ConvertArrayType

(
    const TArray< TSrc, InAllocatorType...
)

Convert array to a new type.

Public function

TArray< TDes...

 

UE::LWC::ConvertArrayTypeClampMax

(
    const TArray< TSrc, InAllocatorType...
)

Convert array to a new type and clamps values to the Max of TDest type.

Public function

int64

 

UE::LWC::FloatToIntCastChecked

(
    double FloatValue
)

Double->int64

Public function

OutIntType

 

UE::LWC::FloatToIntCastChecked

(
    InFloatType FloatValue
)

Generic float type to int type, to enable specializations below.

Public function

int32

 

UE::LWC::FloatToIntCastChecked

(
    float FloatValue
)

Float->int32

Public function

int64

 

UE::LWC::FloatToIntCastChecked

(
    float FloatValue
)

Float->int64

Public function

int32

 

UE::LWC::FloatToIntCastChecked

(
    double FloatValue
)

Double->int32

Public function

FVector3f

 

UE::LWC::NarrowWorldPositionChecked

(
    const FVector& WorldPosition
)

Validated narrowing cast for world positions. FVector -> FVector3f.

Public function

FVector3f

 

UE::LWC::NarrowWorldPositionChecked

(
    const FVector::FReal InX,
    const FVector::FReal InY,
    const FVector::FReal InZ
)

Validated narrowing cast for world positions. FVector -> FVector3f.

Public function

UE::Math::TV...

 

UE::Math::Concatenate

(
    const UE::Math::TVector2< T >& LHS,
    const UE::Math::TVector2< T >& RHS
)

Specialization for concatenating two 2D Translations.

Public function

UE::Math::TM...

 

UE::Math::Concatenate

(
    const UE::Math::TMatrix< T >& LHS,
    const UE::Math::TMatrix< T >& RHS
)

Specialization for concatenating two Matrices.

Public function

UE::Math::TV...

 

UE::Math::Concatenate

(
    const UE::Math::TVector< T >& LHS,
    const UE::Math::TVector< T >& RHS
)

Specialization for concatenating two translations.

Public function

UE::Math::TQ...

 

UE::Math::Concatenate

(
    const UE::Math::TQuat< T >& LHS,
    const UE::Math::TQuat< T >& RHS
)

Specialization for concatenating two rotations.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TVector< T >& Vector
)

Creates a hash value from an FVector.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TVector2< T >& Vector
)

Creates a hash value from a TVector2.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TIntPoint< IntType >& InPoin...
)

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TIntRect< IntType >& InRect
)

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TIntVector2< T >& Vector
)

Creates a hash value from an IntVector2.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TIntVector3< T >& Vector
)

Creates a hash value from an IntVector3.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TIntVector4< T >& Vector
)

Creates a hash value from an IntVector4.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TQuat< T >& Quat
)

Creates a hash value from an FQuat.

Public function

uint32

 

UE::Math::GetTypeHash

(
    const TTransform< T >& Transform
)

Creates a hash value from an FTransform.

Public function

bool

 

UE::Math::MakeFrustumPlane

(
    T A,
    T B,
    T C,
    T D,
    TPlane< T >& OutPlane
)

Public function

TVector2< T ...

 

UE::Math::operator*

(
    T2 Scale,
    const TVector2< T >& V
)

Multiplies a Vector2 by a scaling factor.

Public function

TQuat< T >

 

UE::Math::operator*

(
    const float Scale,
    const TQuat< T >& Q
)

Global operator for (float * Quat)

Public function

TQuat< T >

 

UE::Math::operator*

(
    const double Scale,
    const TQuat< T >& Q
)

Global operator for (double * Quat)

Public function

TRotator< T ...

 

UE::Math::operator*

(
    FArg Scale,
    const TRotator< T >& R
)

FRotator inline functions Scale a rotator and return.

Public function

TVector< T >

 

UE::Math::operator*

(
    T2 Scale,
    const TVector< T >& V
)

Multiplies a vector by a scaling factor.

Public function

TVector4< T ...

 

UE::Math::operator*

(
    T2 Scale,
    const TVector4< T >& V
)

Scales a vector.

Public function

double

 

UnitConversion::TemperatureUnificationFactor

(
    EUnit From
)

Find the common quantization factor for the specified temperature unit. Quantizes to Kelvin.

Variables

Name Description

Public variable

constexpr uint3...

 

AlmostTwoBits

Public variable

constexpr Vecto...

 

AnimWeightThreshold

Public variable

constexpr Vecto...

 

BigNumber

Public variable

constexpr FVect...

 

DefaultFloatPrecision

Public variable

constexpr Vecto...

 

DEG_TO_RAD

Public variable

constexpr Vecto...

 

DEG_TO_RAD_HALF

Public variable

constexpr Vecto...

 

DOUBLE_DEG_TO_RAD

Public variable

constexpr Vecto...

 

DOUBLE_DEG_TO_RAD_HALF

Public variable

constexpr Vecto...

 

DOUBLE_QINV_SIGN_MASK

Public variable

constexpr Vecto...

 

DOUBLE_QMULTI_SIGN_MASK0

Public variable

constexpr Vecto...

 

DOUBLE_QMULTI_SIGN_MASK1

Public variable

constexpr Vecto...

 

DOUBLE_QMULTI_SIGN_MASK2

Public variable

constexpr Vecto...

 

DOUBLE_RAD_TO_DEG

Public variable

constexpr Vecto...

 

Double0001

Public variable

constexpr Vecto...

 

Double1000

Public variable

constexpr Vecto...

 

Double111_Minus1

Public variable

constexpr Vecto...

 

Double1110

Public variable

constexpr Vecto...

 

Double127

Public variable

constexpr Vecto...

 

Double180

Public variable

constexpr Vecto...

 

Double255

Public variable

constexpr Vecto...

 

Double360

Public variable

constexpr uint6...

 

DoubleAlmostTwoBits

Public variable

constexpr Vecto...

 

DoubleBigNumber

Public variable

constexpr Vecto...

 

DoubleKindaSmallNumber

Public variable

constexpr Vecto...

 

DoubleMinus1_111

Public variable

constexpr Vecto...

 

DoubleMinusOne

Public variable

constexpr Vecto...

 

DoubleMinusOneHalf

Public variable

constexpr Vecto...

 

DoubleNeg127

Public variable

constexpr Vecto...

 

DoubleNonFractional

Public variable

constexpr Vecto...

 

DoubleOne

Public variable

constexpr Vecto...

 

DoubleOne2d

Public variable

constexpr Vecto...

 

DoubleOneHalf

Public variable

constexpr Vecto...

 

DoubleOneHundredth

Public variable

constexpr Vecto...

 

DoubleOneOverPi

Public variable

constexpr Vecto...

 

DoubleOneOverTwoPi

Public variable

constexpr Vecto...

 

DoublePi

Public variable

constexpr Vecto...

 

DoublePiByFour

Public variable

constexpr Vecto...

 

DoublePiByTwo

Public variable

constexpr Vecto...

 

DoubleSmallLengthThreshold

Public variable

constexpr Vecto...

 

DoubleSmallNumber

Public variable

constexpr Vecto...

 

DoubleThreshQuatNormalized

Public variable

constexpr Vecto...

 

DoubleTwo

Public variable

constexpr Vecto...

 

DoubleTwoPi

Public variable

constexpr Vecto...

 

DoubleZero

Public variable

constexpr Vecto...

 

Float0001

Public variable

constexpr Vecto...

 

Float1000

Public variable

constexpr Vecto...

 

Float111_Minus1

Public variable

constexpr Vecto...

 

Float1110

Public variable

constexpr Vecto...

 

Float127

Public variable

constexpr Vecto...

 

Float180

Public variable

constexpr Vecto...

 

Float255

Public variable

constexpr Vecto...

 

Float360

Public variable

constexpr Vecto...

 

FloatMinus1_111

Public variable

constexpr Vecto...

 

FloatMinusOne

Public variable

constexpr Vecto...

 

FloatMinusOneHalf

Public variable

constexpr Vecto...

 

FloatNeg127

Public variable

constexpr Vecto...

 

FloatNonFractional

All float numbers greater than or equal to this have no fractional value.

Public variable

constexpr Vecto...

 

FloatOne

Public variable

constexpr Vecto...

 

FloatOneHalf

Public variable

constexpr Vecto...

 

FloatOneHundredth

Public variable

constexpr Vecto...

 

FloatTwo

Public variable

constexpr Vecto...

 

FloatZero

Public variable

constexpr Vecto...

 

IntAllMask

Public variable

constexpr Vecto...

 

IntMinusOne

Public variable

constexpr Vecto...

 

IntOne

Public variable

constexpr Vecto...

 

IntSignBit

Public variable

constexpr Vecto...

 

IntSignMask

Public variable

constexpr Vecto...

 

IntZero

Public variable

constexpr Vecto...

 

KindaSmallNumber

Public variable

constexpr Vecto...

 

OneOverPi

Public variable

constexpr Vecto...

 

OneOverTwoPi

Public variable

constexpr Vecto...

 

Pi

Public variable

constexpr Vecto...

 

PiByFour

Public variable

constexpr Vecto...

 

PiByTwo

Public variable

constexpr Vecto...

 

QINV_SIGN_MASK

This is to speed up Quaternion Inverse. Static variable to keep sign of inverse

Public variable

constexpr Vecto...

 

QMULTI_SIGN_MASK0

Public variable

constexpr Vecto...

 

QMULTI_SIGN_MASK1

Public variable

constexpr Vecto...

 

QMULTI_SIGN_MASK2

Public variable

constexpr Vecto...

 

RAD_TO_DEG

Public variable

constexpr Vecto...

 

RotationSignificantThreshold

Public variable

constexpr Vecto...

 

SmallLengthThreshold

Public variable

constexpr Vecto...

 

SmallNumber

Public variable

constexpr Vecto...

 

ThreshQuatNormalized

Public variable

constexpr Vecto...

 

TwoPi

Public variable

constexpr Vecto...

 

Vector0001

Public variable

constexpr Vecto...

 

Vector1110

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Cancel