Itasca C++ Interface
|
3D Angular vector class. More...
#include <avect.h>
Public Member Functions | |
AVector3 (const Vector3< T > &v) | |
AVector3 (const AVector3< T > &v) | |
AVector3 (const AVector2< T > &v) | |
Explicit conversion contructor from an AVector2, x=0, y=0, z=v.z. | |
constexpr const AVector3< T > & | operator= (const AVector3< T > &v) |
Vector2< T > | toVector2 () const |
Converts to a Vector2, the z component is lost. | |
const Vector3< T > & | toVector3 () const |
Converts to a Vector3 directly. | |
Related Functions | |
(Note that these are not member functions.) | |
typedef AVector3< double > | DAVect3 |
typedef AVector3< float > | FAVect3 |
typedef AVector3< int32 > | IAVect3 |
typedef AVector3< uint32 > | UAVect3 |
template<class T > | |
DAVect3 | toDAVect3 (const Vector3< T > &v) |
template<class T > | |
FAVect3 | toFAVect3 (const Vector3< T > &v) |
template<class T > | |
IAVect3 | toAIVect3 (const Vector3< T > &v) |
template<class T > | |
UAVect3 | toAUVect3 (const Vector3< T > &v) |
template<class T > | |
Vector2< T > | toVect2 (const AVector3< T > &v) |
template<class T > | |
const Vector3< T > & | toVect3 (const AVector3< T > &v) |
template<class T > | |
AVector3< T > | toAVect3 (const AVector2< T > &v, const T &x=0, const T &y=0) |
template<class T > | |
const AVector3< T > & | toAVect3 (const AVector3< T > &v) |
template<class T > | |
AVector3< T > | vmax (const AVector3< T > &v1, const AVector3< T > &v2) |
template<class T > | |
AVector3< T > | vmin (const AVector3< T > &v1, const AVector3< T > &v2) |
template<class T > | |
AVector3< T > | vsign (const AVector3< T > &v1, const AVector3< T > &v2) |
template<class T > | |
AVector3< T > | vceil (const AVector3< T > &v) |
template<class T > | |
AVector2< T > | vmin (const AVector2< T > &v1, const AVector2< T > &v2) |
template<class T > | |
AVector2< T > | vceil (const AVector2< T > &v) |
3D Angular vector class.
This specialized version of a vector class is intended to store "angular" values, values that are a scalar in 2D (z component only) and a full vector in 3D.
The intention is to make it easier to write code that is the same in 2D and 3D without wasting computation time and storage.
In the 3D case, and AVector3 is a thin wrapper around a Vector3.