Itasca C++ Interface
|
2D and 3D vector utility classes. More...
Go to the source code of this file.
Classes | |
class | Vector2< T > |
2D vector utility class. More... | |
class | Vector3< T > |
3D vector utility class. More... | |
struct | std::tuple_size< Vector2< T > > |
We want structured binding support for vector types! More... | |
struct | std::tuple_size< Vector3< T > > |
struct | std::tuple_element< N, Vector2< T > > |
struct | std::tuple_element< N, Vector3< T > > |
struct | std::formatter< Vector2< T > > |
struct | std::formatter< Vector3< T > > |
Functions | |
template<class T > | |
constexpr I64Vect2 | toI64Vect2 (const Vector2< T > &v) |
template<class T > | |
constexpr U64Vect2 | toU64Vect2 (const Vector2< T > &v) |
template<class T > | |
I64Vect3 | toI64Vect3 (const Vector3< T > &v) |
template<class T > | |
constexpr const Vector2< T > & | toVect2 (const Vector2< T > &v) |
Conversion between vectors of different dimension. | |
template<class T > | |
constexpr Vector2< T > | toVect2 (const Vector3< T > &v) |
Conversion between vectors of different dimension. | |
template<class T > | |
constexpr Vector3< T > | toVect3 (const Vector2< T > &v, const T &t=0) |
Conversion between vectors of different dimension. | |
template<class T > | |
constexpr const Vector3< T > & | toVect3 (const Vector3< T > &v) |
Conversion between vectors of different dimension. | |
template<class T > | |
I64Vect3 constexpr | v64round (const Vector3< T > &v) |
template<class T > | |
constexpr Vector2< T > | std::max (const Vector2< T > &v1, const Vector2< T > &v2) |
Template specialization for max, min. | |
template<class T > | |
constexpr Vector2< T > | std::min (const Vector2< T > &v1, const Vector2< T > &v2) |
Template specialization for max, min. | |
template<class T > | |
constexpr Vector3< T > | std::max (const Vector3< T > &v1, const Vector3< T > &v2) |
Template specialization for max, min. | |
template<class T > | |
constexpr Vector3< T > | std::min (const Vector3< T > &v1, const Vector3< T > &v2) |
Template specialization for max, min. | |
template<typename T > | |
string | base::basehelper::tsVect (const Vector2< T > &t, int width, char notation, int precision, char fill) |
template<typename T > | |
string | base::basehelper::tsVect (const Vector3< T > &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const DVect2 &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const DVect3 &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const IVect2 &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const IVect3 &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const I64Vect2 &t, int width, char notation, int precision, char fill) |
template<> | |
string | base::ts (const I64Vect3 &t, int width, char notation, int precision, char fill) |
template<typename T > | |
constexpr T | safeMag2 (const Vector2< T > &v) |
template<typename T > | |
constexpr T | safeMag (const Vector2< T > &v) |
template<typename T > | |
constexpr const Vector2< T > | safeDiv (const Vector2< T > &a, const Vector2< T > &b, const Vector2< T > &safe=Vector2< T >(0)) |
"Safe" division operation - checks for zero and overflow. | |
template<typename T > | |
constexpr const Vector2< T > | safeDiv (const Vector2< T > &a, const T &v, const Vector2< T > &safe=Vector2< T >(0)) |
template<typename T > | |
constexpr Vector2< T > | safeUnit (const Vector2< T > &v) |
template<typename T > | |
constexpr bool | isFinite (const Vector2< T > &a) |
template<typename T > | |
constexpr T | safeMag2 (const Vector3< T > &v) |
template<typename T > | |
constexpr T | safeMag (const Vector3< T > &v) |
template<typename T > | |
constexpr const Vector3< T > | safeDiv (const Vector3< T > &a, const Vector3< T > &b, const Vector3< T > &safe=Vector3< T >(0)) |
"Safe" division operation - checks for zero and overflow. | |
template<typename T > | |
constexpr const Vector3< T > | safeDiv (const Vector3< T > &a, const T &v, const Vector3< T > &safe=Vector3< T >(0)) |
template<typename T > | |
constexpr Vector3< T > | safeUnit (const Vector3< T > &v) |
template<typename T > | |
constexpr bool | isFinite (const Vector3< T > &a) |
2D and 3D vector utility classes.