LinearAlgebra
 All Classes Namespaces Files Functions Variables Typedefs Macros
Classes | Namespaces | Macros | Typedefs | Functions
linearalgebra.hh File Reference
Include dependency graph for linearalgebra.hh:

Classes

struct  a3d::Math< T >
 Template-based math functions providing the essential operators for a specific type. More...
 
struct  a3d::Vector3< T, M >
 A vector of three values for 3d calculations. More...
 
struct  a3d::Vector4< T, M >
 A vector of four values for 3d calculations in homogeneous coordinates. More...
 
struct  a3d::Rotation< T, M >
 A rotation struct. More...
 
struct  a3d::Quaternion< T, M >
 A quaternion struct primarily for rotation representations and calculations. More...
 
struct  a3d::Matrix3< T, M >
 A matrix of nine values for 3d calculations. More...
 
struct  a3d::Matrix4< T, M >
 A matrix of 16 values for 3d calculations in homogeneous coordinates. More...
 
struct  a3d::Math< T >
 Template-based math functions providing the essential operators for a specific type. More...
 
struct  a3d::Vector3< T, M >
 A vector of three values for 3d calculations. More...
 
struct  a3d::Vector4< T, M >
 A vector of four values for 3d calculations in homogeneous coordinates. More...
 
struct  a3d::Rotation< T, M >
 A rotation struct. More...
 
struct  a3d::Quaternion< T, M >
 A quaternion struct primarily for rotation representations and calculations. More...
 
struct  a3d::Matrix3< T, M >
 A matrix of nine values for 3d calculations. More...
 
struct  a3d::Matrix4< T, M >
 A matrix of 16 values for 3d calculations in homogeneous coordinates. More...
 
struct  a3d::Matrix4< T, M >::Interpolator
 Struct performing interpolation between two matrices. More...
 

Namespaces

 a3d
 KJs Algebra 3D Package for C++.
 

Macros

#define A3D_WARNING_EXPENSIVE(S)   /*S*/
 
#define A3D_WARNING_OPERATOR(S)   /*S*/
 

Typedefs

typedef Vector3< float > a3d::Vector3f
 Floating point vector, single precision. More...
 
typedef Vector3< double > a3d::Vector3d
 Floating point vector, double precision. More...
 
typedef Vector4< float > a3d::Vector4f
 Floating point vector in homogenious coordinates, single precision. More...
 
typedef Vector4< double > a3d::Vector4d
 Floating point vector in homogenious coordinates, double precision. More...
 
typedef Rotation< float > a3d::Rotationf
 Floating point rotation. More...
 
typedef Rotation< double > a3d::Rotationd
 Floating point rotation, double precision. More...
 
typedef Quaternion< float > a3d::Quaternionf
 Floating point quaternion. More...
 
typedef Quaternion< double > a3d::Quaterniond
 Floating point quaternion, double precision. More...
 
typedef Matrix3< float > a3d::Matrix3f
 Floating point matrix. More...
 
typedef Matrix3< double > a3d::Matrix3d
 Floating point matrix, double precision. More...
 
typedef Matrix4< float > a3d::Matrix4f
 Floating point matrix. More...
 
typedef Matrix4< double > a3d::Matrix4d
 Floating point matrix, double precision. More...
 

Functions

template<class S1 , class S2 >
S1 & a3d::operator+= (S1 &o1, const S2 &o2)
 Operator. More...
 
template<class S1 , class S2 >
S1 & a3d::operator-= (S1 &o1, const S2 &o2)
 Operator. More...
 
template<class S1 , class S2 >
S1 & a3d::operator*= (S1 &o1, const S2 &o2)
 This operator is defined as o1 = o2 * o1. More...
 
template<class S1 , class S2 >
S1 & a3d::operator/= (S1 &o1, const S2 &o2)
 Operator. More...
 
template<class T , class M >
a3d::operator* (const Vector3< T, M > &o1, const Vector3< T, M > &o2)
 Operator. More...
 
template<class T , class M >
a3d::operator* (const Vector4< T, M > &o1, const Vector4< T, M > &o2)
 Operator. More...
 
template<class T , class M >
Vector3< T, M > a3d::operator% (const Vector3< T, M > &o1, const Vector3< T, M > &o2)
 The cross product operator. More...
 
template<class T , class M >
Vector3< T, M > a3d::operator+ (const Vector3< T, M > &o1, const Vector3< T, M > &o2)
 Operator. More...
 
template<class T , class M >
Vector3< T, M > a3d::operator- (const Vector3< T, M > &o1, const Vector3< T, M > &o2)
 Operator. More...
 
template<class T , class M >
Vector4< T, M > a3d::operator+ (const Vector4< T, M > &o1, const Vector4< T, M > &o2)
 Operator. More...
 
template<class T , class M >
Vector4< T, M > a3d::operator- (const Vector4< T, M > &o1, const Vector4< T, M > &o2)
 Operator. More...
 
template<class S , class T , class M >
Vector3< T, M > a3d::operator* (S o1, const Vector3< T, M > &o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Vector3< T, M > a3d::operator* (const Vector3< T, M > &o1, S o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Vector3< T, M > a3d::operator/ (const Vector3< T, M > &o1, S o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Vector4< T, M > a3d::operator* (S o1, const Vector4< T, M > &o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Vector4< T, M > a3d::operator* (const Vector4< T, M > &o1, S o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Vector4< T, M > a3d::operator/ (const Vector4< T, M > &o1, S o2)
 Vector scaling operator. More...
 
template<class S , class T , class M >
Quaternion< T, M > a3d::operator* (S o1, const Quaternion< T, M > &o2)
 Warning for this operator: a multiplication with a scalar destroys the unity of the quaternion. More...
 
template<class S , class T , class M >
Quaternion< T, M > a3d::operator* (const Quaternion< T, M > &o1, S o2)
 Warning for this operator: a multiplication with a scalar destroys the unity of the quaternion. More...
 
template<class T , class M >
Quaternion< T, M > a3d::operator* (const Quaternion< T, M > &o1, const Quaternion< T, M > &o2)
 Quaternion multiplication operator. More...
 
template<class S , class T , class M >
Quaternion< T, M > a3d::operator/ (const Quaternion< T, M > &o1, S o2)
 Warning for this operator: a division by a scalar destroys the unity of the quaternion. More...
 
template<class T , class M >
Quaternion< T, M > a3d::operator/ (const Quaternion< T, M > &o1, const Quaternion< T, M > &o2)
 Warning for this operator: division between two quaternions is not uniquely defined so make sure that you know what you are doing. More...
 
template<class T , class M >
Quaternion< T, M > a3d::operator+ (const Quaternion< T, M > &o1, const Quaternion< T, M > &o2)
 Quaternion addition operator. More...
 
template<class T , class M >
Quaternion< T, M > a3d::operator- (const Quaternion< T, M > &o1, const Quaternion< T, M > &o2)
 Quaternion substraction operator. More...
 
template<class T , class S , class M >
Matrix3< T, M > a3d::operator* (const S &o1, const Matrix3< T, M > &o2)
 Matrix scaling operator. More...
 
template<class T , class S , class M >
Matrix4< T, M > a3d::operator* (const S &o1, const Matrix4< T, M > &o2)
 Matrix scaling operator. More...
 
template<class T , class S , class M >
Matrix3< T, M > a3d::operator/ (const Matrix3< T, M > &o1, const S &o2)
 Matrix scaling operator. More...
 
template<class T , class S , class M >
Matrix4< T, M > a3d::operator/ (const Matrix4< T, M > &o1, const S &o2)
 Matrix scaling operator. More...
 
template<class T , class M >
Matrix3< T, M > a3d::operator* (const Matrix3< T, M > &o1, const Matrix3< T, M > &o2)
 Matrix matrix multiplication operator. More...
 
template<class T , class M >
Matrix4< T, M > a3d::operator* (const Matrix4< T, M > &o1, const Matrix4< T, M > &o2)
 Matrix matrix multiplication operator. More...
 
template<class T , class M >
Vector3< T, M > a3d::operator* (const Matrix3< T, M > &o1, const Vector3< T, M > &o2)
 Matrix vector multiplication operator. More...
 
template<class T , class M >
Matrix3< T, M > a3d::operator* (const Vector3< T, M > &o1, const Matrix3< T, M > &o2)
 Vector matrix multiplication operator. More...
 
template<class T , class M >
Vector4< T, M > a3d::operator* (const Matrix4< T, M > &o1, const Vector4< T, M > &o2)
 Matrix vector multiplication operator. More...
 
template<class T , class M >
Matrix4< T, M > a3d::operator* (const Vector4< T, M > &o1, const Matrix4< T, M > &o2)
 Vector matrix multiplication operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Vector3< T, M > &o)
 Printing operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Vector4< T, M > &o)
 Printing operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Quaternion< T, M > &o)
 Printing operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Rotation< T, M > &o)
 Printing operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Matrix3< T, M > &o)
 Printing operator. More...
 
template<class T , class M >
std::ostream & a3d::operator<< (std::ostream &out, const Matrix4< T, M > &o)
 Printing operator. More...
 

Macro Definition Documentation

#define A3D_WARNING_EXPENSIVE (   S)    /*S*/
#define A3D_WARNING_OPERATOR (   S)    /*S*/

Referenced by a3d::operator*(), and a3d::operator/().