Chunks
Moddable voxel sandbox for room-scale VR.
|
Represents a position or offset in 3D space. More...
Public Member Functions | |
Vector2D (float x, float y) | |
Constructs a new vector with the given X and Y components. More... | |
float | Dot (Vector2D other) |
Finds the scalar product of this vector and another. More... | |
float | Cross (Vector2D other) |
Finds the cross product of this vector and another. More... | |
bool | Equals (Vector2D other) |
Tests for equality with another vector. More... | |
bool | Equals (Vector2D other, float epsilon) |
Tests for equality with another vector within a given margin of error. More... | |
override bool | Equals (object obj) |
Tests for equality with another object. More... | |
override int | GetHashCode () |
Returns the hash code for this vector. More... | |
override string | ToString () |
Returns a string representation of this vector. More... | |
Static Public Member Functions | |
static implicit | operator Vector2D (IntVector2D vec) |
Casts an integer vector into a float vector. More... | |
static Vector2D | operator+ (Vector2D a) |
static Vector2D | operator- (Vector2D a) |
Negates a vector. More... | |
static Vector2D | operator+ (Vector2D a, Vector2D b) |
Adds two vectors together. More... | |
static Vector2D | operator- (Vector2D a, Vector2D b) |
Subtracts a vector from another. More... | |
static Vector2D | operator* (Vector2D a, Vector2D b) |
Multiplies two vectors together. More... | |
static Vector2D | operator* (float scalar, Vector2D vec) |
Multiplies a vector by a scalar. More... | |
static Vector2D | operator* (Vector2D vec, float scalar) |
Multiplies a vector by a scalar. More... | |
static Vector2D | operator/ (Vector2D a, Vector2D b) |
Divides each component of a vector by the corresponding component of another. More... | |
static Vector2D | operator/ (Vector2D vec, float denom) |
Divides a vector by a scalar. More... | |
static Vector | Min (Vector a, Vector b) |
Finds the component-wise minimum of two vectors. More... | |
static Vector | Max (Vector a, Vector b) |
Finds the component-wise maximum of two vectors. More... | |
static float | Angle (Vector2D from, Vector2D to) |
Finds the smallest angle between two vectors. More... | |
static Vector2D | Lerp (Vector2D from, Vector2D to, float t) |
Linearly interpolates between two vectors. More... | |
Public Attributes | |
readonly float | X |
X component of the vector. More... | |
readonly float | Y |
Y component of the vector. More... | |
Static Public Attributes | |
static readonly Vector2D | Zero = new Vector2D(0, 0) |
The zero vector with 0 for X and Y. More... | |
static readonly Vector2D | One = new Vector2D(1, 1) |
A vector with 1 for X and Y. More... | |
static readonly Vector2D | UnitX = new Vector2D(1, 0) |
A unit vector pointing along +X. More... | |
static readonly Vector2D | UnitY = new Vector2D(0, 1) |
A unit vector pointing along +Y. More... | |
Properties | |
float | Length [get] |
Finds the length of the vector. More... | |
float | LengthSquared [get] |
Finds the squared length of the vector. More... | |
Vector2D | NormalizedSafe [get] |
Finds a unit vector pointing in the same direction as this one. If the original vector has approximately zero length, the zero vector is returned. More... | |
Vector2D | Normalized [get] |
Finds a unit vector pointing in the same direction as this one. Use NormalizedSafe for vectors that may have zero length. More... | |
float | this[int index] [get] |
Gets a component of the vector by indexl with 0 for X, and 1 for Y. More... | |
Represents a position or offset in 3D space.
Chunks.Geometry.Vector2D.Vector2D | ( | float | x, |
float | y | ||
) |
Constructs a new vector with the given X and Y components.
x | X component |
y | Y component |
Finds the smallest angle between two vectors.
from | Starting vector |
to | Ending vector |
float Chunks.Geometry.Vector2D.Cross | ( | Vector2D | other | ) |
Finds the cross product of this vector and another.
other | Vector to find the cross product with |
float Chunks.Geometry.Vector2D.Dot | ( | Vector2D | other | ) |
Finds the scalar product of this vector and another.
other | Vector to find the scalar product with |
bool Chunks.Geometry.Vector2D.Equals | ( | Vector2D | other | ) |
Tests for equality with another vector.
other | Vector to test for equality with |
bool Chunks.Geometry.Vector2D.Equals | ( | Vector2D | other, |
float | epsilon | ||
) |
Tests for equality with another vector within a given margin of error.
other | Vector to test for equality with |
epsilon | Inclusive margin of error |
override bool Chunks.Geometry.Vector2D.Equals | ( | object | obj | ) |
Tests for equality with another object.
obj | Object to test for equality with |
override int Chunks.Geometry.Vector2D.GetHashCode | ( | ) |
Returns the hash code for this vector.
Linearly interpolates between two vectors.
from | Starting vector |
to | Ending vector |
t | Interpolation parameter |
Finds the component-wise maximum of two vectors.
a | First vector to find the maximum of |
b | Second vector to find the maximum of |
Finds the component-wise minimum of two vectors.
a | First vector to find the minimum of |
b | Second vector to find the minimum of |
|
static |
Casts an integer vector into a float vector.
vec | Vector to cast |
Multiplies two vectors together.
a | First vector to multiply |
b | Second vector to multiply |
Multiplies a vector by a scalar.
vec | Vector to multiply |
scalar | Scalar value to multiply by |
Multiplies a vector by a scalar.
vec | Vector to multiply |
scalar | Scalar value to multiply by |
Adds two vectors together.
a | First vector to add |
b | Second vector to add |
Negates a vector.
a | Vector to negate |
Divides each component of a vector by the corresponding component of another.
a | Numerator vector |
b | Denomenator vector |
Divides a vector by a scalar.
vec | Vector to divide |
denom | Scalar value to divide by |
override string Chunks.Geometry.Vector2D.ToString | ( | ) |
Returns a string representation of this vector.
A vector with 1 for X and Y.
A unit vector pointing along +X.
A unit vector pointing along +Y.
readonly float Chunks.Geometry.Vector2D.X |
X component of the vector.
readonly float Chunks.Geometry.Vector2D.Y |
Y component of the vector.
The zero vector with 0 for X and Y.
|
get |
Finds the length of the vector.
|
get |
Finds the squared length of the vector.
|
get |
Finds a unit vector pointing in the same direction as this one. Use NormalizedSafe for vectors that may have zero length.
|
get |
Finds a unit vector pointing in the same direction as this one. If the original vector has approximately zero length, the zero vector is returned.
|
get |
Gets a component of the vector by indexl with 0 for X, and 1 for Y.
index | Index of the component to get |