Kanzi 4.0.0-beta2
kanzi::Vector4 Class Reference

Vector with 4 floating point components: (x, y, z, w). More...

#include <kanzi/core/math/vector4.hpp>

Public Member Functions

constexpr float getW () const
 Returns the w element of the vector.
 
constexpr float getX () const
 Returns the x element of the vector.
 
constexpr float getY () const
 Returns the y element of the vector.
 
constexpr float getZ () const
 Returns the z element of the vector.
 
bool hasNan () const
 Returns true if and only if at least one of the vector values is NaN.
 
float length () const
 Calculates the length of the vector.
 
KZ_NO_DISCARD Vector4 normalized () const
 Normalizes the vector and returns the resulting vector.
 
constexpr Vector4operator*= (float scalar)
 Multiplies each vector element with a scalar.
 
constexpr Vector4operator+= (float scalar)
 Adds a scalar to each vector element.
 
constexpr Vector4operator+= (Vector4 v)
 Modifies this vector by adding another vector.
 
constexpr Vector4operator-= (Vector4 v)
 Modifies this vector by subtracting another vector from this vector.
 
constexpr Vector4operator/= (float scalar)
 Divides each vector element with a scalar.
 
constexpr floatoperator[] (size_t index)
 Access to individual elements of the vector.
 
constexpr const floatoperator[] (size_t index) const
 Access to individual elements of the vector.
 
constexpr void setW (float value)
 Sets the w element of the vector.
 
constexpr void setX (float value)
 Sets the x element of the vector.
 
constexpr void setY (float value)
 Sets the y element of the vector.
 
constexpr void setZ (float value)
 Sets the z element of the vector.
 
constexpr float squaredLength () const
 Calculates the squared length of the vector.
 
constexpr Vector4 ()
 Default constructor.
 
constexpr Vector4 (float v)
 Constructor.
 
constexpr Vector4 (float x, float y, float z, float w)
 Constructor, initializes the vector to (x, y, z, w).
 

Static Public Member Functions

static Vector4 highestValue ()
 Returns the vector with each element having the most positive float value.
 
static Vector4 lowestValue ()
 Returns the vector with each element having the most negative float value.
 
static Vector4 nan ()
 Returns the vector with each element being NaN.
 
static Vector4 negativeInfinity ()
 Returns the vector with each element being the negative infinity.
 
static constexpr Vector4 one ()
 Returns the vector with each element being one.
 
static Vector4 positiveInfinity ()
 Returns the vector with each element being the positive infinity.
 
static constexpr Vector4 zero ()
 Returns the vector with each element being zero.
 

Detailed Description

Vector with 4 floating point components: (x, y, z, w).

Constructor & Destructor Documentation

◆ Vector4() [1/3]

constexpr kanzi::Vector4::Vector4 ( )
inlineexplicitconstexpr

Default constructor.

Initializes the vector to (0.0, 0.0, 0.0, 0.0).

◆ Vector4() [2/3]

constexpr kanzi::Vector4::Vector4 ( float v)
inlineexplicitconstexpr

Constructor.

Initializes the vector to (v, v, v, v).

Parameters
vx, y, z, and w component of the vector.

◆ Vector4() [3/3]

constexpr kanzi::Vector4::Vector4 ( float x,
float y,
float z,
float w )
inlineexplicitconstexpr

Constructor, initializes the vector to (x, y, z, w).

Parameters
xx component of the vector.
yy component of the vector.
zz component of the vector.
ww component of the vector.

Member Function Documentation

◆ operator[]() [1/2]

constexpr const float & kanzi::Vector4::operator[] ( size_t index) const
inlineconstexpr

Access to individual elements of the vector.

Parameters
indexIndex of the accessed element. Should be either 0, 1, 2, or 3.
Returns
If index is 0, x element. If index is 1, y element. If index is 2, z element. If index is 3, w element.

◆ operator[]() [2/2]

constexpr float & kanzi::Vector4::operator[] ( size_t index)
inlineconstexpr

Access to individual elements of the vector.

Parameters
indexIndex of the accessed element. Should be either 0, 1, 2, or 3.
Returns
If index is 0, x element. If index is 1, y element. If index is 2, z element. If index is 3, w element.

◆ operator*=()

constexpr Vector4 & kanzi::Vector4::operator*= ( float scalar)
inlineconstexpr

Multiplies each vector element with a scalar.

Parameters
scalarMultiplier for each vector element.
Returns
This vector.

◆ operator/=()

constexpr Vector4 & kanzi::Vector4::operator/= ( float scalar)
inlineconstexpr

Divides each vector element with a scalar.

Parameters
scalarDivider for each vector element.
Returns
This vector.

◆ operator+=() [1/2]

constexpr Vector4 & kanzi::Vector4::operator+= ( float scalar)
inlineconstexpr

Adds a scalar to each vector element.

Parameters
scalarAddition to each vector element.
Returns
This vector.

◆ operator+=() [2/2]

constexpr Vector4 & kanzi::Vector4::operator+= ( Vector4 v)
inlineconstexpr

Modifies this vector by adding another vector.

Parameters
vAnother vector.
Returns
This vector.

◆ operator-=()

constexpr Vector4 & kanzi::Vector4::operator-= ( Vector4 v)
inlineconstexpr

Modifies this vector by subtracting another vector from this vector.

Parameters
vAnother vector.
Returns
This vector.

◆ zero()

static constexpr Vector4 kanzi::Vector4::zero ( )
inlinestaticconstexpr

Returns the vector with each element being zero.

Returns
Vector with zeroed elements.

◆ one()

static constexpr Vector4 kanzi::Vector4::one ( )
inlinestaticconstexpr

Returns the vector with each element being one.

Returns
Vector with unit element values.

◆ getX()

constexpr float kanzi::Vector4::getX ( ) const
inlineconstexpr

Returns the x element of the vector.

Returns
The x element.

◆ getY()

constexpr float kanzi::Vector4::getY ( ) const
inlineconstexpr

Returns the y element of the vector.

Returns
The y element.

◆ getZ()

constexpr float kanzi::Vector4::getZ ( ) const
inlineconstexpr

Returns the z element of the vector.

Returns
The z element.

◆ getW()

constexpr float kanzi::Vector4::getW ( ) const
inlineconstexpr

Returns the w element of the vector.

Returns
The w element.

◆ setX()

constexpr void kanzi::Vector4::setX ( float value)
inlineconstexpr

Sets the x element of the vector.

Parameters
valueThe new value of the x element.

◆ setY()

constexpr void kanzi::Vector4::setY ( float value)
inlineconstexpr

Sets the y element of the vector.

Parameters
valueThe new value of the y element.

◆ setZ()

constexpr void kanzi::Vector4::setZ ( float value)
inlineconstexpr

Sets the z element of the vector.

Parameters
valueThe new value of the z element.

◆ setW()

constexpr void kanzi::Vector4::setW ( float value)
inlineconstexpr

Sets the w element of the vector.

Parameters
valueThe new value of the w element.

◆ length()

float kanzi::Vector4::length ( ) const
inline

Calculates the length of the vector.

Returns
sqrt(dot product of the vector).

◆ squaredLength()

constexpr float kanzi::Vector4::squaredLength ( ) const
constexpr

Calculates the squared length of the vector.

Returns
Dot product of the vector.

◆ normalized()

KZ_NO_DISCARD Vector4 kanzi::Vector4::normalized ( ) const
inline

Normalizes the vector and returns the resulting vector.

Returns
The normalized vector.

◆ lowestValue()

Vector4 kanzi::Vector4::lowestValue ( )
inlinestatic

Returns the vector with each element having the most negative float value.

Returns
Vector with the lowest possible value.

◆ highestValue()

Vector4 kanzi::Vector4::highestValue ( )
inlinestatic

Returns the vector with each element having the most positive float value.

Returns
Vector with the highest possible value.

◆ nan()

Vector4 kanzi::Vector4::nan ( )
inlinestatic

Returns the vector with each element being NaN.

Returns
Vector with NaN elements.

◆ hasNan()

bool kanzi::Vector4::hasNan ( ) const
inline

Returns true if and only if at least one of the vector values is NaN.

◆ positiveInfinity()

Vector4 kanzi::Vector4::positiveInfinity ( )
inlinestatic

Returns the vector with each element being the positive infinity.

Returns
Vector with positive infinity elements.

◆ negativeInfinity()

Vector4 kanzi::Vector4::negativeInfinity ( )
inlinestatic

Returns the vector with each element being the negative infinity.

Returns
Vector with negative infinity elements.

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