Module |
|
Header |
/Engine/Source/Runtime/Core/Public/Math/Vector.h |
Include |
#include "Math/Vector.h" |
struct FVector
A vector in 3-D space composed of components (X, Y, Z) with floating point precision.
Name | Description | ||
---|---|---|---|
|
float |
X |
Vector's X component. |
|
float |
Y |
Vector's Y component. |
|
float |
Z |
Vector's Z component. |
Name | Description | |
---|---|---|
|
FVector() |
Default constructor (no initialization). |
|
FVector ( |
Constructor initializing all components to a single float value. |
|
FVector ( |
Constructor using the XYZ components from a 4D vector. |
|
FVector ( |
Constructs a vector from an FLinearColor. |
|
FVector ( |
Constructs a vector from an FIntVector. |
|
FVector ( |
Constructs a vector from an FIntPoint. |
|
FVector ( |
Constructor which initializes all components to zero. |
|
FVector ( |
Constructs a vector from an FVector2D and Z value. |
|
FVector ( |
Constructor using initial values for each component. |
Name | Description | ||
---|---|---|---|
|
AddBounded ( |
Add a vector to this and clamp the result in a cube. |
|
|
AllComponentsEqual ( |
Checks whether all components of this vector are the same, within a tolerance. |
|
|
BoundToBox |
Get a copy of this vector, clamped inside of a cube. |
|
|
BoundToCube ( |
Get a copy of this vector, clamped inside of a cube. |
|
|
float |
BoxPushOut |
Compute pushout of a box from a plane. |
|
Coincident |
See if two normal vectors are coincident (nearly parallel and point in the same direction). |
|
|
float |
Component ( |
Gets a specific component of the vector. |
|
float & |
Component ( |
Gets a specific component of the vector. |
|
ComponentMax ( |
Gets the component-wise max of two vectors. |
|
|
ComponentMin ( |
Gets the component-wise min of two vectors. |
|
|
ContainsNaN() |
Utility to check if there are any non-finite values (NaN or Inf) in this vector. |
|
|
Coplanar |
See if two planes are coplanar. |
|
|
float |
CosineAngle2D ( |
Returns the cosine of the angle between this vector and another projected onto the XY plane (no Z). |
|
CreateOrthonormalBasis |
Create an orthonormal basis from a basis with at least two orthogonal vectors. |
|
|
CrossProduct |
Calculate the cross product of two vectors. |
|
|
DegreesToRadians ( |
Converts a vector containing degree values to a vector containing radian values. |
|
|
DiagnosticCheckNaN() |
||
|
DiagnosticCheckNaN ( |
||
|
float |
Dist |
Euclidean distance between two points. |
|
float |
Dist2D |
|
|
float |
Distance |
|
|
float |
DistSquared |
Squared distance between two points. |
|
float |
DistSquared2D |
|
|
float |
DistSquaredXY |
Squared distance between two points in the XY plane only. |
|
float |
DistXY |
Euclidean distance between two points in the XY plane (ignoring Z). |
|
float |
DotProduct |
Calculate the dot product of two vectors. |
|
Equals ( |
Check against another vector for equality, within specified error limits. |
|
|
float |
EvaluateBezier |
Generates a list of sample points on a Bezier curve defined by 2 points. |
|
FindBestAxisVectors |
Find good arbitrary axis vectors to represent U and V axes of a plane, using this vector as the normal of the plane. |
|
|
GenerateClusterCenters |
Given a current set of cluster centers, a set of points, iterate N times to move clusters to be central. |
|
|
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 |
GetAbsMin() |
Get the minimum absolute value of the vector's components. |
|
GetClampedToMaxSize ( |
Create a copy of this vector, with its maximum magnitude clamped to MaxSize. |
|
|
GetClampedToMaxSize2D ( |
Create a copy of this vector, with the maximum 2D magnitude clamped to MaxSize. Z is unchanged. |
|
|
GetClampedToSize ( |
Create a copy of this vector, with its magnitude clamped between Min and Max. |
|
|
GetClampedToSize2D ( |
Create a copy of this vector, with the 2D magnitude clamped between Min and Max. Z is unchanged. |
|
|
float |
GetComponentForAxis ( |
Get a specific component of the vector, given a specific axis by enum |
|
float |
GetMax() |
Get the maximum value of the vector's components. |
|
float |
GetMin() |
Get the minimum value of the vector's components. |
|
GetSafeNormal ( |
Gets a normalized copy of the vector, checking it is safe to do so based on the length. |
|
|
GetSafeNormal2D ( |
Gets a normalized copy of the 2D components of the vector, checking it is safe to do so. |
|
|
GetSignVector() |
Get a copy of the vector as sign only. |
|
|
GetUnsafeNormal() |
Calculates normalized version of vector without checking for zero length. |
|
|
GetUnsafeNormal2D() |
Calculates normalized 2D version of vector without checking for zero length. |
|
|
GridSnap ( |
Gets a copy of this vector snapped to a grid. |
|
|
float |
HeadingAngle() |
Convert a direction vector into a 'heading' angle. |
|
InitFromString ( |
Initialize this Vector based on an FString. |
|
|
IsNearlyZero ( |
Checks whether vector is near to zero within a specified tolerance. |
|
|
IsNormalized() |
Checks whether vector is normalized. |
|
|
IsUniform ( |
Check whether X, Y and Z are nearly equal. |
|
|
IsUnit ( |
Check if the vector is of unit length, with specified tolerance. |
|
|
IsZero() |
Checks whether all components of the vector are exactly zero. |
|
|
MirrorByPlane ( |
Mirrors a vector about a plane. FVector inline functions |
|
|
MirrorByVector ( |
Mirror a vector about a normal vector. |
|
|
NetSerialize ( |
Network serialization function. |
|
|
Normalize ( |
Normalize this vector in-place if it is larger than a given tolerance. Leaves it unchanged if not. |
|
|
Orthogonal |
See if two normal vectors are nearly orthogonal (perpendicular), meaning the angle between them is close to 90 degrees. |
|
|
Parallel |
See if two normal vectors are nearly parallel, meaning the angle between them is close to 0 degrees. |
|
|
float |
PointPlaneDist |
Calculate the signed distance (in the direction of the normal) between a point and a plane. |
|
PointPlaneProject |
Calculate the projection of a point on the plane defined by counter-clockwise (CCW) points A,B,C. |
|
|
PointPlaneProject |
Calculate the projection of a point on the given plane. |
|
|
PointPlaneProject |
Calculate the projection of a point on the plane defined by PlaneBase and PlaneNormal. |
|
|
PointsAreNear |
Compare two points and see if they're within specified distance. |
|
|
PointsAreSame |
Compare two points and see if they're the same, using a threshold. |
|
|
Projection() |
Projects 2D components of vector based on Z. |
|
|
ProjectOnTo ( |
Gets a copy of this vector projected onto the input vector. |
|
|
ProjectOnToNormal ( |
Gets a copy of this vector projected onto the input vector, which is assumed to be unit length. |
|
|
RadiansToDegrees ( |
Converts a vector containing radian values to a vector containing degree values. |
|
|
Reciprocal() |
Gets the reciprocal of this vector, avoiding division by zero. |
|
|
RotateAngleAxis ( |
Rotates around Axis (assumes Axis.Size() == 1). |
|
|
Rotation() |
Return the FRotator orientation corresponding to the direction in which the vector points. |
|
|
Serialize ( |
||
|
Set ( |
Set the values of the vector directly. |
|
|
SetComponentForAxis ( |
Set a specified componet of the vector, given a specific axis by enum |
|
|
float |
Size() |
Get the length (magnitude) of this vector. |
|
float |
Size2D() |
Get the length of the 2D components of this vector. |
|
float |
SizeSquared() |
Get the squared length of this vector. |
|
float |
SizeSquared2D() |
Get the squared length of the 2D components of this vector. |
|
ToCompactString() |
Get a short textural representation of this vector, for compact readable logging. |
|
|
ToCompactText() |
Get a short locale aware textural representation of this vector, for compact readable logging. |
|
|
ToDirectionAndLength ( |
Util to convert this vector into a unit direction vector and its original length. |
|
|
ToOrientationQuat() |
Return the Quaternion orientation corresponding to the direction in which the vector points. |
|
|
ToOrientationRotator() |
Return the FRotator orientation corresponding to the direction in which the vector points. |
|
|
ToString() |
Get a textual representation of this vector. |
|
|
ToText() |
Get a locale aware textual representation of this vector. |
|
|
float |
Triple |
Triple product of three vectors: X dot (Y cross Z). |
|
UnitCartesianToSpherical() |
Converts a Cartesian unit vector into spherical coordinates on the unit sphere. |
|
|
UnwindEuler() |
When this vector contains Euler angles (degrees), ensure that angles are between +/-180 |
|
|
VectorPlaneProject |
Calculate the projection of a vector on the plane defined by PlaneNormal. |
Name | Description | ||
---|---|---|---|
|
operator-() |
Get a negated copy of the vector. |
|
|
operator- ( |
Gets the result of component-wise subtraction of this by another vector. |
|
|
operator- ( |
Gets the result of subtracting from each component of the vector. |
|
|
operator!= ( |
Check against another vector for inequality. |
|
|
operator* ( |
Gets the result of scaling the vector (multiplying each component by a value). |
|
|
operator* ( |
Gets the result of component-wise multiplication of this vector by another. |
|
|
operator*= ( |
Scales the vector. |
|
|
operator*= ( |
Multiplies the vector with another vector, using component-wise multiplication. |
|
|
operator/ ( |
Gets the result of dividing each component of the vector by a value. |
|
|
operator/ ( |
Gets the result of component-wise division of this vector by another. |
|
|
operator/= ( |
Divides the vector by a number. |
|
|
operator/= ( |
Divides the vector by another vector, using component-wise division. |
|
|
float & |
operator[] ( |
Gets specific component of the vector. |
|
float |
operator[] ( |
Gets specific component of the vector. |
|
operator^ ( |
Calculate cross product between this and another vector. |
|
|
float |
operator| ( |
Calculate the dot product between this and another vector. |
|
operator+ ( |
Gets the result of component-wise addition of this and another vector. |
|
|
operator+ ( |
Gets the result of adding to each component of the vector. |
|
|
operator+= ( |
Adds another vector to this. Uses component-wise addition. |
|
|
operator-= ( |
Subtracts another vector from this. Uses component-wise subtraction. |
|
|
operator== ( |
Check against another vector for equality. |
Name |
Description |
---|---|
BackwardVector |
Unreal backward vector (-1,0,0) |
DownVector |
Unreal down vector (0,0,-1) |
ForwardVector |
Unreal forward vector (1,0,0) |
LeftVector |
Unreal left vector (0,-1,0) |
OneVector |
One vector (1,1,1) |
RightVector |
Unreal right vector (0,1,0) |
UpVector |
Unreal up vector (0,0,1) |
ZeroVector |
A zero vector (0,0,0) |