Jet  v1.3.3
Classes | Namespaces | Typedefs | Functions
vector3.h File Reference
#include <jet/vector2.h>
#include <algorithm>
#include <limits>
#include <tuple>
#include "detail/vector3-inl.h"

Go to the source code of this file.

Classes

class  jet::Vector< T, 3 >
 3-D vector class. More...
 
struct  jet::ScalarType< Vector3< T > >
 Returns the type of the value itself. More...
 

Namespaces

 jet
 

Typedefs

template<typename T >
using jet::Vector3 = Vector< T, 3 >
 Type alias for three dimensional vector. More...
 
typedef Vector3< float > jet::Vector3F
 Float-type 3D vector. More...
 
typedef Vector3< double > jet::Vector3D
 Double-type 3D vector. More...
 

Functions

template<typename T >
Vector3< T > jet::operator+ (const Vector3< T > &a)
 Positive sign operator. More...
 
template<typename T >
Vector3< T > jet::operator- (const Vector3< T > &a)
 Negative sign operator. More...
 
template<typename T >
Vector3< T > jet::operator+ (T a, const Vector3< T > &b)
 Computes (a, a, a) + (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator+ (const Vector3< T > &a, const Vector3< T > &b)
 Computes (a.x, a.y, a.z) + (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator- (const Vector3< T > &a, T b)
 Computes (a.x, a.y, a.z) - (b, b, b). More...
 
template<typename T >
Vector3< T > jet::operator- (T a, const Vector3< T > &b)
 Computes (a, a, a) - (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator- (const Vector3< T > &a, const Vector3< T > &b)
 Computes (a.x, a.y, a.z) - (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator* (const Vector3< T > &a, T b)
 Computes (a.x, a.y, a.z) * (b, b, b). More...
 
template<typename T >
Vector3< T > jet::operator* (T a, const Vector3< T > &b)
 Computes (a, a, a) * (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator* (const Vector3< T > &a, const Vector3< T > &b)
 Computes (a.x, a.y, a.z) * (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator/ (const Vector3< T > &a, T b)
 Computes (a.x, a.y, a.z) / (b, b, b). More...
 
template<typename T >
Vector3< T > jet::operator/ (T a, const Vector3< T > &b)
 Computes (a, a, a) / (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::operator/ (const Vector3< T > &a, const Vector3< T > &b)
 Computes (a.x, a.y, a.z) / (b.x, b.y, b.z). More...
 
template<typename T >
Vector3< T > jet::min (const Vector3< T > &a, const Vector3< T > &b)
 Returns element-wise min vector. More...
 
template<typename T >
Vector3< T > jet::max (const Vector3< T > &a, const Vector3< T > &b)
 Returns element-wise max vector. More...
 
template<typename T >
Vector3< T > jet::clamp (const Vector3< T > &v, const Vector3< T > &low, const Vector3< T > &high)
 Returns element-wise clamped vector. More...
 
template<typename T >
Vector3< T > jet::ceil (const Vector3< T > &a)
 Returns element-wise ceiled vector. More...
 
template<typename T >
Vector3< T > jet::floor (const Vector3< T > &a)
 Returns element-wise floored vector. More...
 
template<>
constexpr Vector3F jet::zero< Vector3F > ()
 Returns float-type zero vector. More...
 
template<>
constexpr Vector3D jet::zero< Vector3D > ()
 Returns double-type zero vector. More...
 
template<typename T >
Vector3< T > jet::monotonicCatmullRom (const Vector3< T > &v0, const Vector3< T > &v1, const Vector3< T > &v2, const Vector3< T > &v3, T f)
 Computes monotonic Catmull-Rom interpolation. More...