# FVector2D

Inheritance Hierarchy

FVector2D

 TVector< float, 2 >

Syntax

struct FVector2D

Remarks

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

Variables

Name Description

float

X

Vector's X component.

float

Y

Vector's Y component.

Constructors

Name Description

FVector2D()

Default constructor (no initialization).

FVector2D

(
FIntPoint InPos
)

Constructs a vector from an FIntPoint .

FVector2D

Constructor which initializes all components to zero.

FVector2D

(
ENoInit
)

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

FVector2D

(
const FVector & V
)

Constructs a vector from an FVector .

FVector2D

(
float InX,
float InY
)

Constructor using initial values for each component.

Functions

Name Description

ClampAxes

(
float MinAxisVal,
float MaxAxisVal
)

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

float

Component

(
int32 Index
)

Gets a specific component of the vector.

float &

Component

(
int32 Index
)

Gets a specific component of the vector.

bool

ContainsNaN()

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

float

CrossProduct

(
const FVector2D & A,
const FVector2D & B
)

Calculate the cross product of two vectors.

void

DiagnosticCheckNaN()

float

Distance

(
const FVector2D & V1,
const FVector2D & V2
)

Distance between two 2D points.

float

DistSquared

(
const FVector2D & V1,
const FVector2D & V2
)

Squared distance between two 2D points.

float

DotProduct

(
const FVector2D & A,
const FVector2D & B
)

Calculates the dot product of two vectors.

bool

Equals

(
const FVector2D & V,
float Tolerance
)

Checks for equality with error-tolerant comparison.

GetAbs()

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

float

GetAbsMax()

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

float

GetMax()

Get the maximum value of the vector's components.

float

GetMin()

Get the minimum value of the vector's components.

GetRotated

(
float AngleDeg
)

Rotates around axis (0,0,1)

GetSafeNormal

(
float Tolerance
)

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

GetSignVector()

Get a copy of the vector as sign only.

bool

InitFromString

(
const FString & InSourceString
)

Initialize this Vector based on an FString .

IntPoint()

Get this vector as an Int Point.

bool

IsNearlyZero

(
float Tolerance
)

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

bool

IsZero()

Checks whether all components of the vector are exactly zero.

Max

(
const FVector2D & A,
const FVector2D & B
)

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

Min

(
const FVector2D & A,
const FVector2D & B
)

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

bool

NetSerialize

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

Network serialization function.

void

Normalize

(
float Tolerance
)

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

RoundToVector()

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

bool

Serialize

(
FArchive & Ar
)

bool

Serialize

void

Set

(
float InX,
float InY
)

Set the values of the vector directly.

float

Size()

Get the length (magnitude) of this vector.

float

SizeSquared()

Get the squared length of this vector.

SphericalToUnitCartesian()

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

void

ToDirectionAndLength

(
FVector2D & OutDir,
float& OutLength
)

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

ToString()

Get a textual representation of the vector.

Operators

Name Description

operator-

(
float A
)

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

operator-

(
const FVector2D & V
)

Gets the result of subtracting a vector from this one.

operator-()

Gets a negated copy of the vector.

bool

operator!=

(
const FVector2D & V
)

Compares this vector against another for inequality.

operator*

(
float Scale
)

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

operator*

(
const FVector2D & V
)

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

operator*=

(
const FVector2D & V
)

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

operator*=

(
float Scale
)

Scales this vector.

operator/

(
float Scale
)

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

operator/

(
const FVector2D & V
)

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

operator/=

(
float V
)

Divides this vector.

operator/=

(
const FVector2D & V
)

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

float &

operator[]

(
int32 Index
)

Gets specific component of the vector.

float

operator[]

(
int32 Index
)

Gets specific component of the vector.

float

operator^

(
const FVector2D & V
)

Calculates cross product of this vector and another.

float

operator|

(
const FVector2D & V
)

Calculates dot product of this vector and another.

operator+

(
const FVector2D & V
)

Gets the result of adding two vectors together.

operator+

(
float A
)

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

operator+=

(
const FVector2D & V
)

Adds another vector to this.

bool

operator<

(
const FVector2D & Other
)

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

bool

operator<=

(
const FVector2D & Other
)

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

operator-=

(
const FVector2D & V
)

Subtracts another vector from this.

bool

operator==

(
const FVector2D & V
)

Compares this vector against another for equality.

bool

operator>

(
const FVector2D & Other
)

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

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)

References

 Module Header Runtime/Core/Public/Math/Vector2D.h