Chunks
Moddable voxel sandbox for room-scale VR.
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Properties | List of all members
Chunks.Geometry.Vector2D Struct Reference

Represents a position or offset in 3D space. More...

Inheritance diagram for Chunks.Geometry.Vector2D:

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...
 

Detailed Description

Represents a position or offset in 3D space.

Constructor & Destructor Documentation

Chunks.Geometry.Vector2D.Vector2D ( float  x,
float  y 
)

Constructs a new vector with the given X and Y components.

Parameters
xX component
yY component

Member Function Documentation

static float Chunks.Geometry.Vector2D.Angle ( Vector2D  from,
Vector2D  to 
)
static

Finds the smallest angle between two vectors.

Parameters
fromStarting vector
toEnding vector
float Chunks.Geometry.Vector2D.Cross ( Vector2D  other)

Finds the cross product of this vector and another.

Parameters
otherVector to find the cross product with
float Chunks.Geometry.Vector2D.Dot ( Vector2D  other)

Finds the scalar product of this vector and another.

Parameters
otherVector to find the scalar product with
bool Chunks.Geometry.Vector2D.Equals ( Vector2D  other)

Tests for equality with another vector.

Parameters
otherVector 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.

Parameters
otherVector to test for equality with
epsilonInclusive margin of error
override bool Chunks.Geometry.Vector2D.Equals ( object  obj)

Tests for equality with another object.

Parameters
objObject to test for equality with
override int Chunks.Geometry.Vector2D.GetHashCode ( )

Returns the hash code for this vector.

static Vector2D Chunks.Geometry.Vector2D.Lerp ( Vector2D  from,
Vector2D  to,
float  t 
)
static

Linearly interpolates between two vectors.

Parameters
fromStarting vector
toEnding vector
tInterpolation parameter
static Vector Chunks.Geometry.Vector2D.Max ( Vector  a,
Vector  b 
)
static

Finds the component-wise maximum of two vectors.

Parameters
aFirst vector to find the maximum of
bSecond vector to find the maximum of
static Vector Chunks.Geometry.Vector2D.Min ( Vector  a,
Vector  b 
)
static

Finds the component-wise minimum of two vectors.

Parameters
aFirst vector to find the minimum of
bSecond vector to find the minimum of
static implicit Chunks.Geometry.Vector2D.operator Vector2D ( IntVector2D  vec)
static

Casts an integer vector into a float vector.

Parameters
vecVector to cast
static Vector2D Chunks.Geometry.Vector2D.operator* ( Vector2D  a,
Vector2D  b 
)
static

Multiplies two vectors together.

Parameters
aFirst vector to multiply
bSecond vector to multiply
static Vector2D Chunks.Geometry.Vector2D.operator* ( float  scalar,
Vector2D  vec 
)
static

Multiplies a vector by a scalar.

Parameters
vecVector to multiply
scalarScalar value to multiply by
static Vector2D Chunks.Geometry.Vector2D.operator* ( Vector2D  vec,
float  scalar 
)
static

Multiplies a vector by a scalar.

Parameters
vecVector to multiply
scalarScalar value to multiply by
static Vector2D Chunks.Geometry.Vector2D.operator+ ( Vector2D  a)
static
static Vector2D Chunks.Geometry.Vector2D.operator+ ( Vector2D  a,
Vector2D  b 
)
static

Adds two vectors together.

Parameters
aFirst vector to add
bSecond vector to add
static Vector2D Chunks.Geometry.Vector2D.operator- ( Vector2D  a)
static

Negates a vector.

Parameters
aVector to negate
static Vector2D Chunks.Geometry.Vector2D.operator- ( Vector2D  a,
Vector2D  b 
)
static

Subtracts a vector from another.

Parameters
aVector to be subtracted from
bVector to subtract
static Vector2D Chunks.Geometry.Vector2D.operator/ ( Vector2D  a,
Vector2D  b 
)
static

Divides each component of a vector by the corresponding component of another.

Parameters
aNumerator vector
bDenomenator vector
static Vector2D Chunks.Geometry.Vector2D.operator/ ( Vector2D  vec,
float  denom 
)
static

Divides a vector by a scalar.

Parameters
vecVector to divide
denomScalar value to divide by
override string Chunks.Geometry.Vector2D.ToString ( )

Returns a string representation of this vector.

Member Data Documentation

readonly Vector2D Chunks.Geometry.Vector2D.One = new Vector2D(1, 1)
static

A vector with 1 for X and Y.

readonly Vector2D Chunks.Geometry.Vector2D.UnitX = new Vector2D(1, 0)
static

A unit vector pointing along +X.

readonly Vector2D Chunks.Geometry.Vector2D.UnitY = new Vector2D(0, 1)
static

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.

readonly Vector2D Chunks.Geometry.Vector2D.Zero = new Vector2D(0, 0)
static

The zero vector with 0 for X and Y.

Property Documentation

float Chunks.Geometry.Vector2D.Length
get

Finds the length of the vector.

float Chunks.Geometry.Vector2D.LengthSquared
get

Finds the squared length of the vector.

Vector2D Chunks.Geometry.Vector2D.Normalized
get

Finds a unit vector pointing in the same direction as this one. Use NormalizedSafe for vectors that may have zero length.

Vector2D Chunks.Geometry.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.

float Chunks.Geometry.Vector2D.this[int index]
get

Gets a component of the vector by indexl with 0 for X, and 1 for Y.

Parameters
indexIndex of the component to get

The documentation for this struct was generated from the following file: