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

Go to the source code of this file.

Classes

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

Namespaces

 jet
 

Typedefs

template<typename T >
using jet::Vector2 = Vector< T, 2 >
 Type alias for two dimensional vector. More...
 
typedef Vector2< float > jet::Vector2F
 Float-type 2D vector. More...
 
typedef Vector2< double > jet::Vector2D
 Double-type 2D vector. More...
 

Functions

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