FVector2D

A vector in 2-D space composed of components (X, Y) with floating point precision.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Math/Vector2D.h

Include

#include "Math/Vector2D.h"

Syntax

struct FVector2D

Remarks

A vector in 2-D space composed of components (X, Y) with floating point precision.

Variables

Name Description

Public variable

float

 

X

Vector's X component.

Public variable

float

 

Y

Vector's Y component.

Constructors

Name Description

Public function

FVector2D()

Default constructor (no initialization).

Public function

FVector2D

(
    FIntPoint InPos
)

Constructs a vector from an FIntPoint.

Public function

FVector2D

(
    EForceInit
)

Constructor which initializes all components to zero.

Public function

FVector2D

(
    ENoInit
)

Constructor that does not initialize. More explicit than the default constructor.

Public function

FVector2D

(
    const FVector& V
)

Constructs a vector from an FVector.

Public function

FVector2D

(
    const FVector4& V
)

Constructs a vector from an FVector4.

Public function

FVector2D

(
    float InX,
    float InY
)

Constructor using initial values for each component.

Functions

Name Description

Public function Const

FVector2D

 

ClampAxes

(
    float MinAxisVal,
    float MaxAxisVal
)

Creates a copy of this vector with both axes clamped to the given range.

Public function Const

float

 

Component

(
    int32 Index
)

Gets a specific component of the vector.

Public function

float &

 

Component

(
    int32 Index
)

Gets a specific component of the vector.

Public function Const

bool

 

ContainsNaN()

Utility to check if there are any non-finite values (NaN or Inf) in this vector.

Public function Static

float

 

CrossProduct

(
    const FVector2D& A,
    const FVector2D& B
)

Calculate the cross product of two vectors.

Public function

void

 

DiagnosticCheckNaN()

Public function Static

float

 

Distance

(
    const FVector2D& V1,
    const FVector2D& V2
)

Distance between two 2D points.

Public function Static

float

 

DistSquared

(
    const FVector2D& V1,
    const FVector2D& V2
)

Squared distance between two 2D points.

Public function Static

float

 

DotProduct

(
    const FVector2D& A,
    const FVector2D& B
)

Calculates the dot product of two vectors.

Public function Const

bool

 

Equals

(
    const FVector2D& V,
    float Tolerance
)

Checks for equality with error-tolerant comparison.

Public function Const

FVector2D

 

GetAbs()

Get a copy of this vector with absolute value of each component.

Public function Const

float

 

GetAbsMax()

Get the maximum absolute value of the vector's components.

Public function Const

float

 

GetMax()

Get the maximum value of the vector's components.

Public function Const

float

 

GetMin()

Get the minimum value of the vector's components.

Public function Const

FVector2D

 

GetRotated

(
    float AngleDeg
)

Rotates around axis (0,0,1)

Public function Const

FVector2D

 

GetSafeNormal

(
    float Tolerance
)

Gets a normalized copy of the vector, checking it is safe to do so based on the length.

Public function Const

FVector2D

 

GetSignVector()

Get a copy of the vector as sign only.

Public function

bool

 

InitFromString

(
    const FString& InSourceString
)

Initialize this Vector based on an FString.

Public function Const

FIntPoint

 

IntPoint()

Get this vector as an Int Point.

Public function Const

bool

 

IsNearlyZero

(
    float Tolerance
)

Checks whether vector is near to zero within a specified tolerance.

Public function Const

bool

 

IsZero()

Checks whether all components of the vector are exactly zero.

Public function Static

FVector2D

 

Max

(
    const FVector2D& A,
    const FVector2D& B
)

Returns a vector with the maximum component for each dimension from the pair of vectors.

Public function Static

FVector2D

 

Min

(
    const FVector2D& A,
    const FVector2D& B
)

Returns a vector with the minimum component for each dimension from the pair of vectors.

Public function

bool

 

NetSerialize

(
    FArchive& Ar,
    UPackageMap* Map,
    bool& bOutSuccess
)

Network serialization function.

Public function

void

 

Normalize

(
    float Tolerance
)

Normalize this vector in-place if it is large enough, set it to (0,0) otherwise.

Public function Const

FVector2D

 

RoundToVector()

Get this vector as a vector where each component has been rounded to the nearest int.

Public function

bool

 

Serialize

(
    FArchive& Ar
)

Public function

bool

 

Serialize

(
    FStructuredArchive::FSlot Slot
)

Public function

void

 

Set

(
    float InX,
    float InY
)

Set the values of the vector directly.

Public function Const

float

 

Size()

Get the length (magnitude) of this vector.

Public function Const

float

 

SizeSquared()

Get the squared length of this vector.

Public function Const

FVector

 

SphericalToUnitCartesian()

Converts spherical coordinates on the unit sphere into a Cartesian unit length vector.

Public function Const

void

 

ToDirectionAndLength

(
    FVector2D& OutDir,
    float& OutLength
)

Util to convert this vector into a unit direction vector and its original length.

Public function Const

FString

 

ToString()

Get a textual representation of the vector.

Operators

Name Description

Public function Const

FVector2D

 

operator-

(
    float A
)

Gets the result of subtracting A from each component of the vector.

Public function Const

FVector2D

 

operator-()

Gets a negated copy of the vector.

Public function Const

FVector2D

 

operator-

(
    const FVector2D& V
)

Gets the result of subtracting a vector from this one.

Public function Const

bool

 

operator!=

(
    const FVector2D& V
)

Compares this vector against another for inequality.

Public function Const

FVector2D

 

operator*

(
    const FVector2D& V
)

Gets the result of component-wise multiplication of this vector by another.

Public function Const

FVector2D

 

operator*

(
    float Scale
)

Gets the result of scaling the vector (multiplying each component by a value).

Public function

FVector2D

 

operator*=

(
    const FVector2D& V
)

Multiplies this vector with another vector, using component-wise multiplication.

Public function

FVector2D

 

operator*=

(
    float Scale
)

Scales this vector.

Public function Const

FVector2D

 

operator/

(
    const FVector2D& V
)

Gets the result of component-wise division of this vector by another.

Public function Const

FVector2D

 

operator/

(
    float Scale
)

Gets the result of dividing each component of the vector by a value.

Public function

FVector2D

 

operator/=

(
    float V
)

Divides this vector.

Public function

FVector2D

 

operator/=

(
    const FVector2D& V
)

Divides this vector by another vector, using component-wise division.

Public function

float &

 

operator[]

(
    int32 Index
)

Gets specific component of the vector.

Public function Const

float

 

operator[]

(
    int32 Index
)

Gets specific component of the vector.

Public function Const

float

 

operator^

(
    const FVector2D& V
)

Calculates cross product of this vector and another.

Public function Const

float

 

operator|

(
    const FVector2D& V
)

Calculates dot product of this vector and another.

Public function Const

FVector2D

 

operator+

(
    const FVector2D& V
)

Gets the result of adding two vectors together.

Public function Const

FVector2D

 

operator+

(
    float A
)

Gets the result of adding A to each component of the vector.

Public function

FVector2D

 

operator+=

(
    const FVector2D& V
)

Adds another vector to this.

Public function Const

bool

 

operator<

(
    const FVector2D& Other
)

Checks whether both components of this vector are less than another.

Public function Const

bool

 

operator<=

(
    const FVector2D& Other
)

Checks whether both components of this vector are less than or equal to another.

Public function

FVector2D

 

operator-=

(
    const FVector2D& V
)

Subtracts another vector from this.

Public function Const

bool

 

operator==

(
    const FVector2D& V
)

Compares this vector against another for equality.

Public function Const

bool

 

operator>

(
    const FVector2D& Other
)

Checks whether both components of this vector are greater than another.

Public function Const

bool

 

operator>=

(
    const FVector2D& Other
)

Checks whether both components of this vector are greater than or equal to another.

Constants

Name

Description

Unit45Deg

Global 2D unit vector constant along the 45 degree angle or symmetrical positive axes (sqrt(.5),sqrt(.5)) or (.707,.707).

UnitVector

Global 2D one vector (poorly named) constant (1,1).

ZeroVector

Global 2D zero vector constant (0,0)

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback