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

Go to the source code of this file.

Classes

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

Namespaces

 jet
 

Typedefs

template<typename T >
using jet::Vector4 = Vector< T, 4 >
 Type alias for four dimensional vector. More...
 
typedef Vector4< float > jet::Vector4F
 Float-type 4D vector. More...
 
typedef Vector4< double > jet::Vector4D
 Double-type 4D vector. More...
 

Functions

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