Castor3D 0.16.0
Multiplatform 3D engine
Classes | Namespaces | Functions
Coords.hpp File Reference

Classes

class  castor::Coords< T, Count >
 Templated static dimensions point representation. More...
 

Namespaces

namespace  castor
 
namespace  castor::point
 Point helper functions.
 

Functions

template<typename T , uint32_t Count>
void castor::point::negate (Coords< T, Count > &point)
 Negates every value of a point's data.
 
template<typename T , uint32_t Count>
void castor::point::normalise (Coords< T, Count > &point)
 Normalises the point.
 
template<typename T , uint32_t Count>
castor::point::dot (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the scalar product of 2 points.
 
template<typename T , typename U >
Point< T, 3 > castor::point::cross (Coords< T, 3 > const &lhs, Coords< U, 3 > const &rhs)
 Cross product operator.
 
template<typename T , uint32_t Count>
double castor::point::cosTheta (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the trigonometric cosine of the angle between 2 points.
 
template<typename T , uint32_t Count>
double castor::point::lengthSquared (Coords< T, Count > const &point)
 Computes the squared Euclidian length of the vector.
 
template<typename T , uint32_t Count>
double castor::point::length (Coords< T, Count > const &point)
 Computes the Euclidian length of the vector.
 
template<typename T , uint32_t Count>
double castor::point::lengthManhattan (Coords< T, Count > const &point)
 Computes the Manhattan length of the vector.
 
template<typename T , uint32_t Count>
double castor::point::lengthMinkowski (Coords< T, Count > const &point, double order)
 Computes the Minkowski length of the vector.
 
template<typename T , uint32_t Count>
double castor::point::lengthChebychev (Coords< T, Count > const &point)
 Computes the Chebychev length of the vector.
 
template<typename T , uint32_t Count>
double castor::point::distanceSquared (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the squared Euclidian distance between two points.
 
template<typename T , uint32_t Count>
double castor::point::distance (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the Euclidian distance between two points.
 
template<typename T , uint32_t Count>
double castor::point::distanceManhattan (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the Manhattan distance between two points.
 
template<typename T , uint32_t Count>
double castor::point::distanceMinkowski (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs, double order)
 Computes the Minkowski distance between two points.
 
template<typename T , uint32_t Count>
double castor::point::distanceChebychev (Coords< T, Count > const &lhs, Coords< T, Count > const &rhs)
 Computes the Chebychev distance between two points.
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
bool castor::operator== (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
bool castor::operator!= (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count>
Point< std::remove_cv_t< T >, Count > castor::operator- (Coords< T, Count > const &rhs)
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
Point< std::remove_cv_t< T >, Count > castor::operator+ (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
Point< std::remove_cv_t< T >, Count > castor::operator- (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
Point< std::remove_cv_t< T >, Count > castor::operator* (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count, typename U , uint32_t UCount>
Point< std::remove_cv_t< T >, Count > castor::operator/ (Coords< T, Count > const &lhs, Coords< U, UCount > const &rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator+ (Coords< T, Count > const &lhs, U const *rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator- (Coords< T, Count > const &lhs, U const *rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator* (Coords< T, Count > const &lhs, U const *rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator/ (Coords< T, Count > const &lhs, U const *rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator+ (Coords< T, Count > const &lhs, T const &rhs)
 
template<typename T , uint32_t Count, typename U >
Point< std::remove_cv_t< T >, Count > castor::operator- (Coords< T, Count > const &lhs, T const &rhs)
 
template<typename T , uint32_t Count>
Point< std::remove_cv_t< T >, Count > castor::operator* (Coords< T, Count > const &lhs, T const &rhs)
 
template<typename T , uint32_t Count>
Point< std::remove_cv_t< T >, Count > castor::operator/ (Coords< T, Count > const &lhs, T const &rhs)
 
template<typename T , uint32_t Count>
Stringcastor::operator<< (String &out, Coords< T, Count > const &in)
 
template<typename T , uint32_t Count>
Stringcastor::operator>> (String &in, Coords< T, Count > &out)
 
template<typename T , uint32_t Count, typename CharType >
std::basic_ostream< CharType > & castor::operator<< (std::basic_ostream< CharType > &out, Coords< T, Count > const &in)
 
template<typename T , uint32_t Count, typename CharType >
std::basic_istream< CharType > & castor::operator>> (std::basic_istream< CharType > &in, Coords< T, Count > &out)