Falco Engine 3.9.0.1 (beta)
FalcoEngine.Vector2 Struct Reference

Public Member Functions

 Vector2 (float x, float y)
 
void Set (float newX, float newY)
 
void Scale (Vector2 scale)
 
void Normalize ()
 
override string ToString ()
 
string ToString (string format)
 
override int GetHashCode ()
 
override bool Equals (object other)
 
bool Equals (Vector2 other)
 
float SqrMagnitude ()
 

Static Public Member Functions

static Vector2 Lerp (Vector2 a, Vector2 b, float t)
 
static Vector2 LerpUnclamped (Vector2 a, Vector2 b, float t)
 
static Vector2 MoveTowards (Vector2 current, Vector2 target, float maxDistanceDelta)
 
static Vector2 Scale (Vector2 a, Vector2 b)
 
static Vector2 Reflect (Vector2 inDirection, Vector2 inNormal)
 
static Vector2 Perpendicular (Vector2 inDirection)
 
static float Dot (Vector2 lhs, Vector2 rhs)
 
static float Angle (Vector2 from, Vector2 to)
 
static float SignedAngle (Vector2 from, Vector2 to)
 
static float Distance (Vector2 a, Vector2 b)
 
static Vector2 ClampMagnitude (Vector2 vector, float maxLength)
 
static float SqrMagnitude (Vector2 a)
 
static Vector2 Min (Vector2 lhs, Vector2 rhs)
 
static Vector2 Max (Vector2 lhs, Vector2 rhs)
 
static Vector2 SmoothDamp (Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime, float maxSpeed)
 
static Vector2 SmoothDamp (Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime)
 
static Vector2 SmoothDamp (Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime, float maxSpeed, float deltaTime)
 
static Vector2 operator+ (Vector2 a, Vector2 b)
 
static Vector2 operator- (Vector2 a, Vector2 b)
 
static Vector2 operator* (Vector2 a, Vector2 b)
 
static Vector2 operator/ (Vector2 a, Vector2 b)
 
static Vector2 operator- (Vector2 a)
 
static Vector2 operator* (Vector2 a, float d)
 
static Vector2 operator* (float d, Vector2 a)
 
static Vector2 operator/ (Vector2 a, float d)
 
static bool operator== (Vector2 lhs, Vector2 rhs)
 
static bool operator!= (Vector2 lhs, Vector2 rhs)
 
static implicit operator Vector2 (Vector3 v)
 
static implicit operator Vector3 (Vector2 v)
 

Public Attributes

float x
 
float y
 

Static Public Attributes

const float kEpsilon = 1E-05f
 
const float kEpsilonNormalSqrt = 1E-15f
 

Properties

float this[int index] [getset]
 
Vector2 normalized [get]
 
float magnitude [get]
 
float sqrMagnitude [get]
 
static Vector2 zero [get]
 
static Vector2 one [get]
 
static Vector2 up [get]
 
static Vector2 down [get]
 
static Vector2 left [get]
 
static Vector2 right [get]
 
static Vector2 positiveInfinity [get]
 
static Vector2 negativeInfinity [get]
 

Detailed Description

Definition at line 10 of file Vector2.cs.

Constructor & Destructor Documentation

◆ Vector2()

FalcoEngine.Vector2.Vector2 ( float  x,
float  y 
)

Constructs a new vector with given x, y components.

Parameters
x
y

Definition at line 140 of file Vector2.cs.

Member Function Documentation

◆ Angle()

static float FalcoEngine.Vector2.Angle ( Vector2  from,
Vector2  to 
)
static

Returns the unsigned angle in degrees between from and to.

Parameters
fromThe vector from which the angular difference is measured.
toThe vector to which the angular difference is measured.

Definition at line 314 of file Vector2.cs.

◆ ClampMagnitude()

static Vector2 FalcoEngine.Vector2.ClampMagnitude ( Vector2  vector,
float  maxLength 
)
static

Returns a copy of vector with its magnitude clamped to maxLength.

Parameters
vector
maxLength

Definition at line 354 of file Vector2.cs.

◆ Distance()

static float FalcoEngine.Vector2.Distance ( Vector2  a,
Vector2  b 
)
static

Returns the distance between a and b.

Parameters
a
b

Definition at line 342 of file Vector2.cs.

◆ Dot()

static float FalcoEngine.Vector2.Dot ( Vector2  lhs,
Vector2  rhs 
)
static

Dot Product of two vectors.

Parameters
lhs
rhs

Definition at line 304 of file Vector2.cs.

◆ Equals() [1/2]

override bool FalcoEngine.Vector2.Equals ( object  other)

Returns true if the given vector is exactly equal to this vector.

Parameters
other

Definition at line 262 of file Vector2.cs.

◆ Equals() [2/2]

bool FalcoEngine.Vector2.Equals ( Vector2  other)

Definition at line 271 of file Vector2.cs.

◆ GetHashCode()

override int FalcoEngine.Vector2.GetHashCode ( )

Definition at line 253 of file Vector2.cs.

◆ Lerp()

static Vector2 FalcoEngine.Vector2.Lerp ( Vector2  a,
Vector2  b,
float  t 
)
static

Linearly interpolates between vectors a and b by t.

Parameters
a
b
t

Definition at line 163 of file Vector2.cs.

◆ LerpUnclamped()

static Vector2 FalcoEngine.Vector2.LerpUnclamped ( Vector2  a,
Vector2  b,
float  t 
)
static

Linearly interpolates between vectors a and b by t.

Parameters
a
b
t

Definition at line 175 of file Vector2.cs.

◆ Max()

static Vector2 FalcoEngine.Vector2.Max ( Vector2  lhs,
Vector2  rhs 
)
static

Returns a vector that is made from the largest components of two vectors.

Parameters
lhs
rhs

Definition at line 392 of file Vector2.cs.

◆ Min()

static Vector2 FalcoEngine.Vector2.Min ( Vector2  lhs,
Vector2  rhs 
)
static

Returns a vector that is made from the smallest components of two vectors.

Parameters
lhs
rhs

Definition at line 382 of file Vector2.cs.

◆ MoveTowards()

static Vector2 FalcoEngine.Vector2.MoveTowards ( Vector2  current,
Vector2  target,
float  maxDistanceDelta 
)
static

Moves a point current towards target.

Parameters
current
target
maxDistanceDelta

Definition at line 186 of file Vector2.cs.

◆ Normalize()

void FalcoEngine.Vector2.Normalize ( )

Makes this vector have a magnitude of 1.

Definition at line 222 of file Vector2.cs.

◆ operator Vector2()

static implicit FalcoEngine.Vector2.operator Vector2 ( Vector3  v)
static

Definition at line 502 of file Vector2.cs.

◆ operator Vector3()

static implicit FalcoEngine.Vector2.operator Vector3 ( Vector2  v)
static

Definition at line 507 of file Vector2.cs.

◆ operator!=()

static bool FalcoEngine.Vector2.operator!= ( Vector2  lhs,
Vector2  rhs 
)
static

Definition at line 497 of file Vector2.cs.

◆ operator*() [1/3]

static Vector2 FalcoEngine.Vector2.operator* ( float  d,
Vector2  a 
)
static

Definition at line 480 of file Vector2.cs.

◆ operator*() [2/3]

static Vector2 FalcoEngine.Vector2.operator* ( Vector2  a,
float  d 
)
static

Definition at line 475 of file Vector2.cs.

◆ operator*() [3/3]

static Vector2 FalcoEngine.Vector2.operator* ( Vector2  a,
Vector2  b 
)
static

Definition at line 460 of file Vector2.cs.

◆ operator+()

static Vector2 FalcoEngine.Vector2.operator+ ( Vector2  a,
Vector2  b 
)
static

Definition at line 450 of file Vector2.cs.

◆ operator-() [1/2]

static Vector2 FalcoEngine.Vector2.operator- ( Vector2  a)
static

Definition at line 470 of file Vector2.cs.

◆ operator-() [2/2]

static Vector2 FalcoEngine.Vector2.operator- ( Vector2  a,
Vector2  b 
)
static

Definition at line 455 of file Vector2.cs.

◆ operator/() [1/2]

static Vector2 FalcoEngine.Vector2.operator/ ( Vector2  a,
float  d 
)
static

Definition at line 485 of file Vector2.cs.

◆ operator/() [2/2]

static Vector2 FalcoEngine.Vector2.operator/ ( Vector2  a,
Vector2  b 
)
static

Definition at line 465 of file Vector2.cs.

◆ operator==()

static bool FalcoEngine.Vector2.operator== ( Vector2  lhs,
Vector2  rhs 
)
static

Definition at line 490 of file Vector2.cs.

◆ Perpendicular()

static Vector2 FalcoEngine.Vector2.Perpendicular ( Vector2  inDirection)
static

Returns the 2D vector perpendicular to this 2D vector. The result is always rotated 90-degrees in a counter-clockwise direction for a 2D coordinate system where the positive Y axis goes up.

Parameters
inDirectionThe input direction.
Returns
The perpendicular direction.

Definition at line 294 of file Vector2.cs.

◆ Reflect()

static Vector2 FalcoEngine.Vector2.Reflect ( Vector2  inDirection,
Vector2  inNormal 
)
static

Reflects a vector off the vector defined by a normal.

Parameters
inDirection
inNormal

Definition at line 281 of file Vector2.cs.

◆ Scale() [1/2]

static Vector2 FalcoEngine.Vector2.Scale ( Vector2  a,
Vector2  b 
)
static

Multiplies two vectors component-wise.

Parameters
a
b

Definition at line 204 of file Vector2.cs.

◆ Scale() [2/2]

void FalcoEngine.Vector2.Scale ( Vector2  scale)

Multiplies every component of this vector by the same component of scale.

Parameters
scale

Definition at line 213 of file Vector2.cs.

◆ Set()

void FalcoEngine.Vector2.Set ( float  newX,
float  newY 
)

Set x and y components of an existing Vector2.

Parameters
newX
newY

Definition at line 151 of file Vector2.cs.

◆ SignedAngle()

static float FalcoEngine.Vector2.SignedAngle ( Vector2  from,
Vector2  to 
)
static

Returns the signed angle in degrees between from and to.

Parameters
fromThe vector from which the angular difference is measured.
toThe vector to which the angular difference is measured.

Definition at line 330 of file Vector2.cs.

◆ SmoothDamp() [1/3]

static Vector2 FalcoEngine.Vector2.SmoothDamp ( Vector2  current,
Vector2  target,
ref Vector2  currentVelocity,
float  smoothTime 
)
static

Definition at line 403 of file Vector2.cs.

◆ SmoothDamp() [2/3]

static Vector2 FalcoEngine.Vector2.SmoothDamp ( Vector2  current,
Vector2  target,
ref Vector2  currentVelocity,
float  smoothTime,
float  maxSpeed 
)
static

Definition at line 397 of file Vector2.cs.

◆ SmoothDamp() [3/3]

static Vector2 FalcoEngine.Vector2.SmoothDamp ( Vector2  current,
Vector2  target,
ref Vector2  currentVelocity,
float  smoothTime,
float  maxSpeed,
float  deltaTime 
)
static

Definition at line 410 of file Vector2.cs.

◆ SqrMagnitude() [1/2]

float FalcoEngine.Vector2.SqrMagnitude ( )

Definition at line 372 of file Vector2.cs.

◆ SqrMagnitude() [2/2]

static float FalcoEngine.Vector2.SqrMagnitude ( Vector2  a)
static

Definition at line 367 of file Vector2.cs.

◆ ToString() [1/2]

override string FalcoEngine.Vector2.ToString ( )

Returns a nicely formatted string for this vector.

Parameters
format

Definition at line 239 of file Vector2.cs.

◆ ToString() [2/2]

string FalcoEngine.Vector2.ToString ( string  format)

Returns a nicely formatted string for this vector.

Parameters
format

Definition at line 248 of file Vector2.cs.

Member Data Documentation

◆ kEpsilon

const float FalcoEngine.Vector2.kEpsilon = 1E-05f
static

Definition at line 38 of file Vector2.cs.

◆ kEpsilonNormalSqrt

const float FalcoEngine.Vector2.kEpsilonNormalSqrt = 1E-15f
static

Definition at line 40 of file Vector2.cs.

◆ x

float FalcoEngine.Vector2.x

X component of the vector.

Definition at line 15 of file Vector2.cs.

◆ y

float FalcoEngine.Vector2.y

Y component of the vector.

Definition at line 20 of file Vector2.cs.

Property Documentation

◆ down

Vector2 FalcoEngine.Vector2.down
staticget

Shorthand for writing Vector2(0, -1).

Definition at line 113 of file Vector2.cs.

◆ left

Vector2 FalcoEngine.Vector2.left
staticget

Shorthand for writing Vector2(-1, 0).

Definition at line 118 of file Vector2.cs.

◆ magnitude

float FalcoEngine.Vector2.magnitude
get

Returns the length of this vector (Read Only).

Definition at line 88 of file Vector2.cs.

◆ negativeInfinity

Vector2 FalcoEngine.Vector2.negativeInfinity
staticget

Shorthand for writing Vector2(float.NegativeInfinity, float.NegativeInfinity).

Definition at line 133 of file Vector2.cs.

◆ normalized

Vector2 FalcoEngine.Vector2.normalized
get

Returns this vector with a magnitude of 1 (Read Only).

Definition at line 75 of file Vector2.cs.

◆ one

Vector2 FalcoEngine.Vector2.one
staticget

Shorthand for writing Vector2(1, 1).

Definition at line 103 of file Vector2.cs.

◆ positiveInfinity

Vector2 FalcoEngine.Vector2.positiveInfinity
staticget

Shorthand for writing Vector2(float.PositiveInfinity, float.PositiveInfinity).

Definition at line 128 of file Vector2.cs.

◆ right

Vector2 FalcoEngine.Vector2.right
staticget

Shorthand for writing Vector2(1, 0).

Definition at line 123 of file Vector2.cs.

◆ sqrMagnitude

float FalcoEngine.Vector2.sqrMagnitude
get

Returns the squared length of this vector (Read Only).

Definition at line 93 of file Vector2.cs.

◆ this[int index]

float FalcoEngine.Vector2.this[int index]
getset

Definition at line 42 of file Vector2.cs.

◆ up

Vector2 FalcoEngine.Vector2.up
staticget

Shorthand for writing Vector2(0, 1).

Definition at line 108 of file Vector2.cs.

◆ zero

Vector2 FalcoEngine.Vector2.zero
staticget

Shorthand for writing Vector2(0, 0).

Definition at line 98 of file Vector2.cs.


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