Int3 Struct
Namespace: Stride.Core.MathematicsAssembly: Stride.Core.Mathematics.dll
Represents a three dimensional mathematical vector.
[DataContract("Int3")]
[DataStyle(DataStyle.Compact)]
public struct Int3 : IEquatable<Int3>, IFormattable| Name | Description | |
|---|---|---|
| Constructors | ||
| Int3(Vector2, Int32) | Initializes a new instance of the Int3 struct. | |
| Int3(Int32) | Initializes a new instance of the Int3 struct. | |
| Int3(Int32, Int32, Int32) | Initializes a new instance of the Int3 struct. | |
| Int3(Int32[]) | Initializes a new instance of the Int3 struct. | |
| Fields | ||
| One | A Int3 with all of its components set to one. | |
| SizeInBytes | The size of the Int3 type, in bytes. | |
| UnitX | The X unit Int3 (1, 0, 0). | |
| UnitY | The Y unit Int3 (0, 1, 0). | |
| UnitZ | The Z unit Int3 (0, 0, 1). | |
| X | The X component of the vector. | |
| Y | The Y component of the vector. | |
| Z | The Z component of the vector. | |
| Zero | A Int3 with all of its components set to zero. | |
| Properties | ||
| Item[Int32] | Gets or sets the component at the specified index. | |
| Methods | ||
| Add(Int3, Int3) | Adds two vectors. | |
| Add(ref Int3, ref Int3, out Int3) | Adds two vectors. | |
| Clamp(Int3, Int3, Int3) | Restricts a value to be within a specified range. | |
| Clamp(ref Int3, ref Int3, ref Int3, out Int3) | Restricts a value to be within a specified range. | |
| Divide(Int3, Int32) | Scales a vector by the given value. | |
| Divide(ref Int3, Int32, out Int3) | Scales a vector by the given value. | |
| Dot(Int3, Int3) | Calculates the dot product of two vectors. | |
| Dot(ref Int3, ref Int3, out Int32) | Calculates the dot product of two vectors. | |
| Equals(Int3) | Determines whether the specified Int3 is equal to this instance. | |
| Equals(Object) | Determines whether the specified System.Object is equal to this instance. | |
| GetHashCode() | Returns a hash code for this instance. | |
| Length() | Calculates the length of the vector. | |
| LengthSquared() | Calculates the squared length of the vector. | |
| Lerp(Int3, Int3, Single) | Performs a linear interpolation between two vectors. | |
| Lerp(ref Int3, ref Int3, Single, out Int3) | Performs a linear interpolation between two vectors. | |
| Max(Int3, Int3) | Returns a vector containing the largest components of the specified vectors. | |
| Max(ref Int3, ref Int3, out Int3) | Returns a vector containing the smallest components of the specified vectors. | |
| Min(Int3, Int3) | Returns a vector containing the smallest components of the specified vectors. | |
| Min(ref Int3, ref Int3, out Int3) | Returns a vector containing the smallest components of the specified vectors. | |
| Modulate(Int3, Int3) | Modulates a vector with another by performing component-wise multiplication. | |
| Modulate(ref Int3, ref Int3, out Int3) | Modulates a vector with another by performing component-wise multiplication. | |
| Multiply(Int3, Int32) | Scales a vector by the given value. | |
| Multiply(ref Int3, Int32, out Int3) | Scales a vector by the given value. | |
| Negate(Int3) | Reverses the direction of a given vector. | |
| Negate(ref Int3, out Int3) | Reverses the direction of a given vector. | |
| Pow(Int32) | Raises the exponent for each components. | |
| SmoothStep(Int3, Int3, Single) | Performs a cubic interpolation between two vectors. | |
| SmoothStep(ref Int3, ref Int3, Single, out Int3) | Performs a cubic interpolation between two vectors. | |
| Subtract(Int3, Int3) | Subtracts two vectors. | |
| Subtract(ref Int3, ref Int3, out Int3) | Subtracts two vectors. | |
| ToArray() | Creates an array containing the elements of the vector. | |
| ToString() | Returns a System.String that represents this instance. | |
| ToString(IFormatProvider) | Returns a System.String that represents this instance. | |
| ToString(String) | Returns a System.String that represents this instance. | |
| ToString(String, IFormatProvider) | Returns a System.String that represents this instance. | |
| Operators | ||
| Addition(Int3, Int3) | Adds two vectors. | |
| Division(Int3, Single) | Scales a vector by the given value. | |
| Equality(Int3, Int3) | Tests for equality between two objects. | |
| Explicit(Int3 to Vector2) | ||
| Explicit(Int3 to Vector3) | ||
| Explicit(Int3 to Vector4) | ||
| Inequality(Int3, Int3) | Tests for inequality between two objects. | |
| Multiply(Int3, Single) | Scales a vector by the given value. | |
| Multiply(Single, Int3) | Scales a vector by the given value. | |
| Subtraction(Int3, Int3) | Subtracts two vectors. | |
| UnaryNegation(Int3) | Reverses the direction of a given vector. | |
| UnaryPlus(Int3) | Assert a vector (return it unchanged). | |
Constructors
Int3(Vector2, Int32)
Initializes a new instance of the Int3 struct.
public Int3(Vector2 value, int z)Parameters
| Type | Name | Description | 
|---|---|---|
| Vector2 | value | A vector containing the values with which to initialize the X and Y components. | 
| System.Int32 | z | Initial value for the Z component of the vector. | 
Int3(Int32)
Initializes a new instance of the Int3 struct.
public Int3(int value)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | value | The value that will be assigned to all components. | 
Int3(Int32, Int32, Int32)
Initializes a new instance of the Int3 struct.
public Int3(int x, int y, int z)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | x | Initial value for the X component of the vector. | 
| System.Int32 | y | Initial value for the Y component of the vector. | 
| System.Int32 | z | Initial value for the Z component of the vector. | 
Int3(Int32[])
Initializes a new instance of the Int3 struct.
public Int3(int[] values)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32[] | values | The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements. | 
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | Thrown when  | 
| System.ArgumentOutOfRangeException | Thrown when  | 
Fields
One
A Int3 with all of its components set to one.
public static readonly Int3 OneField Value
| Type | Description | 
|---|---|
| Int3 | 
SizeInBytes
The size of the Int3 type, in bytes.
public static readonly int SizeInBytesField Value
| Type | Description | 
|---|---|
| System.Int32 | 
UnitX
The X unit Int3 (1, 0, 0).
public static readonly Int3 UnitXField Value
| Type | Description | 
|---|---|
| Int3 | 
UnitY
The Y unit Int3 (0, 1, 0).
public static readonly Int3 UnitYField Value
| Type | Description | 
|---|---|
| Int3 | 
UnitZ
The Z unit Int3 (0, 0, 1).
public static readonly Int3 UnitZField Value
| Type | Description | 
|---|---|
| Int3 | 
X
The X component of the vector.
[DataMember(0)]
public int XField Value
| Type | Description | 
|---|---|
| System.Int32 | 
Y
The Y component of the vector.
[DataMember(1)]
public int YField Value
| Type | Description | 
|---|---|
| System.Int32 | 
Z
The Z component of the vector.
[DataMember(2)]
public int ZField Value
| Type | Description | 
|---|---|
| System.Int32 | 
Zero
A Int3 with all of its components set to zero.
public static readonly Int3 ZeroField Value
| Type | Description | 
|---|---|
| Int3 | 
Properties
Item[Int32]
Gets or sets the component at the specified index.
public int this[int index] { get; set; }Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | index | The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component. | 
Property Value
| Type | Description | 
|---|---|
| System.Int32 | The value of the X, Y, or Z component, depending on the index. | 
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentOutOfRangeException | Thrown when the  | 
Methods
Add(Int3, Int3)
Adds two vectors.
public static Int3 Add(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to add. | 
| Int3 | right | The second vector to add. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The sum of the two vectors. | 
Add(ref Int3, ref Int3, out Int3)
Adds two vectors.
public static void Add(ref Int3 left, ref Int3 right, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to add. | 
| Int3 | right | The second vector to add. | 
| Int3 | result | When the method completes, contains the sum of the two vectors. | 
Clamp(Int3, Int3, Int3)
Restricts a value to be within a specified range.
public static Int3 Clamp(Int3 value, Int3 min, Int3 max)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The value to clamp. | 
| Int3 | min | The minimum value. | 
| Int3 | max | The maximum value. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The clamped value. | 
Clamp(ref Int3, ref Int3, ref Int3, out Int3)
Restricts a value to be within a specified range.
public static void Clamp(ref Int3 value, ref Int3 min, ref Int3 max, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The value to clamp. | 
| Int3 | min | The minimum value. | 
| Int3 | max | The maximum value. | 
| Int3 | result | When the method completes, contains the clamped value. | 
Divide(Int3, Int32)
Scales a vector by the given value.
public static Int3 Divide(Int3 value, int scale)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Int32 | scale | The amount by which to scale the vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The scaled vector. | 
Divide(ref Int3, Int32, out Int3)
Scales a vector by the given value.
public static void Divide(ref Int3 value, int scale, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Int32 | scale | The amount by which to scale the vector. | 
| Int3 | result | When the method completes, contains the scaled vector. | 
Dot(Int3, Int3)
Calculates the dot product of two vectors.
public static int Dot(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | First source vector. | 
| Int3 | right | Second source vector. | 
Returns
| Type | Description | 
|---|---|
| System.Int32 | The dot product of the two vectors. | 
Dot(ref Int3, ref Int3, out Int32)
Calculates the dot product of two vectors.
public static void Dot(ref Int3 left, ref Int3 right, out int result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | First source vector. | 
| Int3 | right | Second source vector. | 
| System.Int32 | result | When the method completes, contains the dot product of the two vectors. | 
Equals(Int3)
Determines whether the specified Int3 is equal to this instance.
public bool Equals(Int3 other)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | other | The Int3 to compare with this instance. | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
 | 
Equals(Object)
Determines whether the specified System.Object is equal to this instance.
public override bool Equals(object value)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | value | The System.Object to compare with this instance. | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
 | 
Overrides
GetHashCode()
Returns a hash code for this instance.
public override int GetHashCode()Returns
| Type | Description | 
|---|---|
| System.Int32 | A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. | 
Overrides
Length()
Calculates the length of the vector.
public int Length()Returns
| Type | Description | 
|---|---|
| System.Int32 | 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.
public int LengthSquared()Returns
| Type | Description | 
|---|---|
| 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.
Lerp(Int3, Int3, Single)
Performs a linear interpolation between two vectors.
public static Int3 Lerp(Int3 start, Int3 end, float amount)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | start | Start vector. | 
| Int3 | end | End vector. | 
| System.Single | amount | Value between 0 and 1 indicating the weight of  | 
Returns
| Type | Description | 
|---|---|
| Int3 | The linear interpolation of the two vectors. | 
Remarks
This method performs the linear interpolation based on the following formula.
start + (end - start) * amountPassing amount a value of 0 will cause start to be returned; a value of 1 will cause end to be returned. 
Lerp(ref Int3, ref Int3, Single, out Int3)
Performs a linear interpolation between two vectors.
public static void Lerp(ref Int3 start, ref Int3 end, float amount, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | start | Start vector. | 
| Int3 | end | End vector. | 
| System.Single | amount | Value between 0 and 1 indicating the weight of  | 
| Int3 | result | When the method completes, contains the linear interpolation of the two vectors. | 
Remarks
This method performs the linear interpolation based on the following formula.
start + (end - start) * amountPassing amount a value of 0 will cause start to be returned; a value of 1 will cause end to be returned. 
Max(Int3, Int3)
Returns a vector containing the largest components of the specified vectors.
public static Int3 Max(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first source vector. | 
| Int3 | right | The second source vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | A vector containing the largest components of the source vectors. | 
Max(ref Int3, ref Int3, out Int3)
Returns a vector containing the smallest components of the specified vectors.
public static void Max(ref Int3 left, ref Int3 right, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first source vector. | 
| Int3 | right | The second source vector. | 
| Int3 | result | When the method completes, contains an new vector composed of the largest components of the source vectors. | 
Min(Int3, Int3)
Returns a vector containing the smallest components of the specified vectors.
public static Int3 Min(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first source vector. | 
| Int3 | right | The second source vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | A vector containing the smallest components of the source vectors. | 
Min(ref Int3, ref Int3, out Int3)
Returns a vector containing the smallest components of the specified vectors.
public static void Min(ref Int3 left, ref Int3 right, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first source vector. | 
| Int3 | right | The second source vector. | 
| Int3 | result | When the method completes, contains an new vector composed of the smallest components of the source vectors. | 
Modulate(Int3, Int3)
Modulates a vector with another by performing component-wise multiplication.
public static Int3 Modulate(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to modulate. | 
| Int3 | right | The second vector to modulate. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The modulated vector. | 
Modulate(ref Int3, ref Int3, out Int3)
Modulates a vector with another by performing component-wise multiplication.
public static void Modulate(ref Int3 left, ref Int3 right, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to modulate. | 
| Int3 | right | The second vector to modulate. | 
| Int3 | result | When the method completes, contains the modulated vector. | 
Multiply(Int3, Int32)
Scales a vector by the given value.
public static Int3 Multiply(Int3 value, int scale)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Int32 | scale | The amount by which to scale the vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The scaled vector. | 
Multiply(ref Int3, Int32, out Int3)
Scales a vector by the given value.
public static void Multiply(ref Int3 value, int scale, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Int32 | scale | The amount by which to scale the vector. | 
| Int3 | result | When the method completes, contains the scaled vector. | 
Negate(Int3)
Reverses the direction of a given vector.
public static Int3 Negate(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to negate. | 
Returns
| Type | Description | 
|---|---|
| Int3 | A vector facing in the opposite direction. | 
Negate(ref Int3, out Int3)
Reverses the direction of a given vector.
public static void Negate(ref Int3 value, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to negate. | 
| Int3 | result | When the method completes, contains a vector facing in the opposite direction. | 
Pow(Int32)
Raises the exponent for each components.
public void Pow(int exponent)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | exponent | The exponent. | 
SmoothStep(Int3, Int3, Single)
Performs a cubic interpolation between two vectors.
public static Int3 SmoothStep(Int3 start, Int3 end, float amount)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | start | Start vector. | 
| Int3 | end | End vector. | 
| System.Single | amount | Value between 0 and 1 indicating the weight of  | 
Returns
| Type | Description | 
|---|---|
| Int3 | The cubic interpolation of the two vectors. | 
SmoothStep(ref Int3, ref Int3, Single, out Int3)
Performs a cubic interpolation between two vectors.
public static void SmoothStep(ref Int3 start, ref Int3 end, float amount, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | start | Start vector. | 
| Int3 | end | End vector. | 
| System.Single | amount | Value between 0 and 1 indicating the weight of  | 
| Int3 | result | When the method completes, contains the cubic interpolation of the two vectors. | 
Subtract(Int3, Int3)
Subtracts two vectors.
public static Int3 Subtract(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to subtract. | 
| Int3 | right | The second vector to subtract. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The difference of the two vectors. | 
Subtract(ref Int3, ref Int3, out Int3)
Subtracts two vectors.
public static void Subtract(ref Int3 left, ref Int3 right, out Int3 result)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to subtract. | 
| Int3 | right | The second vector to subtract. | 
| Int3 | result | When the method completes, contains the difference of the two vectors. | 
ToArray()
Creates an array containing the elements of the vector.
public int[] ToArray()Returns
| Type | Description | 
|---|---|
| System.Int32[] | A three-element array containing the components of the vector. | 
ToString()
Returns a System.String that represents this instance.
public override string ToString()Returns
| Type | Description | 
|---|---|
| System.String | A System.String that represents this instance. | 
Overrides
ToString(IFormatProvider)
Returns a System.String that represents this instance.
public string ToString(IFormatProvider formatProvider)Parameters
| Type | Name | Description | 
|---|---|---|
| System.IFormatProvider | formatProvider | The format provider. | 
Returns
| Type | Description | 
|---|---|
| System.String | A System.String that represents this instance. | 
ToString(String)
Returns a System.String that represents this instance.
public string ToString(string format)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | format | The format. | 
Returns
| Type | Description | 
|---|---|
| System.String | A System.String that represents this instance. | 
ToString(String, IFormatProvider)
Returns a System.String that represents this instance.
public string ToString(string format, IFormatProvider formatProvider)Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | format | The format. | 
| System.IFormatProvider | formatProvider | The format provider. | 
Returns
| Type | Description | 
|---|---|
| System.String | A System.String that represents this instance. | 
Operators
Addition(Int3, Int3)
Adds two vectors.
public static Int3 operator +(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to add. | 
| Int3 | right | The second vector to add. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The sum of the two vectors. | 
Division(Int3, Single)
Scales a vector by the given value.
public static Int3 operator /(Int3 value, float scale)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Single | scale | The amount by which to scale the vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The scaled vector. | 
Equality(Int3, Int3)
Tests for equality between two objects.
public static bool operator ==(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first value to compare. | 
| Int3 | right | The second value to compare. | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
 | 
Explicit(Int3 to Vector2)
public static explicit operator Vector2(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The value. | 
Returns
| Type | Description | 
|---|---|
| Vector2 | The result of the conversion. | 
Explicit(Int3 to Vector3)
public static explicit operator Vector3(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The value. | 
Returns
| Type | Description | 
|---|---|
| Vector3 | The result of the conversion. | 
Explicit(Int3 to Vector4)
public static explicit operator Vector4(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The value. | 
Returns
| Type | Description | 
|---|---|
| Vector4 | The result of the conversion. | 
Inequality(Int3, Int3)
Tests for inequality between two objects.
public static bool operator !=(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first value to compare. | 
| Int3 | right | The second value to compare. | 
Returns
| Type | Description | 
|---|---|
| System.Boolean | 
 | 
Multiply(Int3, Single)
Scales a vector by the given value.
public static Int3 operator *(Int3 value, float scale)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to scale. | 
| System.Single | scale | The amount by which to scale the vector. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The scaled vector. | 
Multiply(Single, Int3)
Scales a vector by the given value.
public static Int3 operator *(float scale, Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Single | scale | The amount by which to scale the vector. | 
| Int3 | value | The vector to scale. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The scaled vector. | 
Subtraction(Int3, Int3)
Subtracts two vectors.
public static Int3 operator -(Int3 left, Int3 right)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | left | The first vector to subtract. | 
| Int3 | right | The second vector to subtract. | 
Returns
| Type | Description | 
|---|---|
| Int3 | The difference of the two vectors. | 
UnaryNegation(Int3)
Reverses the direction of a given vector.
public static Int3 operator -(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to negate. | 
Returns
| Type | Description | 
|---|---|
| Int3 | A vector facing in the opposite direction. | 
UnaryPlus(Int3)
Assert a vector (return it unchanged).
public static Int3 operator +(Int3 value)Parameters
| Type | Name | Description | 
|---|---|---|
| Int3 | value | The vector to assert (unchange). | 
Returns
| Type | Description | 
|---|---|
| Int3 | The asserted (unchanged) vector. |