Class Int4
Represents a four dimensional mathematical vector with 32-bit precision (per-component).
Inheritance
Implements
Namespace: FlaxEngine
Assembly: FlaxEngine.CSharp.dll
Syntax
[Unmanaged]
public sealed class Int4 : ValueType, IEquatable<Int4>, IFormattable
Constructors
Int4(Int2, Int32, Int32)
Initializes a new instance of the Int4 struct.
Declaration
public Int4(Int2 value, int z, int w)
Parameters
Int2
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. |
System.Int32
w
Initial value for the W component of the vector. |
Int4(Int3, Int32)
Initializes a new instance of the Int4 struct.
Declaration
public Int4(Int3 value, int w)
Parameters
Int3
value
A vector containing the values with which to initialize the X, Y, and Z components. |
System.Int32
w
Initial value for the W component of the vector. |
Int4(Int32)
Initializes a new instance of the Int4 struct.
Declaration
public Int4(int value)
Parameters
System.Int32
value
The value that will be assigned to all components. |
Int4(Int32, Int32, Int32, Int32)
Initializes a new instance of the Int4 struct.
Declaration
public Int4(int x, int y, int z, int w)
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. |
System.Int32
z
Initial value for the Z component of the vector. |
System.Int32
w
Initial value for the W component of the vector. |
Int4(Int32[])
Initializes a new instance of the Int4 struct.
Declaration
public Int4(int[] values)
Parameters
System.Int32[]
values
The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements. |
Exceptions
System.ArgumentNullException
Thrown when |
System.ArgumentOutOfRangeException
Thrown when |
Fields
Maximum
A Int4 with all components equal to System.Int32.MaxValue.
Declaration
public static readonly Int4 Maximum
Field Value
Int4
|
Minimum
A Int4 with all components equal to System.Int32.MinValue.
Declaration
public static readonly Int4 Minimum
Field Value
Int4
|
One
A Int4 with all of its components set to one.
Declaration
public static readonly Int4 One
Field Value
Int4
|
SizeInBytes
The size of the Int4 type, in bytes.
Declaration
public static readonly int SizeInBytes
Field Value
System.Int32
|
UnitW
UnitX
UnitY
UnitZ
W
The W component.
Declaration
public int W
Field Value
System.Int32
|
X
The X component.
Declaration
public int X
Field Value
System.Int32
|
Y
The Y component.
Declaration
public int Y
Field Value
System.Int32
|
Z
The Z component.
Declaration
public int Z
Field Value
System.Int32
|
Zero
A Int4 with all of its components set to zero.
Declaration
public static readonly Int4 Zero
Field Value
Int4
|
Properties
Default
IsOne
Gets a value indicting whether this vector is one
Declaration
public bool IsOne { get; }
Property Value
System.Boolean
|
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, 1 for the Y component, 2 for the Z component, and 3 for the W component. |
Property Value
System.Int32
The value of the X, Y, Z, or W component, depending on the index. |
Exceptions
System.ArgumentOutOfRangeException
Thrown when the |
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(Int4)
Returns the absolute value of a vector.
Declaration
public static Int4 Abs(Int4 v)
Parameters
Int4
v
The value. |
Returns
Int4
A vector which components are less or equal to 0. |
Add(Int4, Int4)
Adds two vectors.
Declaration
public static Int4 Add(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to add. |
Int4
right
The second vector to add. |
Returns
Int4
The sum of the two vectors. |
Add(Int4, Int32)
Perform a component-wise addition
Declaration
public static Int4 Add(Int4 left, int right)
Parameters
Int4
left
The input vector |
System.Int32
right
The scalar value to be added to elements |
Returns
Int4
The vector with added scalar for each element. |
Add(ref Int4, ref Int4, out Int4)
Adds two vectors.
Declaration
public static void Add(ref Int4 left, ref Int4 right, out Int4 result)
Parameters
Int4
left
The first vector to add. |
Int4
right
The second vector to add. |
Int4
result
When the method completes, contains the sum of the two vectors. |
Add(ref Int4, ref Int32, out Int4)
Perform a component-wise addition
Declaration
public static void Add(ref Int4 left, ref int right, out Int4 result)
Parameters
Int4
left
The input vector |
System.Int32
right
The scalar value to be added to elements |
Int4
result
The vector with added scalar for each element. |
Clamp(Int4, Int4, Int4)
Restricts a value to be within a specified range.
Declaration
public static Int4 Clamp(Int4 value, Int4 min, Int4 max)
Parameters
Int4
value
The value to clamp. |
Int4
min
The minimum value. |
Int4
max
The maximum value. |
Returns
Int4
The clamped value. |
Clamp(ref Int4, ref Int4, ref Int4, out Int4)
Restricts a value to be within a specified range.
Declaration
public static void Clamp(ref Int4 value, ref Int4 min, ref Int4 max, out Int4 result)
Parameters
Int4
value
The value to clamp. |
Int4
min
The minimum value. |
Int4
max
The maximum value. |
Int4
result
When the method completes, contains the clamped value. |
Divide(Int4, Int32)
Scales a vector by the given value.
Declaration
public static Int4 Divide(Int4 value, int scale)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Returns
Int4
The scaled vector. |
Divide(ref Int4, Int32, out Int4)
Scales a vector by the given value.
Declaration
public static void Divide(ref Int4 value, int scale, out Int4 result)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Int4
result
When the method completes, contains the scaled vector. |
Divide(Int32, Int4)
Scales a vector by the given value.
Declaration
public static Int4 Divide(int scale, Int4 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. |
Int4
value
The vector to scale. |
Returns
Int4
The scaled vector. |
Divide(Int32, ref Int4, out Int4)
Scales a vector by the given value.
Declaration
public static void Divide(int scale, ref Int4 value, out Int4 result)
Parameters
System.Int32
scale
The amount by which to scale the vector. |
Int4
value
The vector to scale. |
Int4
result
When the method completes, contains the scaled vector. |
Equals(Int4)
Determines whether the specified Int4 is equal to this instance.
Declaration
public bool Equals(Int4 other)
Parameters
Int4
other
The Int4 to compare with this instance. |
Returns
System.Boolean
|
Equals(ref Int4)
Determines whether the specified Int4 is equal to this instance.
Declaration
public bool Equals(ref Int4 other)
Parameters
Int4
other
The Int4 to compare with this instance. |
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
|
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. |
Max(Int4, Int4)
Returns a vector containing the largest components of the specified vectors.
Declaration
public static Int4 Max(Int4 left, Int4 right)
Parameters
Int4
left
The first source vector. |
Int4
right
The second source vector. |
Returns
Int4
A vector containing the largest components of the source vectors. |
Max(ref Int4, ref Int4, out Int4)
Returns a vector containing the largest components of the specified vectors.
Declaration
public static void Max(ref Int4 left, ref Int4 right, out Int4 result)
Parameters
Int4
left
The first source vector. |
Int4
right
The second source vector. |
Int4
result
When the method completes, contains an new vector composed of the largest components of the source vectors. |
Min(Int4, Int4)
Returns a vector containing the smallest components of the specified vectors.
Declaration
public static Int4 Min(Int4 left, Int4 right)
Parameters
Int4
left
The first source vector. |
Int4
right
The second source vector. |
Returns
Int4
A vector containing the smallest components of the source vectors. |
Min(ref Int4, ref Int4, out Int4)
Returns a vector containing the smallest components of the specified vectors.
Declaration
public static void Min(ref Int4 left, ref Int4 right, out Int4 result)
Parameters
Int4
left
The first source vector. |
Int4
right
The second source vector. |
Int4
result
When the method completes, contains an new vector composed of the smallest components of the source vectors. |
Multiply(Int4, Int4)
Multiplies a vector with another by performing component-wise multiplication.
Declaration
public static Int4 Multiply(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to multiply. |
Int4
right
The second vector to multiply. |
Returns
Int4
The multiplied vector. |
Multiply(Int4, Int32)
Scales a vector by the given value.
Declaration
public static Int4 Multiply(Int4 value, int scale)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Returns
Int4
The scaled vector. |
Multiply(ref Int4, ref Int4, out Int4)
Multiplies a vector with another by performing component-wise multiplication.
Declaration
public static void Multiply(ref Int4 left, ref Int4 right, out Int4 result)
Parameters
Int4
left
The first vector to multiply. |
Int4
right
The second vector to multiply. |
Int4
result
When the method completes, contains the multiplied vector. |
Multiply(ref Int4, Int32, out Int4)
Scales a vector by the given value.
Declaration
public static void Multiply(ref Int4 value, int scale, out Int4 result)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Int4
result
When the method completes, contains the scaled vector. |
Negate(Int4)
Reverses the direction of a given vector.
Declaration
public static Int4 Negate(Int4 value)
Parameters
Int4
value
The vector to negate. |
Returns
Int4
A vector facing in the opposite direction. |
Negate(ref Int4, out Int4)
Reverses the direction of a given vector.
Declaration
public static void Negate(ref Int4 value, out Int4 result)
Parameters
Int4
value
The vector to negate. |
Int4
result
When the method completes, contains a vector facing in the opposite direction. |
Subtract(Int4, Int4)
Subtracts two vectors.
Declaration
public static Int4 Subtract(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to subtract. |
Int4
right
The second vector to subtract. |
Returns
Int4
The difference of the two vectors. |
Subtract(Int4, Int32)
Perform a component-wise subtraction
Declaration
public static Int4 Subtract(Int4 left, int right)
Parameters
Int4
left
The input vector |
System.Int32
right
The scalar value to be subtracted from elements |
Returns
Int4
The vector with subtracted scalar for each element. |
Subtract(ref Int4, ref Int4, out Int4)
Subtracts two vectors.
Declaration
public static void Subtract(ref Int4 left, ref Int4 right, out Int4 result)
Parameters
Int4
left
The first vector to subtract. |
Int4
right
The second vector to subtract. |
Int4
result
When the method completes, contains the difference of the two vectors. |
Subtract(ref Int4, ref Int32, out Int4)
Perform a component-wise subtraction
Declaration
public static void Subtract(ref Int4 left, ref int right, out Int4 result)
Parameters
Int4
left
The input vector |
System.Int32
right
The scalar value to be subtracted from elements |
Int4
result
The vector with subtracted scalar for each element. |
Subtract(Int32, Int4)
Perform a component-wise subtraction
Declaration
public static Int4 Subtract(int left, Int4 right)
Parameters
System.Int32
left
The scalar value to be subtracted from elements |
Int4
right
The input vector. |
Returns
Int4
The vector with subtracted scalar for each element. |
Subtract(ref Int32, ref Int4, out Int4)
Perform a component-wise subtraction
Declaration
public static void Subtract(ref int left, ref Int4 right, out Int4 result)
Parameters
System.Int32
left
The scalar value to be subtracted from elements |
Int4
right
The input vector. |
Int4
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 four-element 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. |
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. |
Operators
Addition(Int4, Int4)
Adds two vectors.
Declaration
public static Int4 operator +(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to add. |
Int4
right
The second vector to add. |
Returns
Int4
The sum of the two vectors. |
Addition(Int4, Int32)
Perform a component-wise addition
Declaration
public static Int4 operator +(Int4 value, int scalar)
Parameters
Int4
value
The input vector. |
System.Int32
scalar
The scalar value to be added on elements |
Returns
Int4
The vector with added scalar for each element. |
Addition(Int32, Int4)
Perform a component-wise addition
Declaration
public static Int4 operator +(int scalar, Int4 value)
Parameters
System.Int32
scalar
The scalar value to be added on elements |
Int4
value
The input vector. |
Returns
Int4
The vector with added scalar for each element. |
Division(Int4, Int4)
Scales a vector by the given value.
Declaration
public static Int4 operator /(Int4 value, Int4 scale)
Parameters
Int4
value
The vector to scale. |
Int4
scale
The amount by which to scale the vector. |
Returns
Int4
The scaled vector. |
Division(Int4, Int32)
Scales a vector by the given value.
Declaration
public static Int4 operator /(Int4 value, int scale)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Returns
Int4
The scaled vector. |
Division(Int32, Int4)
Scales a vector by the given value.
Declaration
public static Int4 operator /(int scale, Int4 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. |
Int4
value
The vector to scale. |
Returns
Int4
The scaled vector. |
Equality(Int4, Int4)
Tests for equality between two objects.
Declaration
public static bool operator ==(Int4 left, Int4 right)
Parameters
Int4
left
The first value to compare. |
Int4
right
The second value to compare. |
Returns
System.Boolean
|
Explicit(Int4 to Float2)
Declaration
public static explicit operator Float2(Int4 value)
Parameters
Int4
value
The value. |
Returns
Float2
The result of the conversion. |
Explicit(Int4 to Float3)
Declaration
public static explicit operator Float3(Int4 value)
Parameters
Int4
value
The value. |
Returns
Float3
The result of the conversion. |
Explicit(Int4 to Float4)
Declaration
public static explicit operator Float4(Int4 value)
Parameters
Int4
value
The value. |
Returns
Float4
The result of the conversion. |
Explicit(Int4 to Int2)
Declaration
public static explicit operator Int2(Int4 value)
Parameters
Int4
value
The value. |
Returns
Int2
The result of the conversion. |
Explicit(Int4 to Int3)
Declaration
public static explicit operator Int3(Int4 value)
Parameters
Int4
value
The value. |
Returns
Int3
The result of the conversion. |
Explicit(Int4 to Vector2)
Declaration
public static explicit operator Vector2(Int4 value)
Parameters
Int4
value
The value. |
Returns
Vector2
The result of the conversion. |
Explicit(Int4 to Vector3)
Declaration
public static explicit operator Vector3(Int4 value)
Parameters
Int4
value
The value. |
Returns
Vector3
The result of the conversion. |
Explicit(Int4 to Vector4)
Declaration
public static explicit operator Vector4(Int4 value)
Parameters
Int4
value
The value. |
Returns
Vector4
The result of the conversion. |
Inequality(Int4, Int4)
Tests for inequality between two objects.
Declaration
public static bool operator !=(Int4 left, Int4 right)
Parameters
Int4
left
The first value to compare. |
Int4
right
The second value to compare. |
Returns
System.Boolean
|
Modulus(Int4, Int4)
Remainder of value divided by scale.
Declaration
public static Int4 operator %(Int4 value, Int4 scale)
Parameters
Int4
value
The vector to scale. |
Int4
scale
The amount by which to scale the vector. |
Returns
Int4
The remained vector. |
Modulus(Int4, Single)
Remainder of value divided by scale.
Declaration
public static Int4 operator %(Int4 value, float scale)
Parameters
Int4
value
The vector to scale. |
System.Single
scale
The amount by which to scale the vector. |
Returns
Int4
The remained vector. |
Modulus(Single, Int4)
Remainder of value divided by scale.
Declaration
public static Int4 operator %(float value, Int4 scale)
Parameters
System.Single
value
The amount by which to scale the vector. |
Int4
scale
The vector to scale. |
Returns
Int4
The remained vector. |
Multiply(Int4, Int4)
Multiplies a vector with another by performing component-wise multiplication equivalent to Multiply(ref Int4, ref Int4, out Int4).
Declaration
public static Int4 operator *(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to multiply. |
Int4
right
The second vector to multiply. |
Returns
Int4
The multiplication of the two vectors. |
Multiply(Int4, Int32)
Scales a vector by the given value.
Declaration
public static Int4 operator *(Int4 value, int scale)
Parameters
Int4
value
The vector to scale. |
System.Int32
scale
The amount by which to scale the vector. |
Returns
Int4
The scaled vector. |
Multiply(Int32, Int4)
Scales a vector by the given value.
Declaration
public static Int4 operator *(int scale, Int4 value)
Parameters
System.Int32
scale
The amount by which to scale the vector. |
Int4
value
The vector to scale. |
Returns
Int4
The scaled vector. |
Subtraction(Int4, Int4)
Subtracts two vectors.
Declaration
public static Int4 operator -(Int4 left, Int4 right)
Parameters
Int4
left
The first vector to subtract. |
Int4
right
The second vector to subtract. |
Returns
Int4
The difference of the two vectors. |
Subtraction(Int4, Int32)
Perform a component-wise subtraction
Declaration
public static Int4 operator -(Int4 value, int scalar)
Parameters
Int4
value
The input vector. |
System.Int32
scalar
The scalar value to be subtracted from elements |
Returns
Int4
The vector with subtracted scalar from each element. |
Subtraction(Int32, Int4)
Perform a component-wise subtraction
Declaration
public static Int4 operator -(int scalar, Int4 value)
Parameters
System.Int32
scalar
The scalar value to be subtracted from elements |
Int4
value
The input vector. |
Returns
Int4
The vector with subtracted scalar from each element. |
UnaryNegation(Int4)
Reverses the direction of a given vector.
Declaration
public static Int4 operator -(Int4 value)
Parameters
Int4
value
The vector to negate. |
Returns
Int4
A vector facing in the opposite direction. |
UnaryPlus(Int4)
Assert a vector (return it unchanged).
Declaration
public static Int4 operator +(Int4 value)
Parameters
Int4
value
The vector to assert (unchanged). |
Returns
Int4
The asserted (unchanged) vector. |