Vector3.h File Reference
#include <Core/Vector/Vector2.h>
#include <limits>
#include <Core/Vector/Vector3-Impl.h>

Go to the source code of this file.

Classes

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

Namespaces

 CubbyFlow
 

Typedefs

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

Functions

template<typename T >
Vector< T, 3 > CubbyFlow::operator+ (const Vector< T, 3 > &a)
 Positive sign operator. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator- (const Vector< T, 3 > &a)
 Negative sign operator. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator+ (T a, const Vector< T, 3 > &b)
 Computes (a, a, a) + (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator+ (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Computes (a.x, a.y, a.z) + (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator- (const Vector< T, 3 > &a, T b)
 Computes (a.x, a.y, a.z) - (b, b, b). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator- (T a, const Vector< T, 3 > &b)
 Computes (a, a, a) - (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator- (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Computes (a.x, a.y, a.z) - (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator* (const Vector< T, 3 > &a, T b)
 Computes (a.x, a.y, a.z) * (b, b, b). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator* (T a, const Vector< T, 3 > &b)
 Computes (a, a, a) * (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator* (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Computes (a.x, a.y, a.z) * (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator/ (const Vector< T, 3 > &a, T b)
 Computes (a.x, a.y, a.z) / (b, b, b). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator/ (T a, const Vector< T, 3 > &b)
 Computes (a, a, a) / (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::operator/ (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Computes (a.x, a.y, a.z) / (b.x, b.y, b.z). More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::Min (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Returns element-wise min vector. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::Max (const Vector< T, 3 > &a, const Vector< T, 3 > &b)
 Returns element-wise max vector. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::Clamp (const Vector< T, 3 > &v, const Vector< T, 3 > &low, const Vector< T, 3 > &high)
 Returns element-wise clamped vector. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::Ceil (const Vector< T, 3 > &a)
 Returns element-wise ceiled vector. More...
 
template<typename T >
Vector< T, 3 > CubbyFlow::Floor (const Vector< T, 3 > &a)
 Returns element-wise floored vector. More...
 
template<>
constexpr Vector3F CubbyFlow::Zero< Vector3F > ()
 Returns float-type zero vector. More...
 
template<>
constexpr Vector3D CubbyFlow::Zero< Vector3D > ()
 Returns double-type zero vector. More...
 
template<typename T >
Vector3< T > CubbyFlow::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...