|
| template<typename T , size_t N> |
| Point< T, N > | ps::operator+ (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator- (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator* (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator/ (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator+ (const Point< T, N > &p, T scalar) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator- (const Point< T, N > &p, T scalar) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator* (const Point< T, N > &p, T scalar) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator/ (const Point< T, N > &p, T scalar) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator* (T scalar, const Point< T, N > &p) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::operator+ (T scalar, const Point< T, N > &p) |
| |
| template<typename T , size_t N> |
| T | ps::dot (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| T | ps::length_squared (const Point< T, N > &a) |
| |
| template<typename T , size_t N> |
| T | ps::length (const Point< T, N > &a) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::normalized (const Point< T, N > &a) |
| |
| template<typename T , size_t N> |
| T | ps::distance_squared (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| T | ps::distance (const Point< T, N > &a, const Point< T, N > &b) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::lerp (const Point< T, N > &a, const Point< T, N > &b, T t) |
| |
| template<typename T , size_t N> |
| Point< T, N > | ps::clamp (const Point< T, N > &p, T min_val, T max_val) |
| |