[]
        
(Showing Draft Content)

GrapeCity.Documents.DX.Vector2

Struct Vector2

Namespace
GrapeCity.Documents.DX
Assembly
GcDocs.DX.Windows.dll

Represents a two dimensional mathematical vector.

public struct Vector2 : IEquatable<Vector2>, IFormattable
Implements
System.IEquatable<T><Vector2>
System.IFormattable
Inherited Members
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetType()

Constructors

Vector2(float, float)

Initializes a new instance of the Vector2 struct.

public Vector2(float x, float y)

Parameters

x float

Initial value for the X component of the vector.

y float

Initial value for the Y component of the vector.

Vector2(float)

Initializes a new instance of the Vector2 struct.

public Vector2(float value)

Parameters

value float

The value that will be assigned to all components.

Vector2(float[])

Initializes a new instance of the Vector2 struct.

public Vector2(float[] values)

Parameters

values float[]

The values to assign to the X and Y components of the vector. This must be an array with two elements.

Exceptions

System.ArgumentNullException

Thrown when values is null.

System.ArgumentOutOfRangeException

Thrown when values contains more or less than two elements.

Fields

One

A Vector2 with all of its components set to one.

public static readonly Vector2 One

Field Value

Vector2

SizeInBytes

The size of the Vector2 type, in bytes.

public const int SizeInBytes = 8

Field Value

int

UnitX

The X unit Vector2 (1, 0).

public static readonly Vector2 UnitX

Field Value

Vector2

UnitY

The Y unit Vector2 (0, 1).

public static readonly Vector2 UnitY

Field Value

Vector2

X

The X component of the vector.

public float X

Field Value

float

Y

The Y component of the vector.

public float Y

Field Value

float

Zero

A Vector2 with all of its components set to zero.

public static readonly Vector2 Zero

Field Value

Vector2

Properties

IsNormalized

Gets a value indicting whether this instance is normalized.

public bool IsNormalized { get; }

Property Value

bool

this[int]

Gets or sets the component at the specified index.

public float this[int index] { get; set; }

Parameters

index int

The index of the component to access. Use 0 for the X component and 1 for the Y component.

Property Value

float

The value of the X or Y component, depending on the index.

Exceptions

System.ArgumentOutOfRangeException

Thrown when the index is out of the range [0, 1].

Length

Gets the length of the vector.

public float Length { get; }

Property Value

float

LengthSquared

Gets the squared length of the vector.

public float LengthSquared { get; }

Property Value

float

Methods

Abs(Vector2)

Returns a vector whose elements are the absolute values of each of the specified vector's elements.

public static Vector2 Abs(Vector2 value)

Parameters

value Vector2

A vector.

Returns

Vector2

The absolute value vector.

AbsRef(ref Vector2)

Calculates the absolute value vector.

public static void AbsRef(ref Vector2 value)

Parameters

value Vector2

A vector.

Add(Vector2, Vector2)

Adds two vectors.

public static Vector2 Add(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to add.

right Vector2

The second vector to add.

Returns

Vector2

The sum of the two vectors.

AngleBetween(Vector2, Vector2)

Calculates an angle between two vectors, in radians.

public static float AngleBetween(Vector2 vector1, Vector2 vector2)

Parameters

vector1 Vector2
vector2 Vector2

Returns

float

Clamp(Vector2, Vector2, Vector2)

Restricts a vector between a minimum and a maximum value.

public static Vector2 Clamp(Vector2 value, Vector2 min, Vector2 max)

Parameters

value Vector2

The vector to restrict.

min Vector2

The minimum value.

max Vector2

The maximum value.

Returns

Vector2

The restricted vector.

Divide(Vector2, Vector2)

Divides the first vector by the second.

public static Vector2 Divide(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector.

right Vector2

The second vector.

Returns

Vector2

The vector resulting from the division.

Divide(Vector2, float)

Divides the specified vector by a specified scalar value.

public static Vector2 Divide(Vector2 left, float divisor)

Parameters

left Vector2

The vector.

divisor float

The scalar value.

Returns

Vector2

The vector that results from the division.

Dot(Vector2, Vector2)

Calculates the dot product of two vectors.

public static float Dot(Vector2 left, Vector2 right)

Parameters

left Vector2

First source vector.

right Vector2

Second source vector.

Returns

float

The dot product of the two vectors.

Equals(Vector2)

Determines whether the specified Vector2 is equal to this instance.

public bool Equals(Vector2 other)

Parameters

other Vector2

Returns

bool

Equals(object)

Determines whether the specified object is equal to this instance.

public override bool Equals(object value)

Parameters

value object

Returns

bool

GetHashCode()

Returns a hash code for this instance.

public override int GetHashCode()

Returns

int

A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.

Lerp(Vector2, Vector2, float)

Performs a linear interpolation between two vectors based on the given weighting.

public static Vector2 Lerp(Vector2 value1, Vector2 value2, float amount)

Parameters

value1 Vector2

The first vector.

value2 Vector2

The second vector.

amount float

A value between 0 and 1 that indicates the weight of value2.

Returns

Vector2

The interpolated vector.

Max(Vector2, Vector2)

Returns a vector containing the largest components of the specified vectors.

public static Vector2 Max(Vector2 left, Vector2 right)

Parameters

left Vector2

The first source vector.

right Vector2

The second source vector.

Returns

Vector2

A vector containing the largest components of the source vectors.

Min(Vector2, Vector2)

Returns a vector containing the smallest components of the specified vectors.

public static Vector2 Min(Vector2 left, Vector2 right)

Parameters

left Vector2

The first source vector.

right Vector2

The second source vector.

Returns

Vector2

A vector containing the smallest components of the source vectors.

Multiply(Vector2, Vector2)

Modulates a vector with another by performing component-wise multiplication.

public static Vector2 Multiply(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to modulate.

right Vector2

The second vector to modulate.

Returns

Vector2

The modulated vector.

Multiply(Vector2, float)

Scales a vector by the given value.

public static Vector2 Multiply(Vector2 value, float scale)

Parameters

value Vector2

The vector to scale.

scale float

The amount by which to scale the vector.

Returns

Vector2

The scaled vector.

Negate(Vector2)

Reverses the direction of a given vector.

public static Vector2 Negate(Vector2 value)

Parameters

value Vector2

The vector to negate.

Returns

Vector2

A vector facing in the opposite direction.

NegateRef(ref Vector2)

Reverses the direction of the vector.

public static void NegateRef(ref Vector2 value)

Parameters

value Vector2

The vector to negate.

Normalize(Vector2)

Converts the vector into a unit vector.

public static Vector2 Normalize(Vector2 value)

Parameters

value Vector2

The vector to normalize.

Returns

Vector2

The normalized vector.

NormalizeRef(ref Vector2)

Converts the vector into a unit vector.

public static void NormalizeRef(ref Vector2 value)

Parameters

value Vector2

The vector to normalize.

Subtract(Vector2, Vector2)

Subtracts two vectors.

public static Vector2 Subtract(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to subtract.

right Vector2

The second vector to subtract.

Returns

Vector2

The difference of the two vectors.

ToArray()

Creates an array containing the elements of the vector.

public float[] ToArray()

Returns

float[]

A two-element array containing the components of the vector.

ToString()

Returns a string that represents this instance.

public override string ToString()

Returns

string

A string that represents this instance.

ToString(IFormatProvider)

Returns a string that represents this instance.

public string ToString(IFormatProvider formatProvider)

Parameters

formatProvider System.IFormatProvider

The format provider.

Returns

string

A string that represents this instance.

ToString(string, IFormatProvider)

Returns a string that represents this instance.

public string ToString(string format, IFormatProvider formatProvider)

Parameters

format string

The format.

formatProvider System.IFormatProvider

The format provider.

Returns

string

A string that represents this instance.

ToString(string)

Returns a string that represents this instance.

public string ToString(string format)

Parameters

format string

The format.

Returns

string

A string that represents this instance.

Operators

operator +(Vector2, Point2F)

Adds the vector to the point.

public static Point2F operator +(Vector2 vector, Point2F point)

Parameters

vector Vector2
point Point2F

Returns

Point2F

operator +(Vector2, Vector2)

Adds two vectors.

public static Vector2 operator +(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to add.

right Vector2

The second vector to add.

Returns

Vector2

The sum of the two vectors.

operator /(Vector2, Vector2)

Divides the first vector by the second.

public static Vector2 operator /(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector.

right Vector2

The second vector.

Returns

Vector2

The vector resulting from the division.

operator /(Vector2, float)

Divides the specified vector by a specified scalar value.

public static Vector2 operator /(Vector2 value, float divisor)

Parameters

value Vector2

The vector.

divisor float

The scalar value.

Returns

Vector2

The vector that results from the division.

operator ==(Vector2, Vector2)

Tests for equality between two objects.

public static bool operator ==(Vector2 left, Vector2 right)

Parameters

left Vector2

The first value to compare.

right Vector2

The second value to compare.

Returns

bool

explicit operator Vector3(Vector2)

Performs an explicit conversion from Vector2 to Vector3.

public static explicit operator Vector3(Vector2 value)

Parameters

value Vector2

The value.

Returns

Vector3

The result of the conversion.

explicit operator Vector4(Vector2)

Performs an explicit conversion from Vector2 to Vector4.

public static explicit operator Vector4(Vector2 value)

Parameters

value Vector2

The value.

Returns

Vector4

The result of the conversion.

operator !=(Vector2, Vector2)

Tests for inequality between two objects.

public static bool operator !=(Vector2 left, Vector2 right)

Parameters

left Vector2

The first value to compare.

right Vector2

The second value to compare.

Returns

bool

operator *(Vector2, Vector2)

Modulates a vector with another by performing component-wise multiplication.

public static Vector2 operator *(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to multiply.

right Vector2

The second vector to multiply.

Returns

Vector2

The multiplication of the two vectors.

operator *(Vector2, float)

Scales a vector by the given value.

public static Vector2 operator *(Vector2 value, float scale)

Parameters

value Vector2

The vector to scale.

scale float

The amount by which to scale the vector.

Returns

Vector2

The scaled vector.

operator *(float, Vector2)

Scales a vector by the given value.

public static Vector2 operator *(float scale, Vector2 value)

Parameters

scale float

The amount by which to scale the vector.

value Vector2

The vector to scale.

Returns

Vector2

The scaled vector.

operator -(Vector2, Vector2)

Subtracts two vectors.

public static Vector2 operator -(Vector2 left, Vector2 right)

Parameters

left Vector2

The first vector to subtract.

right Vector2

The second vector to subtract.

Returns

Vector2

The difference of the two vectors.

operator -(Vector2)

Reverses the direction of a given vector.

public static Vector2 operator -(Vector2 value)

Parameters

value Vector2

The vector to negate.

Returns

Vector2

A vector facing in the opposite direction.