aether::geometry::vec3f Struct Reference

#include <vector.hh>

Public Types

using self_type = vec3f
 
using value_type = float
 

Public Member Functions

vec3foperator*= (const float s)
 
vec3foperator/= (const float s)
 
vec3foperator+= (const vec3f &other)
 
vec3foperator-= (const vec3f &other)
 
bool operator== (const self_type &other) const
 
bool operator!= (const self_type &other) const
 
self_type operator* (const value_type s) const
 
self_type operator/ (const value_type s) const
 
self_type operator+ (const self_type &other) const
 
self_type operator- (const self_type &other) const
 
self_type operator- () const
 
value_type dot (const vec3f &other) const
 
value_type sqr_magnitude () const
 
value_type norm2 () const
 
void normalize ()
 
self_type normalized () const
 
value_typeoperator[] (const size_t index)
 
const value_typeoperator[] (const size_t index) const
 
 vec3f ()=default
 
 vec3f (const vec3f &)=default
 
 vec3f (value_type x_, value_type y_, value_type z_)
 
bool isfinite () const
 

Static Public Member Functions

static vec3f zero ()
 
static vec3f components (float _x, float _y, float _z)
 
static vec3f uniform_unit ()
 

Public Attributes

value_type x
 
value_type y
 
value_type z
 

Member Typedef Documentation

Constructor & Destructor Documentation

aether::geometry::vec3f::vec3f ( )
default
aether::geometry::vec3f::vec3f ( const vec3f )
default
aether::geometry::vec3f::vec3f ( value_type  x_,
value_type  y_,
value_type  z_ 
)
inline

Member Function Documentation

static vec3f aether::geometry::vec3f::components ( float  _x,
float  _y,
float  _z 
)
inlinestatic
value_type aether::geometry::vec3f::dot ( const vec3f other) const
inline
bool aether::geometry::vec3f::isfinite ( ) const
inline
value_type aether::geometry::vec3f::norm2 ( ) const
inline
void aether::geometry::vec3f::normalize ( )
inline
self_type aether::geometry::vec3f::normalized ( ) const
inline
bool aether::geometry::vec3f::operator!= ( const self_type other) const
inline
self_type aether::geometry::vec3f::operator* ( const value_type  s) const
inline
vec3f& aether::geometry::vec3f::operator*= ( const float  s)
inline
self_type aether::geometry::vec3f::operator+ ( const self_type other) const
inline
vec3f& aether::geometry::vec3f::operator+= ( const vec3f other)
inline
self_type aether::geometry::vec3f::operator- ( const self_type other) const
inline
self_type aether::geometry::vec3f::operator- ( ) const
inline
vec3f& aether::geometry::vec3f::operator-= ( const vec3f other)
inline
self_type aether::geometry::vec3f::operator/ ( const value_type  s) const
inline
vec3f& aether::geometry::vec3f::operator/= ( const float  s)
inline
bool aether::geometry::vec3f::operator== ( const self_type other) const
inline
value_type& aether::geometry::vec3f::operator[] ( const size_t  index)
inline
const value_type& aether::geometry::vec3f::operator[] ( const size_t  index) const
inline
value_type aether::geometry::vec3f::sqr_magnitude ( ) const
inline
static vec3f aether::geometry::vec3f::uniform_unit ( )
inlinestatic
static vec3f aether::geometry::vec3f::zero ( )
inlinestatic

Member Data Documentation

value_type aether::geometry::vec3f::x
value_type aether::geometry::vec3f::y
value_type aether::geometry::vec3f::z