1.3.49
 
Loading...
Searching...
No Matches
helios::vec3 Struct Reference

Vector of three elements of type 'float'. More...

#include <helios_vector_types.h>

Public Member Functions

vec3 normalize ()
 Normalize vector components such that the magnitude is unity.
 
float magnitude () const
 Compute the vector magnitude.
 
constexpr vec3 ()
 Default constructor.
 
 vec3 (const std::vector< float > &v)
 Initialize vec3 using a vector of floats.
 
constexpr vec3 (const float v[3])
 Initialize vec3 using an array of floats.
 
constexpr vec3 (float v0, float v1, float v2)
 Initialize vec3 using three floats.
 
constexpr float operator* (const vec3 &a) const noexcept
 Dot (scalar) product of two vec3 vectors.
 
constexpr vec3 operator+ (const vec3 &a) const noexcept
 Sum of two vec3 vectors.
 
vec3operator+= (const vec3 &a) noexcept
 Increment vec3 vector.
 
vec3operator-= (const vec3 &a) noexcept
 Decrement vec3 vector.
 
vec3operator*= (float a) noexcept
 Multiplication assignment operator for vec3 vector.
 
vec3operator/= (float a) noexcept
 Division assignment operator for vec2 vector.
 
constexpr vec3 operator- (const vec3 &a) const noexcept
 Difference of two vec3 vectors.
 
constexpr vec3 operator* (float a) const noexcept
 Multiply each element by scalar (scalar is multiplied on right: vec3*a)
 
vec3 operator/ (float a) const noexcept
 Divide each element by scalar (scalar is divided on right: vec3/a)
 
constexpr vec3 operator+ (float a) const noexcept
 Add a scalar to each element (scalar is added on right: vec3+a)
 
constexpr vec3 operator- (float a) const noexcept
 Subtract a scalar from each element (scalar is subtracted on right: vec3-a)
 
constexpr bool operator== (const vec3 &a) const noexcept
 check for equality of two vec3 vectors
 
constexpr bool operator!= (const vec3 &a) const noexcept
 check for inequality of two vec3 vectors
 
constexpr vec3 operator- () const noexcept
 Multiply vector by -1.
 

Data Fields

float x
 First element in vector.
 
float y
 Second element in vector.
 
float z
 Third element in vector.
 

Friends

std::ostream & operator<< (std::ostream &os, const helios::vec3 &vec)
 Write vec3 to output stream.
 

Detailed Description

Vector of three elements of type 'float'.

Definition at line 881 of file helios_vector_types.h.

Constructor & Destructor Documentation

◆ vec3() [1/4]

constexpr helios::vec3::vec3 ( )
inlineconstexpr

Default constructor.

initializes to zero

Definition at line 914 of file helios_vector_types.h.

◆ vec3() [2/4]

helios::vec3::vec3 ( const std::vector< float > &  v)
inlineexplicit

Initialize vec3 using a vector of floats.

Definition at line 918 of file helios_vector_types.h.

◆ vec3() [3/4]

constexpr helios::vec3::vec3 ( const float  v[3])
inlineexplicitconstexpr

Initialize vec3 using an array of floats.

Definition at line 927 of file helios_vector_types.h.

◆ vec3() [4/4]

constexpr helios::vec3::vec3 ( float  v0,
float  v1,
float  v2 
)
inlineconstexpr

Initialize vec3 using three floats.

Definition at line 931 of file helios_vector_types.h.

Member Function Documentation

◆ magnitude()

float helios::vec3::magnitude ( ) const
inline

Compute the vector magnitude.

Returns
magnitude of vector

Definition at line 906 of file helios_vector_types.h.

◆ normalize()

vec3 helios::vec3::normalize ( )
inline

Normalize vector components such that the magnitude is unity.

Definition at line 891 of file helios_vector_types.h.

◆ operator!=()

constexpr bool helios::vec3::operator!= ( const vec3 a) const
constexprnoexcept

check for inequality of two vec3 vectors

Definition at line 1070 of file helios_vector_types.h.

◆ operator*() [1/2]

constexpr float helios::vec3::operator* ( const vec3 a) const
constexprnoexcept

Dot (scalar) product of two vec3 vectors.

Definition at line 997 of file helios_vector_types.h.

◆ operator*() [2/2]

constexpr vec3 helios::vec3::operator* ( float  a) const
constexprnoexcept

Multiply each element by scalar (scalar is multiplied on right: vec3*a)

Definition at line 1053 of file helios_vector_types.h.

◆ operator*=()

vec3 & helios::vec3::operator*= ( float  a)
inlinenoexcept

Multiplication assignment operator for vec3 vector.

Definition at line 1019 of file helios_vector_types.h.

◆ operator+() [1/2]

constexpr vec3 helios::vec3::operator+ ( const vec3 a) const
constexprnoexcept

Sum of two vec3 vectors.

Definition at line 1001 of file helios_vector_types.h.

◆ operator+() [2/2]

constexpr vec3 helios::vec3::operator+ ( float  a) const
constexprnoexcept

Add a scalar to each element (scalar is added on right: vec3+a)

Definition at line 1033 of file helios_vector_types.h.

◆ operator+=()

vec3 & helios::vec3::operator+= ( const vec3 a)
inlinenoexcept

Increment vec3 vector.

Definition at line 1005 of file helios_vector_types.h.

◆ operator-() [1/3]

constexpr vec3 helios::vec3::operator- ( ) const
constexprnoexcept

Multiply vector by -1.

Definition at line 1074 of file helios_vector_types.h.

◆ operator-() [2/3]

constexpr vec3 helios::vec3::operator- ( const vec3 a) const
constexprnoexcept

Difference of two vec3 vectors.

Definition at line 1041 of file helios_vector_types.h.

◆ operator-() [3/3]

constexpr vec3 helios::vec3::operator- ( float  a) const
constexprnoexcept

Subtract a scalar from each element (scalar is subtracted on right: vec3-a)

Definition at line 1045 of file helios_vector_types.h.

◆ operator-=()

vec3 & helios::vec3::operator-= ( const vec3 a)
inlinenoexcept

Decrement vec3 vector.

Definition at line 1012 of file helios_vector_types.h.

◆ operator/()

vec3 helios::vec3::operator/ ( float  a) const
inlinenoexcept

Divide each element by scalar (scalar is divided on right: vec3/a)

Definition at line 1061 of file helios_vector_types.h.

◆ operator/=()

vec3 & helios::vec3::operator/= ( float  a)
inlinenoexcept

Division assignment operator for vec2 vector.

Definition at line 1026 of file helios_vector_types.h.

◆ operator==()

constexpr bool helios::vec3::operator== ( const vec3 a) const
constexprnoexcept

check for equality of two vec3 vectors

Definition at line 1066 of file helios_vector_types.h.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const helios::vec3 vec 
)
friend

Write vec3 to output stream.

Definition at line 964 of file helios_vector_types.h.

Field Documentation

◆ x

float helios::vec3::x

First element in vector.

Definition at line 884 of file helios_vector_types.h.

◆ y

float helios::vec3::y

Second element in vector.

Definition at line 886 of file helios_vector_types.h.

◆ z

float helios::vec3::z

Third element in vector.

Definition at line 888 of file helios_vector_types.h.


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