Nebula
|
Describes a 3D-vector.
Inherits IEquatable< Vector3 >.
Public Member Functions | |
Vector3 (float x, float y, float z) | |
Constructs a 3d vector with X, Y and Z from three values. | |
Vector3 (float value) | |
Constructs a 3d vector with X, Y and Z set to the same value. | |
Vector3 (Vector2 value, float z) | |
Constructs a 3d vector with X, Y from Vector2 and Z from a scalar. | |
void | Ceiling () |
Round the members of this Vector3 towards positive infinity. | |
override bool | Equals (object obj) |
Compares whether current instance is equal to specified Object. | |
bool | Equals (Vector3 other) |
Compares whether current instance is equal to specified Vector3. | |
void | Floor () |
Round the members of this Vector3 towards negative infinity. | |
override int | GetHashCode () |
Gets the hash code of this Vector3. | |
float | Length () |
Returns the length of this Vector3. | |
float | LengthSquared () |
Returns the squared length of this Vector3. | |
void | Normalize () |
Turns this Vector3 to a unit vector with the same direction. | |
void | Round () |
Round the members of this Vector3 towards the nearest integer value. | |
override string | ToString () |
Returns a String representation of this Vector3 in the format: {X:[X] Y:[Y] Z:[Z]}. | |
void | Deconstruct (out float x, out float y, out float z) |
Deconstruction method for Vector3. | |
Static Public Member Functions | |
static Vector3 | Add (Vector3 value1, Vector3 value2) |
Performs vector addition on value1 and value2 . | |
static void | Add (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Performs vector addition on value1 and value2 , storing the result of the addition in result . | |
static Vector3 | Barycentric (Vector3 value1, Vector3 value2, Vector3 value3, float amount1, float amount2) |
Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. | |
static void | Barycentric (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, float amount1, float amount2, out Vector3 result) |
Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle. | |
static Vector3 | CatmullRom (Vector3 value1, Vector3 value2, Vector3 value3, Vector3 value4, float amount) |
Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors. | |
static void | CatmullRom (ref Vector3 value1, ref Vector3 value2, ref Vector3 value3, ref Vector3 value4, float amount, out Vector3 result) |
Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors. | |
static Vector3 | Ceiling (Vector3 value) |
Creates a new Vector3 that contains members from another vector rounded towards positive infinity. | |
static void | Ceiling (ref Vector3 value, out Vector3 result) |
Creates a new Vector3 that contains members from another vector rounded towards positive infinity. | |
static Vector3 | Clamp (Vector3 value1, Vector3 min, Vector3 max) |
Clamps the specified value within a range. | |
static void | Clamp (ref Vector3 value1, ref Vector3 min, ref Vector3 max, out Vector3 result) |
Clamps the specified value within a range. | |
static Vector3 | Cross (Vector3 vector1, Vector3 vector2) |
Computes the cross product of two vectors. | |
static void | Cross (ref Vector3 vector1, ref Vector3 vector2, out Vector3 result) |
Computes the cross product of two vectors. | |
static float | Distance (Vector3 value1, Vector3 value2) |
Returns the distance between two vectors. | |
static void | Distance (ref Vector3 value1, ref Vector3 value2, out float result) |
Returns the distance between two vectors. | |
static float | DistanceSquared (Vector3 value1, Vector3 value2) |
Returns the squared distance between two vectors. | |
static void | DistanceSquared (ref Vector3 value1, ref Vector3 value2, out float result) |
Returns the squared distance between two vectors. | |
static Vector3 | Divide (Vector3 value1, Vector3 value2) |
Divides the components of a Vector3 by the components of another Vector3. | |
static Vector3 | Divide (Vector3 value1, float divider) |
Divides the components of a Vector3 by a scalar. | |
static void | Divide (ref Vector3 value1, float divider, out Vector3 result) |
Divides the components of a Vector3 by a scalar. | |
static void | Divide (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Divides the components of a Vector3 by the components of another Vector3. | |
static float | Dot (Vector3 value1, Vector3 value2) |
Returns a dot product of two vectors. | |
static void | Dot (ref Vector3 value1, ref Vector3 value2, out float result) |
Returns a dot product of two vectors. | |
static Vector3 | Floor (Vector3 value) |
Creates a new Vector3 that contains members from another vector rounded towards negative infinity. | |
static void | Floor (ref Vector3 value, out Vector3 result) |
Creates a new Vector3 that contains members from another vector rounded towards negative infinity. | |
static Vector3 | Hermite (Vector3 value1, Vector3 tangent1, Vector3 value2, Vector3 tangent2, float amount) |
Creates a new Vector3 that contains hermite spline interpolation. | |
static void | Hermite (ref Vector3 value1, ref Vector3 tangent1, ref Vector3 value2, ref Vector3 tangent2, float amount, out Vector3 result) |
Creates a new Vector3 that contains hermite spline interpolation. | |
static Vector3 | Lerp (Vector3 value1, Vector3 value2, float amount) |
Creates a new Vector3 that contains linear interpolation of the specified vectors. | |
static void | Lerp (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result) |
Creates a new Vector3 that contains linear interpolation of the specified vectors. | |
static Vector3 | LerpPrecise (Vector3 value1, Vector3 value2, float amount) |
Creates a new Vector3 that contains linear interpolation of the specified vectors. | |
static void | LerpPrecise (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result) |
Creates a new Vector3 that contains linear interpolation of the specified vectors. | |
static Vector3 | Max (Vector3 value1, Vector3 value2) |
Creates a new Vector3 that contains a maximal values from the two vectors. | |
static void | Max (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Creates a new Vector3 that contains a maximal values from the two vectors. | |
static Vector3 | Min (Vector3 value1, Vector3 value2) |
Creates a new Vector3 that contains a minimal values from the two vectors. | |
static void | Min (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Creates a new Vector3 that contains a minimal values from the two vectors. | |
static Vector3 | Multiply (Vector3 value1, Vector3 value2) |
Creates a new Vector3 that contains a multiplication of two vectors. | |
static Vector3 | Multiply (Vector3 value1, float scaleFactor) |
Creates a new Vector3 that contains a multiplication of Vector3 and a scalar. | |
static void | Multiply (ref Vector3 value1, float scaleFactor, out Vector3 result) |
Creates a new Vector3 that contains a multiplication of Vector3 and a scalar. | |
static void | Multiply (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Creates a new Vector3 that contains a multiplication of two vectors. | |
static Vector3 | Negate (Vector3 value) |
Creates a new Vector3 that contains the specified vector inversion. | |
static void | Negate (ref Vector3 value, out Vector3 result) |
Creates a new Vector3 that contains the specified vector inversion. | |
static Vector3 | Normalize (Vector3 value) |
Creates a new Vector3 that contains a normalized values from another vector. | |
static void | Normalize (ref Vector3 value, out Vector3 result) |
Creates a new Vector3 that contains a normalized values from another vector. | |
static Vector3 | Reflect (Vector3 vector, Vector3 normal) |
Creates a new Vector3 that contains reflect vector of the given vector and normal. | |
static void | Reflect (ref Vector3 vector, ref Vector3 normal, out Vector3 result) |
Creates a new Vector3 that contains reflect vector of the given vector and normal. | |
static Vector3 | Round (Vector3 value) |
Creates a new Vector3 that contains members from another vector rounded to the nearest integer value. | |
static void | Round (ref Vector3 value, out Vector3 result) |
Creates a new Vector3 that contains members from another vector rounded to the nearest integer value. | |
static Vector3 | SmoothStep (Vector3 value1, Vector3 value2, float amount) |
Creates a new Vector3 that contains cubic interpolation of the specified vectors. | |
static void | SmoothStep (ref Vector3 value1, ref Vector3 value2, float amount, out Vector3 result) |
Creates a new Vector3 that contains cubic interpolation of the specified vectors. | |
static Vector3 | Subtract (Vector3 value1, Vector3 value2) |
Creates a new Vector3 that contains subtraction of on Vector3 from a another. | |
static void | Subtract (ref Vector3 value1, ref Vector3 value2, out Vector3 result) |
Creates a new Vector3 that contains subtraction of on Vector3 from a another. | |
static Vector3 | Transform (Vector3 position, Matrix matrix) |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix. | |
static void | Transform (ref Vector3 position, ref Matrix matrix, out Vector3 result) |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Matrix. | |
static Vector3 | Transform (Vector3 value, Quaternion rotation) |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation. | |
static void | Transform (ref Vector3 value, ref Quaternion rotation, out Vector3 result) |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation. | |
static void | Transform (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length) |
Apply transformation on vectors within array of Vector3 by the specified Matrix and places the results in an another array. | |
static void | Transform (Vector3[] sourceArray, int sourceIndex, ref Quaternion rotation, Vector3[] destinationArray, int destinationIndex, int length) |
Apply transformation on vectors within array of Vector3 by the specified Quaternion and places the results in an another array. | |
static void | Transform (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray) |
Apply transformation on all vectors within array of Vector3 by the specified Matrix and places the results in an another array. | |
static void | Transform (Vector3[] sourceArray, ref Quaternion rotation, Vector3[] destinationArray) |
Apply transformation on all vectors within array of Vector3 by the specified Quaternion and places the results in an another array. | |
static Vector3 | TransformNormal (Vector3 normal, Matrix matrix) |
Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix. | |
static void | TransformNormal (ref Vector3 normal, ref Matrix matrix, out Vector3 result) |
Creates a new Vector3 that contains a transformation of the specified normal by the specified Matrix. | |
static void | TransformNormal (Vector3[] sourceArray, int sourceIndex, ref Matrix matrix, Vector3[] destinationArray, int destinationIndex, int length) |
Apply transformation on normals within array of Vector3 by the specified Matrix and places the results in an another array. | |
static void | TransformNormal (Vector3[] sourceArray, ref Matrix matrix, Vector3[] destinationArray) |
Apply transformation on all normals within array of Vector3 by the specified Matrix and places the results in an another array. | |
static bool | operator== (Vector3 value1, Vector3 value2) |
Compares whether two Vector3 instances are equal. | |
static bool | operator!= (Vector3 value1, Vector3 value2) |
Compares whether two Vector3 instances are not equal. | |
static Vector3 | operator+ (Vector3 value1, Vector3 value2) |
Adds two vectors. | |
static Vector3 | operator- (Vector3 value) |
Inverts values in the specified Vector3. | |
static Vector3 | operator- (Vector3 value1, Vector3 value2) |
Subtracts a Vector3 from a Vector3. | |
static Vector3 | operator* (Vector3 value1, Vector3 value2) |
Multiplies the components of two vectors by each other. | |
static Vector3 | operator* (Vector3 value, float scaleFactor) |
Multiplies the components of vector by a scalar. | |
static Vector3 | operator* (float scaleFactor, Vector3 value) |
Multiplies the components of vector by a scalar. | |
static Vector3 | operator/ (Vector3 value1, Vector3 value2) |
Divides the components of a Vector3 by the components of another Vector3. | |
static Vector3 | operator/ (Vector3 value1, float divider) |
Divides the components of a Vector3 by a scalar. | |
Public Attributes | |
float | X |
The x coordinate of this Vector3. | |
float | Y |
The y coordinate of this Vector3. | |
float | Z |
The z coordinate of this Vector3. | |
Properties | |
static Vector3 | Zero [get] |
Returns a Vector3 with components 0, 0, 0. | |
static Vector3 | One [get] |
Returns a Vector3 with components 1, 1, 1. | |
static Vector3 | UnitX [get] |
Returns a Vector3 with components 1, 0, 0. | |
static Vector3 | UnitY [get] |
Returns a Vector3 with components 0, 1, 0. | |
static Vector3 | UnitZ [get] |
Returns a Vector3 with components 0, 0, 1. | |
static Vector3 | Up [get] |
Returns a Vector3 with components 0, 1, 0. | |
static Vector3 | Down [get] |
Returns a Vector3 with components 0, -1, 0. | |
static Vector3 | Right [get] |
Returns a Vector3 with components 1, 0, 0. | |
static Vector3 | Left [get] |
Returns a Vector3 with components -1, 0, 0. | |
static Vector3 | Forward [get] |
Returns a Vector3 with components 0, 0, -1. | |
static Vector3 | Backward [get] |
Returns a Vector3 with components 0, 0, 1. | |
string | DebugDisplayString [get] |
Static Private Attributes | |
static readonly Vector3 | zero = new Vector3(0f, 0f, 0f) |
static readonly Vector3 | one = new Vector3(1f, 1f, 1f) |
static readonly Vector3 | unitX = new Vector3(1f, 0f, 0f) |
static readonly Vector3 | unitY = new Vector3(0f, 1f, 0f) |
static readonly Vector3 | unitZ = new Vector3(0f, 0f, 1f) |
static readonly Vector3 | up = new Vector3(0f, 1f, 0f) |
static readonly Vector3 | down = new Vector3(0f, -1f, 0f) |
static readonly Vector3 | right = new Vector3(1f, 0f, 0f) |
static readonly Vector3 | left = new Vector3(-1f, 0f, 0f) |
static readonly Vector3 | forward = new Vector3(0f, 0f, -1f) |
static readonly Vector3 | backward = new Vector3(0f, 0f, 1f) |
|
inline |
Constructs a 3d vector with X, Y and Z from three values.
x | The x coordinate in 3d-space. |
y | The y coordinate in 3d-space. |
z | The z coordinate in 3d-space. |
|
inline |
Constructs a 3d vector with X, Y and Z set to the same value.
value | The x, y and z coordinates in 3d-space. |
|
inline |
Constructs a 3d vector with X, Y from Vector2 and Z from a scalar.
value | The x and y coordinates in 3d-space. |
z | The z coordinate in 3d-space. |
|
inlinestatic |
Performs vector addition on value1 and value2 , storing the result of the addition in result .
value1 | The first vector to add. |
value2 | The second vector to add. |
result | The result of the vector addition. |
Performs vector addition on value1 and value2 .
value1 | The first vector to add. |
value2 | The second vector to add. |
|
inlinestatic |
Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.
value1 | The first vector of 3d-triangle. |
value2 | The second vector of 3d-triangle. |
value3 | The third vector of 3d-triangle. |
amount1 | Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. |
amount2 | Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. |
result | The cartesian translation of barycentric coordinates as an output parameter. |
|
inlinestatic |
Creates a new Vector3 that contains the cartesian coordinates of a vector specified in barycentric coordinates and relative to 3d-triangle.
value1 | The first vector of 3d-triangle. |
value2 | The second vector of 3d-triangle. |
value3 | The third vector of 3d-triangle. |
amount1 | Barycentric scalar b2 which represents a weighting factor towards second vector of 3d-triangle. |
amount2 | Barycentric scalar b3 which represents a weighting factor towards third vector of 3d-triangle. |
|
inlinestatic |
Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.
value1 | The first vector in interpolation. |
value2 | The second vector in interpolation. |
value3 | The third vector in interpolation. |
value4 | The fourth vector in interpolation. |
amount | Weighting factor. |
result | The result of CatmullRom interpolation as an output parameter. |
|
inlinestatic |
Creates a new Vector3 that contains CatmullRom interpolation of the specified vectors.
value1 | The first vector in interpolation. |
value2 | The second vector in interpolation. |
value3 | The third vector in interpolation. |
value4 | The fourth vector in interpolation. |
amount | Weighting factor. |
|
inlinestatic |
Clamps the specified value within a range.
value1 | The value to clamp. |
min | The min value. |
max | The max value. |
result | The clamped value as an output parameter. |
Clamps the specified value within a range.
value1 | The value to clamp. |
min | The min value. |
max | The max value. |
|
inlinestatic |
Computes the cross product of two vectors.
vector1 | The first vector. |
vector2 | The second vector. |
result | The cross product of two vectors as an output parameter. |
Computes the cross product of two vectors.
vector1 | The first vector. |
vector2 | The second vector. |
|
inline |
Deconstruction method for Vector3.
x | |
y | |
z |
|
inlinestatic |
Returns the distance between two vectors.
value1 | The first vector. |
value2 | The second vector. |
result | The distance between two vectors as an output parameter. |
Returns the distance between two vectors.
value1 | The first vector. |
value2 | The second vector. |
|
inlinestatic |
Returns the squared distance between two vectors.
value1 | The first vector. |
value2 | The second vector. |
result | The squared distance between two vectors as an output parameter. |
Returns the squared distance between two vectors.
value1 | The first vector. |
value2 | The second vector. |
|
inlinestatic |
Returns a dot product of two vectors.
value1 | The first vector. |
value2 | The second vector. |
result | The dot product of two vectors as an output parameter. |
Returns a dot product of two vectors.
value1 | The first vector. |
value2 | The second vector. |
|
inline |
Compares whether current instance is equal to specified Object.
obj | The Object to compare. |
true
if the instances are equal; false
otherwise.
|
inline |
|
inline |
|
inlinestatic |
Creates a new Vector3 that contains hermite spline interpolation.
value1 | The first position vector. |
tangent1 | The first tangent vector. |
value2 | The second position vector. |
tangent2 | The second tangent vector. |
amount | Weighting factor. |
result | The hermite spline interpolation vector as an output parameter. |
|
inlinestatic |
Creates a new Vector3 that contains hermite spline interpolation.
value1 | The first position vector. |
tangent1 | The first tangent vector. |
value2 | The second position vector. |
tangent2 | The second tangent vector. |
amount | Weighting factor. |
|
inline |
|
inline |
|
inlinestatic |
Creates a new Vector3 that contains linear interpolation of the specified vectors.
value1 | The first vector. |
value2 | The second vector. |
amount | Weighting value(between 0.0 and 1.0). |
result | The result of linear interpolation of the specified vectors as an output parameter. |
Creates a new Vector3 that contains linear interpolation of the specified vectors.
value1 | The first vector. |
value2 | The second vector. |
amount | Weighting value(between 0.0 and 1.0). |
|
inlinestatic |
Creates a new Vector3 that contains linear interpolation of the specified vectors.
Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector3.Lerp(ref Vector3, ref Vector3, float, out Vector3). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.
value1 | The first vector. |
value2 | The second vector. |
amount | Weighting value(between 0.0 and 1.0). |
result | The result of linear interpolation of the specified vectors as an output parameter. |
|
inlinestatic |
Creates a new Vector3 that contains linear interpolation of the specified vectors.
Uses MathHelper.LerpPrecise on MathHelper for the interpolation. Less efficient but more precise compared to Vector3.Lerp(Vector3, Vector3, float). See remarks section of MathHelper.LerpPrecise on MathHelper for more info.
value1 | The first vector. |
value2 | The second vector. |
amount | Weighting value(between 0.0 and 1.0). |
|
inline |
Turns this Vector3 to a unit vector with the same direction.
Multiplies the components of vector by a scalar.
scaleFactor | Scalar value on the left of the mul sign. |
value | Source Vector3 on the right of the mul sign. |
Multiplies the components of vector by a scalar.
value | Source Vector3 on the left of the mul sign. |
scaleFactor | Scalar value on the right of the mul sign. |
|
inline |
|
inline |
|
inlinestatic |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.
value | Source Vector3. |
rotation | The Quaternion which contains rotation transformation. |
result | Transformed Vector3 as an output parameter. |
|
inlinestatic |
Creates a new Vector3 that contains a transformation of 3d-vector by the specified Quaternion, representing the rotation.
value | Source Vector3. |
rotation | The Quaternion which contains rotation transformation. |
|
inlinestatic |
Apply transformation on vectors within array of Vector3 by the specified Matrix and places the results in an another array.
sourceArray | Source array. |
sourceIndex | The starting index of transformation in the source array. |
matrix | The transformation Matrix. |
destinationArray | Destination array. |
destinationIndex | The starting index in the destination array, where the first Vector3 should be written. |
length | The number of vectors to be transformed. |
|
inlinestatic |
Apply transformation on vectors within array of Vector3 by the specified Quaternion and places the results in an another array.
sourceArray | Source array. |
sourceIndex | The starting index of transformation in the source array. |
rotation | The Quaternion which contains rotation transformation. |
destinationArray | Destination array. |
destinationIndex | The starting index in the destination array, where the first Vector3 should be written. |
length | The number of vectors to be transformed. |
|
inlinestatic |
Apply transformation on all vectors within array of Vector3 by the specified Quaternion and places the results in an another array.
sourceArray | Source array. |
rotation | The Quaternion which contains rotation transformation. |
destinationArray | Destination array. |
|
inlinestatic |
Apply transformation on normals within array of Vector3 by the specified Matrix and places the results in an another array.
sourceArray | Source array. |
sourceIndex | The starting index of transformation in the source array. |
matrix | The transformation Matrix. |
destinationArray | Destination array. |
destinationIndex | The starting index in the destination array, where the first Vector3 should be written. |
length | The number of normals to be transformed. |
float Mathf.Vector3.X |
The x coordinate of this Vector3.
float Mathf.Vector3.Y |
The y coordinate of this Vector3.
float Mathf.Vector3.Z |
The z coordinate of this Vector3.
|
getpackage |