Direction
group dir
Directions in \(\mathbf{P}(\mathbb{R}^3_{3, 0, 1})\) are represented using points at infinity (homogeneous coordinate 0). Having a homogeneous coordinate of zero ensures that directions are translationinvariant.
Summary
Members  Descriptions 

public direction () = default 

public direction (float x,float y,float z) noexcept 
Create a normalized direction. 
public direction (__m128 p3) noexcept 

public explicit direction (float * data) noexcept 
Data should point to four floats with memory layout (0.f, x, y, z) where the zero occupies the lowest address in memory. 
public float x () const noexcept 

public float y () const noexcept 

public float z () const noexcept 

public void normalize () noexcept 
Normalize this direction by dividing all components by the magnitude (by default, rsqrtps is used with a single NewtonRaphson refinement iteration) 
public direction normalized () const noexcept 
Return a normalized copy of this direction. 
public direction &KLN_VEC_CALL operator+= (direction b) noexcept 
Direction addition. 
public direction &KLN_VEC_CALL operator= (direction b) noexcept 
Direction subtraction. 
public direction & operator*= (float s) noexcept 
Direction uniform scale. 
public direction & operator*= (int s) noexcept 
Direction uniform scale. 
public direction & operator/= (float s) noexcept 
Direction uniform inverse scale. 
public direction & operator/= (int s) noexcept 
Direction uniform inverse scale. 
public direction KLN_VEC_CALL operator+ (direction a,direction b) noexcept 
Direction addition. 
public direction KLN_VEC_CALL operator (direction a,direction b) noexcept 
Direction subtraction. 
public direction KLN_VEC_CALL operator* (direction d,float s) noexcept 
Direction uniform scale. 
public direction KLN_VEC_CALL operator* (float s,direction d) noexcept 
Direction uniform scale. 
public direction KLN_VEC_CALL operator* (direction d,int s) noexcept 
Direction uniform scale. 
public direction KLN_VEC_CALL operator* (int s,direction d) noexcept 
Direction uniform scale. 
public direction KLN_VEC_CALL operator/ (direction d,float s) noexcept 
Direction uniform inverse scale. 
public direction KLN_VEC_CALL operator/ (direction d,int s) noexcept 
Direction uniform inverse scale. 
public direction operator (direction d) noexcept 
Unary minus. 
Members
direction() = default
direction(float x,float y,float z) noexcept
Create a normalized direction.
direction(__m128 p3) noexcept
explicit direction(float * data) noexcept
Data should point to four floats with memory layout (0.f, x, y, z)
where the zero occupies the lowest address in memory.
float x() const noexcept
float y() const noexcept
float z() const noexcept
void normalize() noexcept
Normalize this direction by dividing all components by the magnitude (by default, rsqrtps
is used with a single NewtonRaphson refinement iteration)
direction normalized() const noexcept
Return a normalized copy of this direction.
direction &KLN_VEC_CALL operator+=(direction b) noexcept
Direction addition.
direction &KLN_VEC_CALL operator=(direction b) noexcept
Direction subtraction.
direction & operator*=(float s) noexcept
Direction uniform scale.
direction & operator*=(int s) noexcept
Direction uniform scale.
direction & operator/=(float s) noexcept
Direction uniform inverse scale.
direction & operator/=(int s) noexcept
Direction uniform inverse scale.
direction KLN_VEC_CALL operator+(direction a,direction b) noexcept
Direction addition.
direction KLN_VEC_CALL operator(direction a,direction b) noexcept
Direction subtraction.
direction KLN_VEC_CALL operator*(direction d,float s) noexcept
Direction uniform scale.
direction KLN_VEC_CALL operator*(float s,direction d) noexcept
Direction uniform scale.
direction KLN_VEC_CALL operator*(direction d,int s) noexcept
Direction uniform scale.
direction KLN_VEC_CALL operator*(int s,direction d) noexcept
Direction uniform scale.
direction KLN_VEC_CALL operator/(direction d,float s) noexcept
Direction uniform inverse scale.
direction KLN_VEC_CALL operator/(direction d,int s) noexcept
Direction uniform inverse scale.
direction operator(direction d) noexcept
Unary minus.