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

Public Member Functions

constexpr Vector4 (float inX, float inY, float inZ, float inW)
 
constexpr Vector4 (Vector3 v, float inW)
 
 Vector4 (Color c)
 
float * GetPtr ()
 
const float * GetPtr () const
 
float & operator[] (int i)
 
const float & operator[] (int i) const
 
void Normalize ()
 
bool operator== (Vector4 v) const
 
bool operator!= (Vector4 v) const
 
Vector4 operator- () const
 
 operator Vector3 () const
 

Static Public Member Functions

static float Component (Vector4 a, Vector4 b)
 
static float Distance (Vector4 a, Vector4 b)
 
static float Dot (Vector4 lhs, Vector4 rhs)
 
static bool IsFinite (Vector4 f)
 
static Vector4 Lerp (Vector4 from, Vector4 to, float t)
 
static Vector4 LerpUnclamped (Vector4 from, Vector4 to, float t)
 
static float Magnitude (Vector4 inV)
 
static Vector4 Normalize (Vector4 v)
 
static Vector4 Project (Vector4 a, Vector4 b)
 
static bool CompareApproximately (Vector4 a, Vector4 b, float inMaxDist=Vector3::kEpsilon)
 
static float SqrMagnitude (Vector4 inV)
 

Public Attributes

union { 
 
   struct { 
 
      float   x 
 
      float   y 
 
      float   z 
 
      float   w 
 
   }  
 
   float   data [4] {0.f, 0.f, 0.f, 0.f} 
 
};  
 

Static Public Attributes

static const Vector4 positiveInfinity
 
static const Vector4 negativeInfinity
 
static const Vector4 zero
 
static const Vector4 one
 

Friends

Vector4 operator* (Vector4 lhs, Vector4 rhs)
 
Vector4 operator* (Vector4 v, float s)
 
Vector4 operator+ (Vector4 lhs, Vector4 rhs)
 
Vector4 operator- (Vector4 lhs, Vector4 rhs)
 
Vector4 operator/ (Vector4 v, float s)
 
Vector4 operator/ (Vector4 lhs, Vector4 rhs)