Nebula
Loading...
Searching...
No Matches
Mathf.Vector2 Struct Reference

Detailed Description

Describes a 2D-vector.

Inherits IEquatable< Vector2 >.

Public Member Functions

 Vector2 (float x, float y)
 Constructs a 2d vector with X and Y from two values.
 
 Vector2 (float value)
 Constructs a 2d vector with X and Y set to the same value.
 
void Ceiling ()
 Round the members of this Vector2 towards positive infinity.
 
override bool Equals (object obj)
 Compares whether current instance is equal to specified Object.
 
bool Equals (Vector2 other)
 Compares whether current instance is equal to specified Vector2.
 
void Floor ()
 Round the members of this Vector2 towards negative infinity.
 
override int GetHashCode ()
 Gets the hash code of this Vector2.
 
float Length ()
 Returns the length of this Vector2.
 
float LengthSquared ()
 Returns the squared length of this Vector2.
 
void Normalize ()
 Turns this Vector2 to a unit vector with the same direction.
 
void Round ()
 Round the members of this Vector2 to the nearest integer value.
 
override string ToString ()
 Returns a String representation of this Vector2 in the format: {X:[X] Y:[Y]}.
 
Point ToPoint ()
 Gets a Point representation for this object.
 
void Deconstruct (out float x, out float y)
 Deconstruction method for Vector2.
 

Static Public Member Functions

static Vector2 operator- (Vector2 value)
 Inverts values in the specified Vector2.
 
static Vector2 operator+ (Vector2 value1, Vector2 value2)
 Adds two vectors.
 
static Vector2 operator- (Vector2 value1, Vector2 value2)
 Subtracts a Vector2 from a Vector2.
 
static Vector2 operator* (Vector2 value1, Vector2 value2)
 Multiplies the components of two vectors by each other.
 
static Vector2 operator* (Vector2 value, float scaleFactor)
 Multiplies the components of vector by a scalar.
 
static Vector2 operator* (float scaleFactor, Vector2 value)
 Multiplies the components of vector by a scalar.
 
static Vector2 operator/ (Vector2 value1, Vector2 value2)
 Divides the components of a Vector2 by the components of another Vector2.
 
static Vector2 operator/ (Vector2 value1, float divider)
 Divides the components of a Vector2 by a scalar.
 
static bool operator== (Vector2 value1, Vector2 value2)
 Compares whether two Vector2 instances are equal.
 
static bool operator!= (Vector2 value1, Vector2 value2)
 Compares whether two Vector2 instances are not equal.
 
static Vector2 Add (Vector2 value1, Vector2 value2)
 Performs vector addition on value1 and value2 .
 
static void Add (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Performs vector addition on value1 and value2 , storing the result of the addition in result .
 
static Vector2 Barycentric (Vector2 value1, Vector2 value2, Vector2 value3, float amount1, float amount2)
 Creates a new Vector2 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle.
 
static void Barycentric (ref Vector2 value1, ref Vector2 value2, ref Vector2 value3, float amount1, float amount2, out Vector2 result)
 Creates a new Vector2 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle.
 
static Vector2 CatmullRom (Vector2 value1, Vector2 value2, Vector2 value3, Vector2 value4, float amount)
 Creates a new Vector2 that contains CatmullRom interpolation of the specified vectors.
 
static void CatmullRom (ref Vector2 value1, ref Vector2 value2, ref Vector2 value3, ref Vector2 value4, float amount, out Vector2 result)
 Creates a new Vector2 that contains CatmullRom interpolation of the specified vectors.
 
static Vector2 Ceiling (Vector2 value)
 Creates a new Vector2 that contains members from another vector rounded towards positive infinity.
 
static void Ceiling (ref Vector2 value, out Vector2 result)
 Creates a new Vector2 that contains members from another vector rounded towards positive infinity.
 
static Vector2 Clamp (Vector2 value1, Vector2 min, Vector2 max)
 Clamps the specified value within a range.
 
static void Clamp (ref Vector2 value1, ref Vector2 min, ref Vector2 max, out Vector2 result)
 Clamps the specified value within a range.
 
static float Distance (Vector2 value1, Vector2 value2)
 Returns the distance between two vectors.
 
static void Distance (ref Vector2 value1, ref Vector2 value2, out float result)
 Returns the distance between two vectors.
 
static float DistanceSquared (Vector2 value1, Vector2 value2)
 Returns the squared distance between two vectors.
 
static void DistanceSquared (ref Vector2 value1, ref Vector2 value2, out float result)
 Returns the squared distance between two vectors.
 
static Vector2 Divide (Vector2 value1, Vector2 value2)
 Divides the components of a Vector2 by the components of another Vector2.
 
static void Divide (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Divides the components of a Vector2 by the components of another Vector2.
 
static Vector2 Divide (Vector2 value1, float divider)
 Divides the components of a Vector2 by a scalar.
 
static void Divide (ref Vector2 value1, float divider, out Vector2 result)
 Divides the components of a Vector2 by a scalar.
 
static float Dot (Vector2 value1, Vector2 value2)
 Returns a dot product of two vectors.
 
static void Dot (ref Vector2 value1, ref Vector2 value2, out float result)
 Returns a dot product of two vectors.
 
static Vector2 Floor (Vector2 value)
 Creates a new Vector2 that contains members from another vector rounded towards negative infinity.
 
static void Floor (ref Vector2 value, out Vector2 result)
 Creates a new Vector2 that contains members from another vector rounded towards negative infinity.
 
static Vector2 Hermite (Vector2 value1, Vector2 tangent1, Vector2 value2, Vector2 tangent2, float amount)
 Creates a new Vector2 that contains hermite spline interpolation.
 
static void Hermite (ref Vector2 value1, ref Vector2 tangent1, ref Vector2 value2, ref Vector2 tangent2, float amount, out Vector2 result)
 Creates a new Vector2 that contains hermite spline interpolation.
 
static Vector2 Lerp (Vector2 value1, Vector2 value2, float amount)
 Creates a new Vector2 that contains linear interpolation of the specified vectors.
 
static void Lerp (ref Vector2 value1, ref Vector2 value2, float amount, out Vector2 result)
 Creates a new Vector2 that contains linear interpolation of the specified vectors.
 
static Vector2 LerpPrecise (Vector2 value1, Vector2 value2, float amount)
 Creates a new Vector2 that contains linear interpolation of the specified vectors.
 
static void LerpPrecise (ref Vector2 value1, ref Vector2 value2, float amount, out Vector2 result)
 Creates a new Vector2 that contains linear interpolation of the specified vectors.
 
static Vector2 Max (Vector2 value1, Vector2 value2)
 Creates a new Vector2 that contains a maximal values from the two vectors.
 
static void Max (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Creates a new Vector2 that contains a maximal values from the two vectors.
 
static Vector2 Min (Vector2 value1, Vector2 value2)
 Creates a new Vector2 that contains a minimal values from the two vectors.
 
static void Min (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Creates a new Vector2 that contains a minimal values from the two vectors.
 
static Vector2 Multiply (Vector2 value1, Vector2 value2)
 Creates a new Vector2 that contains a multiplication of two vectors.
 
static void Multiply (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Creates a new Vector2 that contains a multiplication of two vectors.
 
static Vector2 Multiply (Vector2 value1, float scaleFactor)
 Creates a new Vector2 that contains a multiplication of Vector2 and a scalar.
 
static void Multiply (ref Vector2 value1, float scaleFactor, out Vector2 result)
 Creates a new Vector2 that contains a multiplication of Vector2 and a scalar.
 
static Vector2 Negate (Vector2 value)
 Creates a new Vector2 that contains the specified vector inversion.
 
static void Negate (ref Vector2 value, out Vector2 result)
 Creates a new Vector2 that contains the specified vector inversion.
 
static Vector2 Normalize (Vector2 value)
 Creates a new Vector2 that contains a normalized values from another vector.
 
static void Normalize (ref Vector2 value, out Vector2 result)
 Creates a new Vector2 that contains a normalized values from another vector.
 
static Vector2 Reflect (Vector2 vector, Vector2 normal)
 Creates a new Vector2 that contains reflect vector of the given vector and normal.
 
static void Reflect (ref Vector2 vector, ref Vector2 normal, out Vector2 result)
 Creates a new Vector2 that contains reflect vector of the given vector and normal.
 
static Vector2 Round (Vector2 value)
 Creates a new Vector2 that contains members from another vector rounded to the nearest integer value.
 
static void Round (ref Vector2 value, out Vector2 result)
 Creates a new Vector2 that contains members from another vector rounded to the nearest integer value.
 
static Vector2 SmoothStep (Vector2 value1, Vector2 value2, float amount)
 Creates a new Vector2 that contains cubic interpolation of the specified vectors.
 
static void SmoothStep (ref Vector2 value1, ref Vector2 value2, float amount, out Vector2 result)
 Creates a new Vector2 that contains cubic interpolation of the specified vectors.
 
static Vector2 Subtract (Vector2 value1, Vector2 value2)
 Creates a new Vector2 that contains subtraction of on Vector2 from a another.
 
static void Subtract (ref Vector2 value1, ref Vector2 value2, out Vector2 result)
 Creates a new Vector2 that contains subtraction of on Vector2 from a another.
 
static Vector2 Transform (Vector2 position, Matrix matrix)
 Creates a new Vector2 that contains a transformation of 2d-vector by the specified Matrix.
 
static void Transform (ref Vector2 position, ref Matrix matrix, out Vector2 result)
 Creates a new Vector2 that contains a transformation of 2d-vector by the specified Matrix.
 
static Vector2 Transform (Vector2 value, Quaternion rotation)
 Creates a new Vector2 that contains a transformation of 2d-vector by the specified Quaternion, representing the rotation.
 
static void Transform (ref Vector2 value, ref Quaternion rotation, out Vector2 result)
 Creates a new Vector2 that contains a transformation of 2d-vector by the specified Quaternion, representing the rotation.
 
static void Transform (Vector2[] sourceArray, int sourceIndex, ref Matrix matrix, Vector2[] destinationArray, int destinationIndex, int length)
 Apply transformation on vectors within array of Vector2 by the specified Matrix and places the results in an another array.
 
static void Transform (Vector2[] sourceArray, int sourceIndex, ref Quaternion rotation, Vector2[] destinationArray, int destinationIndex, int length)
 Apply transformation on vectors within array of Vector2 by the specified Quaternion and places the results in an another array.
 
static void Transform (Vector2[] sourceArray, ref Matrix matrix, Vector2[] destinationArray)
 Apply transformation on all vectors within array of Vector2 by the specified Matrix and places the results in an another array.
 
static void Transform (Vector2[] sourceArray, ref Quaternion rotation, Vector2[] destinationArray)
 Apply transformation on all vectors within array of Vector2 by the specified Quaternion and places the results in an another array.
 
static Vector2 TransformNormal (Vector2 normal, Matrix matrix)
 Creates a new Vector2 that contains a transformation of the specified normal by the specified Matrix.
 
static void TransformNormal (ref Vector2 normal, ref Matrix matrix, out Vector2 result)
 Creates a new Vector2 that contains a transformation of the specified normal by the specified Matrix.
 
static void TransformNormal (Vector2[] sourceArray, int sourceIndex, ref Matrix matrix, Vector2[] destinationArray, int destinationIndex, int length)
 Apply transformation on normals within array of Vector2 by the specified Matrix and places the results in an another array.
 
static void TransformNormal (Vector2[] sourceArray, ref Matrix matrix, Vector2[] destinationArray)
 Apply transformation on all normals within array of Vector2 by the specified Matrix and places the results in an another array.
 

Public Attributes

float X
 The x coordinate of this Vector2.
 
float Y
 The y coordinate of this Vector2.
 

Properties

static Vector2 Zero [get]
 Returns a Vector2 with components 0, 0.
 
static Vector2 One [get]
 Returns a Vector2 with components 1, 1.
 
static Vector2 UnitX [get]
 Returns a Vector2 with components 1, 0.
 
static Vector2 UnitY [get]
 Returns a Vector2 with components 0, 1.
 
string DebugDisplayString [get]
 

Static Private Attributes

static readonly Vector2 zeroVector = new Vector2(0f, 0f)
 
static readonly Vector2 unitVector = new Vector2(1f, 1f)
 
static readonly Vector2 unitXVector = new Vector2(1f, 0f)
 
static readonly Vector2 unitYVector = new Vector2(0f, 1f)
 

Constructor & Destructor Documentation

◆ Vector2() [1/2]

Mathf.Vector2.Vector2 ( float x,
float y )
inline

Constructs a 2d vector with X and Y from two values.

Parameters
xThe x coordinate in 2d-space.
yThe y coordinate in 2d-space.

◆ Vector2() [2/2]

Mathf.Vector2.Vector2 ( float value)
inline

Constructs a 2d vector with X and Y set to the same value.

Parameters
valueThe x and y coordinates in 2d-space.

Member Function Documentation

◆ Add() [1/2]

static void Mathf.Vector2.Add ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Performs vector addition on value1 and value2 , storing the result of the addition in result .

Parameters
value1The first vector to add.
value2The second vector to add.
resultThe result of the vector addition.

◆ Add() [2/2]

static Vector2 Mathf.Vector2.Add ( Vector2 value1,
Vector2 value2 )
inlinestatic

Performs vector addition on value1 and value2 .

Parameters
value1The first vector to add.
value2The second vector to add.
Returns
The result of the vector addition.

◆ Barycentric() [1/2]

static void Mathf.Vector2.Barycentric ( ref Vector2 value1,
ref Vector2 value2,
ref Vector2 value3,
float amount1,
float amount2,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle.

Parameters
value1The first vector of 2d-triangle.
value2The second vector of 2d-triangle.
value3The third vector of 2d-triangle.
amount1Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle.
amount2Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle.
resultThe cartesian translation of barycentric coordinates as an output parameter.

◆ Barycentric() [2/2]

static Vector2 Mathf.Vector2.Barycentric ( Vector2 value1,
Vector2 value2,
Vector2 value3,
float amount1,
float amount2 )
inlinestatic

Creates a new Vector2 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 2d-triangle.

Parameters
value1The first vector of 2d-triangle.
value2The second vector of 2d-triangle.
value3The third vector of 2d-triangle.
amount1Barycentric scalar b2 which represents a weighting factor towards second vector of 2d-triangle.
amount2Barycentric scalar b3 which represents a weighting factor towards third vector of 2d-triangle.
Returns
The cartesian translation of barycentric coordinates.

◆ CatmullRom() [1/2]

static void Mathf.Vector2.CatmullRom ( ref Vector2 value1,
ref Vector2 value2,
ref Vector2 value3,
ref Vector2 value4,
float amount,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains CatmullRom interpolation of the specified vectors.

Parameters
value1The first vector in interpolation.
value2The second vector in interpolation.
value3The third vector in interpolation.
value4The fourth vector in interpolation.
amountWeighting factor.
resultThe result of CatmullRom interpolation as an output parameter.

◆ CatmullRom() [2/2]

static Vector2 Mathf.Vector2.CatmullRom ( Vector2 value1,
Vector2 value2,
Vector2 value3,
Vector2 value4,
float amount )
inlinestatic

Creates a new Vector2 that contains CatmullRom interpolation of the specified vectors.

Parameters
value1The first vector in interpolation.
value2The second vector in interpolation.
value3The third vector in interpolation.
value4The fourth vector in interpolation.
amountWeighting factor.
Returns
The result of CatmullRom interpolation.

◆ Ceiling() [1/3]

void Mathf.Vector2.Ceiling ( )
inline

Round the members of this Vector2 towards positive infinity.

◆ Ceiling() [2/3]

static void Mathf.Vector2.Ceiling ( ref Vector2 value,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains members from another vector rounded towards positive infinity.

Parameters
valueSource Vector2.
resultThe rounded Vector2.

◆ Ceiling() [3/3]

static Vector2 Mathf.Vector2.Ceiling ( Vector2 value)
inlinestatic

Creates a new Vector2 that contains members from another vector rounded towards positive infinity.

Parameters
valueSource Vector2.
Returns
The rounded Vector2.

◆ Clamp() [1/2]

static void Mathf.Vector2.Clamp ( ref Vector2 value1,
ref Vector2 min,
ref Vector2 max,
out Vector2 result )
inlinestatic

Clamps the specified value within a range.

Parameters
value1The value to clamp.
minThe min value.
maxThe max value.
resultThe clamped value as an output parameter.

◆ Clamp() [2/2]

static Vector2 Mathf.Vector2.Clamp ( Vector2 value1,
Vector2 min,
Vector2 max )
inlinestatic

Clamps the specified value within a range.

Parameters
value1The value to clamp.
minThe min value.
maxThe max value.
Returns
The clamped value.

◆ Deconstruct()

void Mathf.Vector2.Deconstruct ( out float x,
out float y )
inline

Deconstruction method for Vector2.

Parameters
x
y

◆ Distance() [1/2]

static void Mathf.Vector2.Distance ( ref Vector2 value1,
ref Vector2 value2,
out float result )
inlinestatic

Returns the distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe distance between two vectors as an output parameter.

◆ Distance() [2/2]

static float Mathf.Vector2.Distance ( Vector2 value1,
Vector2 value2 )
inlinestatic

Returns the distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The distance between two vectors.

◆ DistanceSquared() [1/2]

static void Mathf.Vector2.DistanceSquared ( ref Vector2 value1,
ref Vector2 value2,
out float result )
inlinestatic

Returns the squared distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe squared distance between two vectors as an output parameter.

◆ DistanceSquared() [2/2]

static float Mathf.Vector2.DistanceSquared ( Vector2 value1,
Vector2 value2 )
inlinestatic

Returns the squared distance between two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The squared distance between two vectors.

◆ Divide() [1/4]

static void Mathf.Vector2.Divide ( ref Vector2 value1,
float divider,
out Vector2 result )
inlinestatic

Divides the components of a Vector2 by a scalar.

Parameters
value1Source Vector2.
dividerDivisor scalar.
resultThe result of dividing a vector by a scalar as an output parameter.

◆ Divide() [2/4]

static void Mathf.Vector2.Divide ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Divides the components of a Vector2 by the components of another Vector2.

Parameters
value1Source Vector2.
value2Divisor Vector2.
resultThe result of dividing the vectors as an output parameter.

◆ Divide() [3/4]

static Vector2 Mathf.Vector2.Divide ( Vector2 value1,
float divider )
inlinestatic

Divides the components of a Vector2 by a scalar.

Parameters
value1Source Vector2.
dividerDivisor scalar.
Returns
The result of dividing a vector by a scalar.

◆ Divide() [4/4]

static Vector2 Mathf.Vector2.Divide ( Vector2 value1,
Vector2 value2 )
inlinestatic

Divides the components of a Vector2 by the components of another Vector2.

Parameters
value1Source Vector2.
value2Divisor Vector2.
Returns
The result of dividing the vectors.

◆ Dot() [1/2]

static void Mathf.Vector2.Dot ( ref Vector2 value1,
ref Vector2 value2,
out float result )
inlinestatic

Returns a dot product of two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe dot product of two vectors as an output parameter.

◆ Dot() [2/2]

static float Mathf.Vector2.Dot ( Vector2 value1,
Vector2 value2 )
inlinestatic

Returns a dot product of two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The dot product of two vectors.

◆ Equals() [1/2]

override bool Mathf.Vector2.Equals ( object obj)
inline

Compares whether current instance is equal to specified Object.

Parameters
objThe Object to compare.
Returns
true if the instances are equal; false otherwise.

◆ Equals() [2/2]

bool Mathf.Vector2.Equals ( Vector2 other)
inline

Compares whether current instance is equal to specified Vector2.

Parameters
otherThe Vector2 to compare.
Returns
true if the instances are equal; false otherwise.

◆ Floor() [1/3]

void Mathf.Vector2.Floor ( )
inline

Round the members of this Vector2 towards negative infinity.

◆ Floor() [2/3]

static void Mathf.Vector2.Floor ( ref Vector2 value,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains members from another vector rounded towards negative infinity.

Parameters
valueSource Vector2.
resultThe rounded Vector2.

◆ Floor() [3/3]

static Vector2 Mathf.Vector2.Floor ( Vector2 value)
inlinestatic

Creates a new Vector2 that contains members from another vector rounded towards negative infinity.

Parameters
valueSource Vector2.
Returns
The rounded Vector2.

◆ GetHashCode()

override int Mathf.Vector2.GetHashCode ( )
inline

Gets the hash code of this Vector2.

Returns
Hash code of this Vector2.

◆ Hermite() [1/2]

static void Mathf.Vector2.Hermite ( ref Vector2 value1,
ref Vector2 tangent1,
ref Vector2 value2,
ref Vector2 tangent2,
float amount,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains hermite spline interpolation.

Parameters
value1The first position vector.
tangent1The first tangent vector.
value2The second position vector.
tangent2The second tangent vector.
amountWeighting factor.
resultThe hermite spline interpolation vector as an output parameter.

◆ Hermite() [2/2]

static Vector2 Mathf.Vector2.Hermite ( Vector2 value1,
Vector2 tangent1,
Vector2 value2,
Vector2 tangent2,
float amount )
inlinestatic

Creates a new Vector2 that contains hermite spline interpolation.

Parameters
value1The first position vector.
tangent1The first tangent vector.
value2The second position vector.
tangent2The second tangent vector.
amountWeighting factor.
Returns
The hermite spline interpolation vector.

◆ Length()

float Mathf.Vector2.Length ( )
inline

Returns the length of this Vector2.

Returns
The length of this Vector2.

◆ LengthSquared()

float Mathf.Vector2.LengthSquared ( )
inline

Returns the squared length of this Vector2.

Returns
The squared length of this Vector2.

◆ Lerp() [1/2]

static void Mathf.Vector2.Lerp ( ref Vector2 value1,
ref Vector2 value2,
float amount,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains linear interpolation of the specified vectors.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
resultThe result of linear interpolation of the specified vectors as an output parameter.

◆ Lerp() [2/2]

static Vector2 Mathf.Vector2.Lerp ( Vector2 value1,
Vector2 value2,
float amount )
inlinestatic

Creates a new Vector2 that contains linear interpolation of the specified vectors.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
Returns
The result of linear interpolation of the specified vectors.

◆ LerpPrecise() [1/2]

static void Mathf.Vector2.LerpPrecise ( ref Vector2 value1,
ref Vector2 value2,
float amount,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains linear interpolation of the specified vectors.

Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector2.Lerp(ref Vector2, ref Vector2, float, out Vector2). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
resultThe result of linear interpolation of the specified vectors as an output parameter.

◆ LerpPrecise() [2/2]

static Vector2 Mathf.Vector2.LerpPrecise ( Vector2 value1,
Vector2 value2,
float amount )
inlinestatic

Creates a new Vector2 that contains linear interpolation of the specified vectors.

Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector2.Lerp(Vector2, Vector2, float). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.

Parameters
value1The first vector.
value2The second vector.
amountWeighting value(between 0.0 and 1.0).
Returns
The result of linear interpolation of the specified vectors.

◆ Max() [1/2]

static void Mathf.Vector2.Max ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a maximal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe Vector2 with maximal values from the two vectors as an output parameter.

◆ Max() [2/2]

static Vector2 Mathf.Vector2.Max ( Vector2 value1,
Vector2 value2 )
inlinestatic

Creates a new Vector2 that contains a maximal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The Vector2 with maximal values from the two vectors.

◆ Min() [1/2]

static void Mathf.Vector2.Min ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a minimal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
resultThe Vector2 with minimal values from the two vectors as an output parameter.

◆ Min() [2/2]

static Vector2 Mathf.Vector2.Min ( Vector2 value1,
Vector2 value2 )
inlinestatic

Creates a new Vector2 that contains a minimal values from the two vectors.

Parameters
value1The first vector.
value2The second vector.
Returns
The Vector2 with minimal values from the two vectors.

◆ Multiply() [1/4]

static void Mathf.Vector2.Multiply ( ref Vector2 value1,
float scaleFactor,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a multiplication of Vector2 and a scalar.

Parameters
value1Source Vector2.
scaleFactorScalar value.
resultThe result of the multiplication with a scalar as an output parameter.

◆ Multiply() [2/4]

static void Mathf.Vector2.Multiply ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a multiplication of two vectors.

Parameters
value1Source Vector2.
value2Source Vector2.
resultThe result of the vector multiplication as an output parameter.

◆ Multiply() [3/4]

static Vector2 Mathf.Vector2.Multiply ( Vector2 value1,
float scaleFactor )
inlinestatic

Creates a new Vector2 that contains a multiplication of Vector2 and a scalar.

Parameters
value1Source Vector2.
scaleFactorScalar value.
Returns
The result of the vector multiplication with a scalar.

◆ Multiply() [4/4]

static Vector2 Mathf.Vector2.Multiply ( Vector2 value1,
Vector2 value2 )
inlinestatic

Creates a new Vector2 that contains a multiplication of two vectors.

Parameters
value1Source Vector2.
value2Source Vector2.
Returns
The result of the vector multiplication.

◆ Negate() [1/2]

static void Mathf.Vector2.Negate ( ref Vector2 value,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains the specified vector inversion.

Parameters
valueSource Vector2.
resultThe result of the vector inversion as an output parameter.

◆ Negate() [2/2]

static Vector2 Mathf.Vector2.Negate ( Vector2 value)
inlinestatic

Creates a new Vector2 that contains the specified vector inversion.

Parameters
valueSource Vector2.
Returns
The result of the vector inversion.

◆ Normalize() [1/3]

void Mathf.Vector2.Normalize ( )
inline

Turns this Vector2 to a unit vector with the same direction.

◆ Normalize() [2/3]

static void Mathf.Vector2.Normalize ( ref Vector2 value,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a normalized values from another vector.

Parameters
valueSource Vector2.
resultUnit vector as an output parameter.

◆ Normalize() [3/3]

static Vector2 Mathf.Vector2.Normalize ( Vector2 value)
inlinestatic

Creates a new Vector2 that contains a normalized values from another vector.

Parameters
valueSource Vector2.
Returns
Unit vector.

◆ operator!=()

static bool Mathf.Vector2.operator!= ( Vector2 value1,
Vector2 value2 )
inlinestatic

Compares whether two Vector2 instances are not equal.

Parameters
value1Vector2 instance on the left of the not equal sign.
value2Vector2 instance on the right of the not equal sign.
Returns
true if the instances are not equal; false otherwise.


◆ operator*() [1/3]

static Vector2 Mathf.Vector2.operator* ( float scaleFactor,
Vector2 value )
inlinestatic

Multiplies the components of vector by a scalar.

Parameters
scaleFactorScalar value on the left of the mul sign.
valueSource Vector2 on the right of the mul sign.
Returns
Result of the vector multiplication with a scalar.

◆ operator*() [2/3]

static Vector2 Mathf.Vector2.operator* ( Vector2 value,
float scaleFactor )
inlinestatic

Multiplies the components of vector by a scalar.

Parameters
valueSource Vector2 on the left of the mul sign.
scaleFactorScalar value on the right of the mul sign.
Returns
Result of the vector multiplication with a scalar.

◆ operator*() [3/3]

static Vector2 Mathf.Vector2.operator* ( Vector2 value1,
Vector2 value2 )
inlinestatic

Multiplies the components of two vectors by each other.

Parameters
value1Source Vector2 on the left of the mul sign.
value2Source Vector2 on the right of the mul sign.
Returns
Result of the vector multiplication.

◆ operator+()

static Vector2 Mathf.Vector2.operator+ ( Vector2 value1,
Vector2 value2 )
inlinestatic

Adds two vectors.

Parameters
value1Source Vector2 on the left of the add sign.
value2Source Vector2 on the right of the add sign.
Returns
Sum of the vectors.

◆ operator-() [1/2]

static Vector2 Mathf.Vector2.operator- ( Vector2 value)
inlinestatic

Inverts values in the specified Vector2.

Parameters
valueSource Vector2 on the right of the sub sign.
Returns
Result of the inversion.

◆ operator-() [2/2]

static Vector2 Mathf.Vector2.operator- ( Vector2 value1,
Vector2 value2 )
inlinestatic

Subtracts a Vector2 from a Vector2.

Parameters
value1Source Vector2 on the left of the sub sign.
value2Source Vector2 on the right of the sub sign.
Returns
Result of the vector subtraction.

◆ operator/() [1/2]

static Vector2 Mathf.Vector2.operator/ ( Vector2 value1,
float divider )
inlinestatic

Divides the components of a Vector2 by a scalar.

Parameters
value1Source Vector2 on the left of the div sign.
dividerDivisor scalar on the right of the div sign.
Returns
The result of dividing a vector by a scalar.

◆ operator/() [2/2]

static Vector2 Mathf.Vector2.operator/ ( Vector2 value1,
Vector2 value2 )
inlinestatic

Divides the components of a Vector2 by the components of another Vector2.

Parameters
value1Source Vector2 on the left of the div sign.
value2Divisor Vector2 on the right of the div sign.
Returns
The result of dividing the vectors.

◆ operator==()

static bool Mathf.Vector2.operator== ( Vector2 value1,
Vector2 value2 )
inlinestatic

Compares whether two Vector2 instances are equal.

Parameters
value1Vector2 instance on the left of the equal sign.
value2Vector2 instance on the right of the equal sign.
Returns
true if the instances are equal; false otherwise.

◆ Reflect() [1/2]

static void Mathf.Vector2.Reflect ( ref Vector2 vector,
ref Vector2 normal,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains reflect vector of the given vector and normal.

Parameters
vectorSource Vector2.
normalReflection normal.
resultReflected vector as an output parameter.

◆ Reflect() [2/2]

static Vector2 Mathf.Vector2.Reflect ( Vector2 vector,
Vector2 normal )
inlinestatic

Creates a new Vector2 that contains reflect vector of the given vector and normal.

Parameters
vectorSource Vector2.
normalReflection normal.
Returns
Reflected vector.

◆ Round() [1/3]

void Mathf.Vector2.Round ( )
inline

Round the members of this Vector2 to the nearest integer value.

◆ Round() [2/3]

static void Mathf.Vector2.Round ( ref Vector2 value,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains members from another vector rounded to the nearest integer value.

Parameters
valueSource Vector2.
resultThe rounded Vector2.

◆ Round() [3/3]

static Vector2 Mathf.Vector2.Round ( Vector2 value)
inlinestatic

Creates a new Vector2 that contains members from another vector rounded to the nearest integer value.

Parameters
valueSource Vector2.
Returns
The rounded Vector2.

◆ SmoothStep() [1/2]

static void Mathf.Vector2.SmoothStep ( ref Vector2 value1,
ref Vector2 value2,
float amount,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains cubic interpolation of the specified vectors.

Parameters
value1Source Vector2.
value2Source Vector2.
amountWeighting value.
resultCubic interpolation of the specified vectors as an output parameter.

◆ SmoothStep() [2/2]

static Vector2 Mathf.Vector2.SmoothStep ( Vector2 value1,
Vector2 value2,
float amount )
inlinestatic

Creates a new Vector2 that contains cubic interpolation of the specified vectors.

Parameters
value1Source Vector2.
value2Source Vector2.
amountWeighting value.
Returns
Cubic interpolation of the specified vectors.

◆ Subtract() [1/2]

static void Mathf.Vector2.Subtract ( ref Vector2 value1,
ref Vector2 value2,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains subtraction of on Vector2 from a another.

Parameters
value1Source Vector2.
value2Source Vector2.
resultThe result of the vector subtraction as an output parameter.

◆ Subtract() [2/2]

static Vector2 Mathf.Vector2.Subtract ( Vector2 value1,
Vector2 value2 )
inlinestatic

Creates a new Vector2 that contains subtraction of on Vector2 from a another.

Parameters
value1Source Vector2.
value2Source Vector2.
Returns
The result of the vector subtraction.

◆ ToPoint()

Point Mathf.Vector2.ToPoint ( )
inline

Gets a Point representation for this object.

Returns
A Point representation for this object.

◆ ToString()

override string Mathf.Vector2.ToString ( )
inline

Returns a String representation of this Vector2 in the format: {X:[X] Y:[Y]}.

Returns
A String representation of this Vector2.

◆ Transform() [1/8]

static void Mathf.Vector2.Transform ( ref Vector2 position,
ref Matrix matrix,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a transformation of 2d-vector by the specified Matrix.

Parameters
positionSource Vector2.
matrixThe transformation Matrix.
resultTransformed Vector2 as an output parameter.

◆ Transform() [2/8]

static void Mathf.Vector2.Transform ( ref Vector2 value,
ref Quaternion rotation,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a transformation of 2d-vector by the specified Quaternion, representing the rotation.

Parameters
valueSource Vector2.
rotationThe Quaternion which contains rotation transformation.
resultTransformed Vector2 as an output parameter.

◆ Transform() [3/8]

static Vector2 Mathf.Vector2.Transform ( Vector2 position,
Matrix matrix )
inlinestatic

Creates a new Vector2 that contains a transformation of 2d-vector by the specified Matrix.

Parameters
positionSource Vector2.
matrixThe transformation Matrix.
Returns
Transformed Vector2.

◆ Transform() [4/8]

static Vector2 Mathf.Vector2.Transform ( Vector2 value,
Quaternion rotation )
inlinestatic

Creates a new Vector2 that contains a transformation of 2d-vector by the specified Quaternion, representing the rotation.

Parameters
valueSource Vector2.
rotationThe Quaternion which contains rotation transformation.
Returns
Transformed Vector2.

◆ Transform() [5/8]

static void Mathf.Vector2.Transform ( Vector2[] sourceArray,
int sourceIndex,
ref Matrix matrix,
Vector2[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on vectors within array of Vector2 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
matrixThe transformation Matrix.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector2 should be written.
lengthThe number of vectors to be transformed.

◆ Transform() [6/8]

static void Mathf.Vector2.Transform ( Vector2[] sourceArray,
int sourceIndex,
ref Quaternion rotation,
Vector2[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on vectors within array of Vector2 by the specified Quaternion and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
rotationThe Quaternion which contains rotation transformation.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector2 should be written.
lengthThe number of vectors to be transformed.

◆ Transform() [7/8]

static void Mathf.Vector2.Transform ( Vector2[] sourceArray,
ref Matrix matrix,
Vector2[] destinationArray )
inlinestatic

Apply transformation on all vectors within array of Vector2 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
matrixThe transformation Matrix.
destinationArrayDestination array.

◆ Transform() [8/8]

static void Mathf.Vector2.Transform ( Vector2[] sourceArray,
ref Quaternion rotation,
Vector2[] destinationArray )
inlinestatic

Apply transformation on all vectors within array of Vector2 by the specified Quaternion and places the results in an another array.

Parameters
sourceArraySource array.
rotationThe Quaternion which contains rotation transformation.
destinationArrayDestination array.

◆ TransformNormal() [1/4]

static void Mathf.Vector2.TransformNormal ( ref Vector2 normal,
ref Matrix matrix,
out Vector2 result )
inlinestatic

Creates a new Vector2 that contains a transformation of the specified normal by the specified Matrix.

Parameters
normalSource Vector2 which represents a normal vector.
matrixThe transformation Matrix.
resultTransformed normal as an output parameter.

◆ TransformNormal() [2/4]

static Vector2 Mathf.Vector2.TransformNormal ( Vector2 normal,
Matrix matrix )
inlinestatic

Creates a new Vector2 that contains a transformation of the specified normal by the specified Matrix.

Parameters
normalSource Vector2 which represents a normal vector.
matrixThe transformation Matrix.
Returns
Transformed normal.

◆ TransformNormal() [3/4]

static void Mathf.Vector2.TransformNormal ( Vector2[] sourceArray,
int sourceIndex,
ref Matrix matrix,
Vector2[] destinationArray,
int destinationIndex,
int length )
inlinestatic

Apply transformation on normals within array of Vector2 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
sourceIndexThe starting index of transformation in the source array.
matrixThe transformation Matrix.
destinationArrayDestination array.
destinationIndexThe starting index in the destination array, where the first Vector2 should be written.
lengthThe number of normals to be transformed.

◆ TransformNormal() [4/4]

static void Mathf.Vector2.TransformNormal ( Vector2[] sourceArray,
ref Matrix matrix,
Vector2[] destinationArray )
inlinestatic

Apply transformation on all normals within array of Vector2 by the specified Matrix and places the results in an another array.

Parameters
sourceArraySource array.
matrixThe transformation Matrix.
destinationArrayDestination array.

Member Data Documentation

◆ unitVector

readonly Vector2 Mathf.Vector2.unitVector = new Vector2(1f, 1f)
staticprivate

◆ unitXVector

readonly Vector2 Mathf.Vector2.unitXVector = new Vector2(1f, 0f)
staticprivate

◆ unitYVector

readonly Vector2 Mathf.Vector2.unitYVector = new Vector2(0f, 1f)
staticprivate

◆ X

float Mathf.Vector2.X

The x coordinate of this Vector2.

◆ Y

float Mathf.Vector2.Y

The y coordinate of this Vector2.

◆ zeroVector

readonly Vector2 Mathf.Vector2.zeroVector = new Vector2(0f, 0f)
staticprivate

Property Documentation

◆ DebugDisplayString

string Mathf.Vector2.DebugDisplayString
getpackage

◆ One

Vector2 Mathf.Vector2.One
staticget

Returns a Vector2 with components 1, 1.

◆ UnitX

Vector2 Mathf.Vector2.UnitX
staticget

Returns a Vector2 with components 1, 0.

◆ UnitY

Vector2 Mathf.Vector2.UnitY
staticget

Returns a Vector2 with components 0, 1.

◆ Zero

Vector2 Mathf.Vector2.Zero
staticget

Returns a Vector2 with components 0, 0.


The documentation for this struct was generated from the following file: