BNM 2.4.0
 
Loading...
Searching...
No Matches
BNM::Structures::Unity::Vector2 Struct Reference

Public Member Functions

constexpr Vector2 (float x, float y)
 
float * GetPtr ()
 
const float * GetPtr () const
 
float & operator[] (int i)
 
const float & operator[] (int i) const
 
void Normalize ()
 
void Scale (Vector2 scale)
 
float magnitude ()
 
float sqrMagnitude ()
 
Vector2 normalized ()
 
std::string str () const
 
bool operator== (const Vector2 v)
 
bool operator!= (const Vector2 v)
 
Vector2operator+= (float rhs)
 
Vector2operator-= (float rhs)
 
Vector2operator*= (float rhs)
 
Vector2operator/= (float rhs)
 
Vector2operator+= (Vector2 rhs)
 
Vector2operator-= (Vector2 rhs)
 
Vector2 operator- () const
 
 operator Vector3 () const
 

Static Public Member Functions

static float Angle (Vector2 from, Vector2 to)
 
static Vector2 ClampMagnitude (Vector2 vector, float maxLength)
 
static float Component (Vector2 a, Vector2 b)
 
static float Distance (Vector2 a, Vector2 b)
 
static float Dot (Vector2 lhs, Vector2 rhs)
 
static Vector2 FromPolar (float rad, float theta)
 
static Vector2 Lerp (Vector2 from, Vector2 to, float t)
 
static Vector2 LerpUnclamped (Vector2 from, Vector2 to, float t)
 
static float Magnitude (Vector2 vector)
 
static Vector2 Max (Vector2 lhs, Vector2 rhs)
 
static Vector2 Min (Vector2 lhs, Vector2 rhs)
 
static Vector2 MoveTowards (Vector2 current, Vector2 target, float maxDistanceDelta)
 
static Vector2 Normalize (Vector2 vector)
 
static void OrthoNormalize (Vector2 &normal, Vector2 &tangent)
 
static Vector2 Perpendicular (Vector2 inDirection)
 
static Vector2 Project (Vector2 a, Vector2 b)
 
static Vector2 Reflect (Vector2 inDirection, Vector2 inNormal)
 
static Vector2 Reject (Vector2 a, Vector2 b)
 
static Vector2 RotateTowards (Vector2 current, Vector2 target, float maxRadiansDelta, float maxMagnitudeDelta)
 
static Vector2 Scale (Vector2 a, Vector2 b)
 
static Vector2 Slerp (Vector2, Vector2, float)
 
static Vector2 SlerpUnclamped (Vector2, Vector2, float)
 
static Vector2 SmoothDamp (Vector2 current, Vector2 target, Vector2 &currentVelocity, float smoothTime, float maxSpeed, float deltaTime)
 
static float SqrMagnitude (Vector2 vector)
 
static void ToPolar (Vector2, float &, float &)
 

Public Attributes

union { 
 
   struct { 
 
      float   x 
 
      float   y 
 
   }  
 
   float   data [2] {0.f, 0.f} 
 
};  
 

Static Public Attributes

static const Vector2 positiveInfinity
 
static const Vector2 negativeInfinity
 
static const Vector2 down
 
static const Vector2 left
 
static const Vector2 one
 
static const Vector2 right
 
static const Vector2 up
 
static const Vector2 zero
 

Friends

Vector2 operator+ (Vector2 lhs, float rhs)
 
Vector2 operator- (Vector2 lhs, float rhs)
 
Vector2 operator* (Vector2 lhs, float rhs)
 
Vector2 operator/ (Vector2 lhs, float rhs)
 
Vector2 operator+ (float lhs, Vector2 rhs)
 
Vector2 operator- (float lhs, Vector2 rhs)
 
Vector2 operator* (float lhs, Vector2 rhs)
 
Vector2 operator/ (float lhs, Vector2 rhs)
 
Vector2 operator+ (Vector2 lhs, Vector2 rhs)
 
Vector2 operator- (Vector2 lhs, Vector2 rhs)
 
Vector2 operator* (Vector2 lhs, Vector2 rhs)
 
Vector2 operator/ (Vector2 lhs, Vector2 rhs)