glVertex  5.5.2
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
vec4 Class Reference

4D double vector More...

#include <glslmath.h>

Public Member Functions

 vec4 ()
 default constructor
 
 vec4 (const vec4 &v)
 copy constructor
 
 vec4 (const vec3 &v, const double vw=1.0)
 copy constructor
 
 vec4 (const vec2 &v, const double vz=0.0, const double vw=1.0)
 copy constructor
 
 vec4 (const vec2 &xy, const vec2 &zw)
 copy constructor
 
 vec4 (const double vx, const double vy, const double vz, const double vw=1.0)
 component-wise constructor
 
 vec4 (const double v, const double vw=1.0)
 single-component constructor
 
 operator vec3 () const
 cast operator with homogenization
 
const double * c_ptr () const
 const pointer to linear array
 
 operator const double * () const
 cast operator to linear array
 
vec4operator+= (const vec4 &v)
 inplace addition
 
vec4operator-= (const vec4 &v)
 inplace subtraction
 
vec4operator*= (double v)
 inplace multiplication
 
vec4operator*= (const vec4 &v)
 inplace multiplication
 
double length () const
 get vector length
 
double norm () const
 get squared vector length
 
vec4 normalize () const
 normalize vector to unit length More...
 
double dot (const vec4 &v) const
 inner product
 
vec4 cross (const vec4 &v) const
 cross product (0,0,-1,0)/(-1,0,0,0)=(0,1,0,0)
 
vec4 reflect (const vec4 &n) const
 reflect incident vector at normalized surface normal
 
bool approx (const vec4 &v, const double e=1E-10) const
 test for approximate equality
 
vec2 xy () const
 swizzeling operator
 
vec2 zw () const
 swizzeling operator
 
vec3 xyz () const
 swizzeling operator
 
vec3 rgb () const
 swizzeling operator
 
vec4 wzyx () const
 swizzeling operator
 
vec4 bgra () const
 swizzeling operator
 
vec4 blend (const vec4 &rgba) const
 blending operator
 
 operator std::string ()
 string cast operator
 
std::string to_string (std::string delimiter=", ", int space=0)
 conversion to string
 

Static Public Member Functions

static vec4 normal (const vec4 &a, const vec4 &b, const vec4 &c)
 calculate triangle normal
 
static double area (const vec4 &a, const vec4 &b, const vec4 &c)
 calculate triangle area
 

Public Attributes

union {
}; 
 vector components
 

Detailed Description

4D double vector

Member Function Documentation

◆ normalize()

vec4 vec4::normalize ( ) const
inline

normalize vector to unit length

normalization to unit length


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