Euphoria
vec3.h File Reference
#include <tuple>
#include "base/vec2.h"
#include "base/numeric.h"
#include "assert/assert.h"
#include "base/cint.h"

Go to the source code of this file.

Classes

struct  eu::Scale3f
 
struct  eu::vec3f
 
struct  eu::unit3f
 

Namespaces

 eu
 
 eu::common
 

Macros

#define M(var)   eu::min(lhs.var, rhs.var)
 
#define M(var)   eu::max(lhs.var, rhs.var)
 

Functions

vec3f eu::operator+ (const vec3f &lhs, const vec3f &rhs)
 Math operators. More...
 
vec3f eu::operator- (const vec3f &lhs, const vec3f &rhs)
 
vec3f eu::operator* (float lhs, const vec3f &rhs)
 
vec3f eu::operator* (const vec3f &lhs, float rhs)
 
vec3f eu::operator/ (const vec3f &lhs, float rhs)
 
vec3f eu::operator/ (float lhs, const vec3f &rhs)
 
vec3f eu::lerp_vec3f (const vec3f &f, float v, const vec3f &t)
 Functions. More...
 
std::string eu::to_string (const vec3f &v)
 Transformations. More...
 
std::string eu::to_string (const unit3f &v)
 
std::string eu::to_string (const Scale3f &v)
 
constexpr vec3f eu::min (const vec3f &lhs, const vec3f &rhs)
 
constexpr vec3f eu::max (const vec3f &lhs, const vec3f &rhs)
 
 ADD_DEFAULT_FORMATTER (eu::vec3f, std::string, eu::to_string)
 
 ADD_DEFAULT_FORMATTER (eu::unit3f, std::string, eu::to_string)
 
 ADD_DEFAULT_FORMATTER (eu::Scale3f, std::string, eu::to_string)
 

Variables

constexpr vec3f eu::zero3f = vec3f{ 0.0f, 0.0f, 0.0f }
 
constexpr unit3f eu::common::x_axis = unit3f {1.0f, 0.0f, 0.0f}
 
constexpr unit3f eu::common::y_axis = unit3f {0.0f, 1.0f, 0.0f}
 
constexpr unit3f eu::common::z_axis = unit3f {0.0f, 0.0f, 1.0f}
 
constexpr unit3f eu::common::up = y_axis
 
constexpr unit3f eu::common::down = -y_axis
 
constexpr unit3f eu::common::right = x_axis
 
constexpr unit3f eu::common::left = -x_axis
 
constexpr unit3f eu::common::in = -z_axis
 
constexpr unit3f eu::common::out = z_axis
 

Macro Definition Documentation

◆ M [1/2]

#define M (   var)    eu::min(lhs.var, rhs.var)

◆ M [2/2]

#define M (   var)    eu::max(lhs.var, rhs.var)

Function Documentation

◆ ADD_DEFAULT_FORMATTER() [1/3]

ADD_DEFAULT_FORMATTER ( eu::Scale3f  ,
std::string  ,
eu::to_string   
)

◆ ADD_DEFAULT_FORMATTER() [2/3]

ADD_DEFAULT_FORMATTER ( eu::unit3f  ,
std::string  ,
eu::to_string   
)

◆ ADD_DEFAULT_FORMATTER() [3/3]

ADD_DEFAULT_FORMATTER ( eu::vec3f  ,
std::string  ,
eu::to_string   
)