Struct Int2
Twocomponents vector (32 bit integer type).
Implements
Inherited Members
Namespace: FlaxEngine
Assembly: FlaxEngine.CSharp.dll
Syntax
[Unmanaged]
[Tooltip("Twocomponents vector (32 bit integer type).")]
public struct Int2 : IEquatable<Int2>, IFormattable
Constructors
Int2(Int3)
Initializes a new instance of the Int2 struct.
Declaration
public Int2(Int3 value)
Parameters
Int3
value
A vector containing the values with which to initialize the X and Y components. 
Int2(Int4)
Initializes a new instance of the Int2 struct.
Declaration
public Int2(Int4 value)
Parameters
Int4
value
A vector containing the values with which to initialize the X and Y components. 
Int2(Int32)
Initializes a new instance of the Int2 struct.
Declaration
public Int2(int value)
Parameters
System.Int32
value
The value that will be assigned to all components. 
Int2(Int32, Int32)
Initializes a new instance of the Int2 struct.
Declaration
public Int2(int x, int y)
Parameters
System.Int32
x
Initial value for the X component of the vector. 
System.Int32
y
Initial value for the Y component of the vector. 
Int2(Int32[])
Initializes a new instance of the Int2 struct.
Declaration
public Int2(int[] values)
Parameters
System.Int32[]
values
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 
System.ArgumentOutOfRangeException
Thrown when 
Fields
Maximum
A Int2 with all components equal to System.Int32.MaxValue.
Declaration
public static readonly Int2 Maximum
Field Value
Int2

Minimum
A Int2 with all components equal to System.Int32.MinValue.
Declaration
public static readonly Int2 Minimum
Field Value
Int2

One
A Int2 with all of its components set to one.
Declaration
public static readonly Int2 One
Field Value
Int2

SizeInBytes
The size of the Int2 type, in bytes.
Declaration
public static readonly int SizeInBytes
Field Value
System.Int32

UnitX
UnitY
X
The X component.
Declaration
[Tooltip("The X component.")]
public int X
Field Value
System.Int32

Y
The Y component.
Declaration
[Tooltip("The Y component.")]
public int Y
Field Value
System.Int32

Zero
A Int2 with all of its components set to zero.
Declaration
public static readonly Int2 Zero
Field Value
Int2

Properties
AvgValue
Gets an arithmetic average value of all vector components.
Declaration
public float AvgValue { get; }
Property Value
System.Single

IsZero
Gets a value indicting whether this vector is zero
Declaration
public bool IsZero { get; }
Property Value
System.Boolean

Item[Int32]
Gets or sets the component at the specified index.
Declaration
public int this[int index] { get; set; }
Parameters
System.Int32
index
The index of the component to access. Use 0 for the X component and 1 for the Y component. 
Property Value
System.Int32
The value of the X or Y component, depending on the index. 
Exceptions
System.ArgumentOutOfRangeException
Thrown when the 
Length
Calculates the length of the vector.
Declaration
public float Length { get; }
Property Value
System.Single
The length of the vector. 
Remarks
LengthSquared may be preferred when only the relative length is needed and speed is of the essence.
LengthSquared
Calculates the squared length of the vector.
Declaration
public int LengthSquared { get; }
Property Value
System.Int32
The squared length of the vector. 
Remarks
This method may be preferred to Length when only a relative length is needed and speed is of the essence.
MaxValue
Gets a maximum component value
Declaration
public int MaxValue { get; }
Property Value
System.Int32

MinValue
Gets a minimum component value
Declaration
public int MinValue { get; }
Property Value
System.Int32

ValuesSum
Gets a sum of the component values.
Declaration
public int ValuesSum { get; }
Property Value
System.Int32

Methods
Abs(Int2)
Returns the absolute value of a vector.
Declaration
public static Int2 Abs(Int2 v)
Parameters
Int2
v
The value. 
Returns
Int2
A vector which components are less or equal to 0. 
Add(Int2, Int2)
Adds two vectors.
Declaration
public static Int2 Add(Int2 left, Int2 right)
Parameters
Int2
left
The first vector to add. 
Int2
right
The second vector to add. 
Returns
Int2
The sum of the two vectors. 
Add(Int2, Int32)
Perform a componentwise addition
Declaration
public static Int2 Add(Int2 left, int right)
Parameters
Int2
left
The input vector 
System.Int32
right
The scalar value to be added to elements 
Returns
Int2
The vector with added scalar for each element. 
Add(ref Int2, ref Int2, out Int2)
Adds two vectors.
Declaration
public static void Add(ref Int2 left, ref Int2 right, out Int2 result)
Parameters
Int2
left
The first vector to add. 
Int2
right
The second vector to add. 
Int2
result
When the method completes, contains the sum of the two vectors. 
Add(ref Int2, ref Int32, out Int2)
Perform a componentwise addition
Declaration
public static void Add(ref Int2 left, ref int right, out Int2 result)
Parameters
Int2
left
The input vector 
System.Int32
right
The scalar value to be added to elements 
Int2
result
The vector with added scalar for each element. 
Clamp(Int2, Int2, Int2)
Restricts a value to be within a specified range.
Declaration
public static Int2 Clamp(Int2 value, Int2 min, Int2 max)
Parameters
Int2
value
The value to clamp. 
Int2
min
The minimum value. 
Int2
max
The maximum value. 
Returns
Int2
The clamped value. 
Clamp(ref Int2, ref Int2, ref Int2, out Int2)
Restricts a value to be within a specified range.
Declaration
public static void Clamp(ref Int2 value, ref Int2 min, ref Int2 max, out Int2 result)
Parameters
Int2
value
The value to clamp. 
Int2
min
The minimum value. 
Int2
max
The maximum value. 
Int2
result
When the method completes, contains the clamped value. 
Distance(Int2, Int2)
Calculates the distance between two vectors.
Declaration
public static float Distance(Int2 value1, Int2 value2)
Parameters
Int2
value1
The first vector. 
Int2
value2
The second vector. 
Returns
System.Single
The distance between the two vectors. 
Remarks
DistanceSquared(Int2, Int2) may be preferred when only the relative distance is needed and speed is of the essence.
Distance(ref Int2, ref Int2, out Single)
Calculates the distance between two vectors.
Declaration
public static void Distance(ref Int2 value1, ref Int2 value2, out float result)
Parameters
Int2
value1
The first vector. 
Int2
value2
The second vector. 
System.Single
result
When the method completes, contains the distance between the two vectors. 
Remarks
DistanceSquared(ref Int2, ref Int2, out Int32) may be preferred when only the relative distance is needed and speed is of the essence.
DistanceSquared(Int2, Int2)
Calculates the squared distance between two vectors.
Declaration
public static int DistanceSquared(Int2 value1, Int2 value2)
Parameters
Int2
value1
The first vector. 
Int2
value2
The second vector. 
Returns
System.Int32
The squared distance between the two vectors. 
Remarks
Distance squared is the value before taking the square root. Distance squared can often be used in place of distance if relative comparisons are being made. For example, consider three points A, B, and C. To determine whether B or C is further from A, compare the distance between A and B to the distance between A and C. Calculating the two distances involves two square roots, which are computationally expensive. However, using distance squared provides the same information and avoids calculating two square roots.
DistanceSquared(ref Int2, ref Int2, out Int32)
Calculates the squared distance between two vectors.
Declaration
public static void DistanceSquared(ref Int2 value1, ref Int2 value2, out int result)
Parameters
Int2
value1
The first vector. 
Int2
value2
The second vector 
System.Int32
result
When the method completes, contains the squared distance between the two vectors. 
Remarks
Distance squared is the value before taking the square root. Distance squared can often be used in place of distance if relative comparisons are being made. For example, consider three points A, B, and C. To determine whether B or C is further from A, compare the distance between A and B to the distance between A and C. Calculating the two distances involves two square roots, which are computationally expensive. However, using distance squared provides the same information and avoids calculating two square roots.
Divide(Int2, Int32)
Scales a vector by the given value.
Declaration
public static Int2 Divide(Int2 value, int scale)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Returns
Int2
The scaled vector. 
Divide(ref Int2, Int32, out Int2)
Scales a vector by the given value.
Declaration
public static void Divide(ref Int2 value, int scale, out Int2 result)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Int2
result
When the method completes, contains the scaled vector. 
Divide(Int32, Int2)
Scales a vector by the given value.
Declaration
public static Int2 Divide(int scale, Int2 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. 
Int2
value
The vector to scale. 
Returns
Int2
The scaled vector. 
Divide(Int32, ref Int2, out Int2)
Scales a vector by the given value.
Declaration
public static void Divide(int scale, ref Int2 value, out Int2 result)
Parameters
System.Int32
scale
The amount by which to scale the vector. 
Int2
value
The vector to scale. 
Int2
result
When the method completes, contains the scaled vector. 
Dot(Int2, Int2)
Calculates the dot product of two vectors.
Declaration
public static int Dot(Int2 left, Int2 right)
Parameters
Int2
left
First source vector. 
Int2
right
Second source vector. 
Returns
System.Int32
The dot product of the two vectors. 
Dot(ref Int2, ref Int2, out Int32)
Calculates the dot product of two vectors.
Declaration
public static void Dot(ref Int2 left, ref Int2 right, out int result)
Parameters
Int2
left
First source vector. 
Int2
right
Second source vector. 
System.Int32
result
When the method completes, contains the dot product of the two vectors. 
Equals(Int2)
Determines whether the specified Int2 is equal to this instance.
Declaration
public bool Equals(Int2 other)
Parameters
Int2
other
The Int2 to compare with this instance. 
Returns
System.Boolean

Implements
Equals(ref Int2)
Determines whether the specified Int2 is equal to this instance.
Declaration
public bool Equals(ref Int2 other)
Parameters
Int2
other
The Int2 to compare with this instance. 
Returns
System.Boolean

Equals(ref Int2, ref Int2)
Determines whether the specified Int2 are equal.
Declaration
public static bool Equals(ref Int2 a, ref Int2 b)
Parameters
Int2
a

Int2
b

Returns
System.Boolean

Equals(Object)
Determines whether the specified System.Object is equal to this instance.
Declaration
public override bool Equals(object value)
Parameters
System.Object
value
The System.Object to compare with this instance. 
Returns
System.Boolean

Overrides
GetHashCode()
Returns a hash code for this instance.
Declaration
public override int GetHashCode()
Returns
System.Int32
A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
Overrides
Max(Int2, Int2)
Returns a vector containing the largest components of the specified vectors.
Declaration
public static Int2 Max(Int2 left, Int2 right)
Parameters
Int2
left
The first source vector. 
Int2
right
The second source vector. 
Returns
Int2
A vector containing the largest components of the source vectors. 
Max(ref Int2, ref Int2, out Int2)
Returns a vector containing the largest components of the specified vectors.
Declaration
public static void Max(ref Int2 left, ref Int2 right, out Int2 result)
Parameters
Int2
left
The first source vector. 
Int2
right
The second source vector. 
Int2
result
When the method completes, contains an new vector composed of the largest components of the source vectors. 
Min(Int2, Int2)
Returns a vector containing the smallest components of the specified vectors.
Declaration
public static Int2 Min(Int2 left, Int2 right)
Parameters
Int2
left
The first source vector. 
Int2
right
The second source vector. 
Returns
Int2
A vector containing the smallest components of the source vectors. 
Min(ref Int2, ref Int2, out Int2)
Returns a vector containing the smallest components of the specified vectors.
Declaration
public static void Min(ref Int2 left, ref Int2 right, out Int2 result)
Parameters
Int2
left
The first source vector. 
Int2
right
The second source vector. 
Int2
result
When the method completes, contains an new vector composed of the smallest components of the source vectors. 
Multiply(Int2, Int2)
Multiplies a vector with another by performing componentwise multiplication.
Declaration
public static Int2 Multiply(Int2 left, Int2 right)
Parameters
Int2
left
The first vector to multiply. 
Int2
right
The second vector to multiply. 
Returns
Int2
The multiplied vector. 
Multiply(Int2, Int32)
Scales a vector by the given value.
Declaration
public static Int2 Multiply(Int2 value, int scale)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Returns
Int2
The scaled vector. 
Multiply(ref Int2, ref Int2, out Int2)
Multiplies a vector with another by performing componentwise multiplication.
Declaration
public static void Multiply(ref Int2 left, ref Int2 right, out Int2 result)
Parameters
Int2
left
The first vector to multiply. 
Int2
right
The second vector to multiply. 
Int2
result
When the method completes, contains the multiplied vector. 
Multiply(ref Int2, Int32, out Int2)
Scales a vector by the given value.
Declaration
public static void Multiply(ref Int2 value, int scale, out Int2 result)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Int2
result
When the method completes, contains the scaled vector. 
Negate(Int2)
Reverses the direction of a given vector.
Declaration
public static Int2 Negate(Int2 value)
Parameters
Int2
value
The vector to negate. 
Returns
Int2
A vector facing in the opposite direction. 
Negate(ref Int2, out Int2)
Reverses the direction of a given vector.
Declaration
public static void Negate(ref Int2 value, out Int2 result)
Parameters
Int2
value
The vector to negate. 
Int2
result
When the method completes, contains a vector facing in the opposite direction. 
Subtract(Int2, Int2)
Subtracts two vectors.
Declaration
public static Int2 Subtract(Int2 left, Int2 right)
Parameters
Int2
left
The first vector to subtract. 
Int2
right
The second vector to subtract. 
Returns
Int2
The difference of the two vectors. 
Subtract(Int2, Int32)
Perform a componentwise subtraction
Declaration
public static Int2 Subtract(Int2 left, int right)
Parameters
Int2
left
The input vector 
System.Int32
right
The scalar value to be subtracted from elements 
Returns
Int2
The vector with subtracted scalar for each element. 
Subtract(ref Int2, ref Int2, out Int2)
Subtracts two vectors.
Declaration
public static void Subtract(ref Int2 left, ref Int2 right, out Int2 result)
Parameters
Int2
left
The first vector to subtract. 
Int2
right
The second vector to subtract. 
Int2
result
When the method completes, contains the difference of the two vectors. 
Subtract(ref Int2, ref Int32, out Int2)
Perform a componentwise subtraction
Declaration
public static void Subtract(ref Int2 left, ref int right, out Int2 result)
Parameters
Int2
left
The input vector 
System.Int32
right
The scalar value to be subtracted from elements 
Int2
result
The vector with subtracted scalar for each element. 
Subtract(Int32, Int2)
Perform a componentwise subtraction
Declaration
public static Int2 Subtract(int left, Int2 right)
Parameters
System.Int32
left
The scalar value to be subtracted from elements 
Int2
right
The input vector 
Returns
Int2
The vector with subtracted scalar for each element. 
Subtract(ref Int32, ref Int2, out Int2)
Perform a componentwise subtraction
Declaration
public static void Subtract(ref int left, ref Int2 right, out Int2 result)
Parameters
System.Int32
left
The scalar value to be subtracted from elements 
Int2
right
The input vector 
Int2
result
The vector with subtracted scalar for each element. 
ToArray()
Creates an array containing the elements of the vector.
Declaration
public int[] ToArray()
Returns
System.Int32[]
A twoelement array containing the components of the vector. 
ToString()
Returns a System.String that represents this instance.
Declaration
public override string ToString()
Returns
System.String
A System.String that represents this instance. 
Overrides
ToString(IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(IFormatProvider formatProvider)
Parameters
System.IFormatProvider
formatProvider
The format provider. 
Returns
System.String
A System.String that represents this instance. 
ToString(String)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format)
Parameters
System.String
format
The format. 
Returns
System.String
A System.String that represents this instance. 
ToString(String, IFormatProvider)
Returns a System.String that represents this instance.
Declaration
public string ToString(string format, IFormatProvider formatProvider)
Parameters
System.String
format
The format. 
System.IFormatProvider
formatProvider
The format provider. 
Returns
System.String
A System.String that represents this instance. 
Implements
Operators
Addition(Int2, Int2)
Adds two vectors.
Declaration
public static Int2 operator +(Int2 left, Int2 right)
Parameters
Int2
left
The first vector to add. 
Int2
right
The second vector to add. 
Returns
Int2
The sum of the two vectors. 
Addition(Int2, Int32)
Perform a componentwise addition
Declaration
public static Int2 operator +(Int2 value, int scalar)
Parameters
Int2
value
The input vector. 
System.Int32
scalar
The scalar value to be added on elements 
Returns
Int2
The vector with added scalar for each element. 
Addition(Int32, Int2)
Perform a componentwise addition
Declaration
public static Int2 operator +(int scalar, Int2 value)
Parameters
System.Int32
scalar
The scalar value to be added on elements 
Int2
value
The input vector. 
Returns
Int2
The vector with added scalar for each element. 
Division(Int2, Int2)
Scales a vector by the given value.
Declaration
public static Int2 operator /(Int2 value, Int2 scale)
Parameters
Int2
value
The vector to scale. 
Int2
scale
The amount by which to scale the vector. 
Returns
Int2
The scaled vector. 
Division(Int2, Int32)
Scales a vector by the given value.
Declaration
public static Int2 operator /(Int2 value, int scale)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Returns
Int2
The scaled vector. 
Division(Int32, Int2)
Scales a vector by the given value.
Declaration
public static Int2 operator /(int scale, Int2 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. 
Int2
value
The vector to scale. 
Returns
Int2
The scaled vector. 
Equality(Int2, Int2)
Tests for equality between two objects.
Declaration
public static bool operator ==(Int2 left, Int2 right)
Parameters
Int2
left
The first value to compare. 
Int2
right
The second value to compare. 
Returns
System.Boolean

Explicit(Int2 to Int3)
Declaration
public static explicit operator Int3(Int2 value)
Parameters
Int2
value
The value. 
Returns
Int3
The result of the conversion. 
Explicit(Int2 to Int4)
Declaration
public static explicit operator Int4(Int2 value)
Parameters
Int2
value
The value. 
Returns
Int4
The result of the conversion. 
Explicit(Int2 to Vector2)
Declaration
public static explicit operator Vector2(Int2 value)
Parameters
Int2
value
The value. 
Returns
Vector2
The result of the conversion. 
Explicit(Int2 to Vector3)
Declaration
public static explicit operator Vector3(Int2 value)
Parameters
Int2
value
The value. 
Returns
Vector3
The result of the conversion. 
Explicit(Int2 to Vector4)
Declaration
public static explicit operator Vector4(Int2 value)
Parameters
Int2
value
The value. 
Returns
Vector4
The result of the conversion. 
Inequality(Int2, Int2)
Tests for inequality between two objects.
Declaration
public static bool operator !=(Int2 left, Int2 right)
Parameters
Int2
left
The first value to compare. 
Int2
right
The second value to compare. 
Returns
System.Boolean

Modulus(Int2, Int2)
Remainder of value divided by scale.
Declaration
public static Int2 operator %(Int2 value, Int2 scale)
Parameters
Int2
value
The vector to scale. 
Int2
scale
The amount by which to scale the vector. 
Returns
Int2
The remained vector. 
Modulus(Int2, Single)
Remainder of value divided by scale.
Declaration
public static Int2 operator %(Int2 value, float scale)
Parameters
Int2
value
The vector to scale. 
System.Single
scale
The amount by which to scale the vector. 
Returns
Int2
The remained vector. 
Modulus(Single, Int2)
Remainder of value divided by scale.
Declaration
public static Int2 operator %(float value, Int2 scale)
Parameters
System.Single
value
The amount by which to scale the vector. 
Int2
scale
The vector to scale. 
Returns
Int2
The remained vector. 
Multiply(Int2, Int2)
Multiplies a vector with another by performing componentwise multiplication equivalent to Multiply(ref Int2, ref Int2, out Int2).
Declaration
public static Int2 operator *(Int2 left, Int2 right)
Parameters
Int2
left
The first vector to multiply. 
Int2
right
The second vector to multiply. 
Returns
Int2
The multiplication of the two vectors. 
Multiply(Int2, Int32)
Scales a vector by the given value.
Declaration
public static Int2 operator *(Int2 value, int scale)
Parameters
Int2
value
The vector to scale. 
System.Int32
scale
The amount by which to scale the vector. 
Returns
Int2
The scaled vector. 
Multiply(Int32, Int2)
Scales a vector by the given value.
Declaration
public static Int2 operator *(int scale, Int2 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. 
Int2
value
The vector to scale. 
Returns
Int2
The scaled vector. 
Subtraction(Int2, Int2)
Subtracts two vectors.
Declaration
public static Int2 operator (Int2 left, Int2 right)
Parameters
Int2
left
The first vector to subtract. 
Int2
right
The second vector to subtract. 
Returns
Int2
The difference of the two vectors. 
Subtraction(Int2, Int32)
Perform a componentwise subtraction
Declaration
public static Int2 operator (Int2 value, int scalar)
Parameters
Int2
value
The input vector. 
System.Int32
scalar
The scalar value to be subtracted from elements 
Returns
Int2
The vector with subtracted scalar from each element. 
Subtraction(Int32, Int2)
Perform a componentwise subtraction
Declaration
public static Int2 operator (int scalar, Int2 value)
Parameters
System.Int32
scalar
The scalar value to be subtracted from elements 
Int2
value
The input vector. 
Returns
Int2
The vector with subtracted scalar from each element. 
UnaryNegation(Int2)
Reverses the direction of a given vector.
Declaration
public static Int2 operator (Int2 value)
Parameters
Int2
value
The vector to negate. 
Returns
Int2
A vector facing in the opposite direction. 
UnaryPlus(Int2)
Assert a vector (return it unchanged).
Declaration
public static Int2 operator +(Int2 value)
Parameters
Int2
value
The vector to assert (unchanged). 
Returns
Int2
The asserted (unchanged) vector. 