H3D::ArithmeticTypes Namespace Reference

DO NOT USE THIS NAMESPACE DIRECTLY. More...


Classes

class  Matrix3d
 Representation of a 3x3 matrix. More...
class  Matrix3f
 Representation of a 3x3 matrix. More...
class  Matrix4d
 Representation of a 4x4 matrix. More...
class  Matrix4f
 Representation of a 4x4 matrix. More...
class  Quaternion
 Quaternion describes an arbitrary rotation. More...
class  Rotation
 Rotation describes an arbitrary rotation. More...
struct  Vec2d
 A Vec2d specifies a high-precision 2d vector. More...
struct  Vec2f
 A Vec2f specifies a 2d vector. More...
struct  Vec3d
 A Vec3d specifies a high-precision 3d vector. More...
struct  Vec3f
 A Vec3f specifies a high-precision 3d vector. More...
struct  Vec4d
 A Vec4d specifies a high-precision 4d vector. More...
struct  Vec4f
 A Vec4f specifies a 4d vector. More...

Functions

template<class T, class U>
bool operator!= (const T &a, const U &b)
 Not equals operator.
template<class T>
operator/ (const T &a, const float &b)
 Division operator with float.
template<class T>
operator/ (const T &a, const double &b)
 Division operator with double.
template<class T>
operator/ (const T &a, const int &b)
 Division operator with int.
template<class T>
operator/ (const T &a, const long &b)
 Division operator with long.
template<class T>
operator/ (const T &a, const unsigned int &b)
 Division operator with unsigned int.
template<class T>
operator/ (const T &a, const unsigned long &b)
 Division operator with unsigned long.
template<class T, class U>
void operator+= (T &a, const U &b)
 += operator. Requires the + operator between the types.
template<class T, class U>
void operator-= (T &a, const U &b)
 -= operator. Requires the - operator between the types.
template<class T, class U>
void operator *= (T &a, const U &b)
 *= operator. Requires the * operator between the types.
template<class T, class U>
void operator/= (T &a, const U &b)
 /= operator. Requires the / operator between the types.
template<class T, class U>
void operator%= (T &a, const U &b)
 %= operator. Requires the % operator between the types.
Vec3f operator * (const Matrix3f &m, const Vec3f &v)
 Multiplication between Matrix3f and Vec3f.
Vec3d operator * (const Matrix3f &m, const Vec3d &v)
 Multiplication between Matrix3f and Vec3d.
Vec3d operator * (const Matrix3d &m, const Vec3d &v)
 Multiplication between Matrix3d and Vec3d.
Vec3f operator * (const Rotation &r, const Vec3f &v)
 Multiplication between Rotation and Vec3f is the Vec3f rotated by the Rotation.
Vec3d operator * (const Rotation &r, const Vec3d &v)
 Multiplication between Rotation and Vec3d.
Vec3f operator * (const Quaternion &r, const Vec3f &v)
 Multiplication between Rotation and Vec3f is the Vec3f rotated by the Rotation.
Vec3d operator * (const Quaternion &r, const Vec3d &v)
 Multiplication between Matrix3f and Vec3d.
Vec4f operator * (const Matrix4f &m, const Vec4f &v)
 Multiplication between Matrix4f and Vec4f.
Vec4d operator * (const Matrix4f &m, const Vec4d &v)
 Multiplication between Matrix4f and Vec4d.
Vec4d operator * (const Matrix4d &m, const Vec4d &v)
 Multiplication between Matrix4d and Vec4d.
Vec3f operator * (const Matrix4f &m, const Vec3f &v)
 Multiplication between Matrix4f and Vec3f.
Vec3d operator * (const Matrix4f &m, const Vec3d &v)
 Multiplication between Matrix4f and Vec3d.
Vec3d operator * (const Matrix4d &m, const Vec3d &v)
 Multiplication between Matrix4d and Vec3d.
ostream & operator<< (ostream &os, const Matrix3d &m)
 Function for printing a Matrix3d to an ostream.
Matrix3d operator * (const Matrix3d &m1, const Matrix3d &m2)
 Multiplication between two Matrix3d instances.
Matrix3d operator+ (const Matrix3d &m1, const Matrix3d &m2)
 Addition between two Matrix3d instances.
Matrix3d operator * (const Matrix3d &m, const float &f)
 Muliplication between Matrix3d and float.
Matrix3d operator * (const Matrix3d &m, const double &d)
 Muliplication between Matrix3d and double.
Matrix3d operator * (const Matrix3d &m, const int &f)
 Muliplication between Matrix3d and int.
Matrix3d operator * (const Matrix3d &m, const long &f)
 Muliplication between Matrix3d and long.
bool operator== (const Matrix3d &m1, const Matrix3d &m2)
 Equality between two Matrix3d instances.
Matrix3d operator * (const float &a, const Matrix3d &b)
 Multiplication with float.
Matrix3d operator * (const double &a, const Matrix3d &b)
 Multiplication with double.
Matrix3d operator * (const int &a, const Matrix3d &b)
 Multiplication with int.
Matrix3d operator * (const long &a, const Matrix3d &b)
 Multiplication with long.
Matrix3d operator- (const Matrix3d &m)
 Unary minus.
Matrix3d operator- (const Matrix3d &a, const Matrix3d &b)
 Subtraction between two Matrix3d.
ostream & operator<< (ostream &os, const Matrix3f &m)
 Function for printing a Matrix3f to an ostream.
Matrix3f operator * (const Matrix3f &m1, const Matrix3f &m2)
 Multiplication between two Matrix3f instances.
Matrix3f operator+ (const Matrix3f &m1, const Matrix3f &m2)
 Addition between two Matrix3f instances.
Matrix3f operator * (const Matrix3f &m, const float &f)
 Muliplication between Matrix3f and float.
Matrix3f operator * (const Matrix3f &m, const double &d)
 Muliplication between Matrix3f and double.
Matrix3f operator * (const Matrix3f &m, const int &f)
 Muliplication between Matrix3f and int.
Matrix3f operator * (const Matrix3f &m, const long &f)
 Muliplication between Matrix3f and long.
bool operator== (const Matrix3f &m1, const Matrix3f &m2)
 Equality between two Matrix3f instances.
Matrix3f operator * (const float &a, const Matrix3f &b)
 Multiplication with float.
Matrix3f operator * (const double &a, const Matrix3f &b)
 Multiplication with double.
Matrix3f operator * (const int &a, const Matrix3f &b)
 Multiplication with int.
Matrix3f operator * (const long &a, const Matrix3f &b)
 Multiplication with long.
Matrix3f operator- (const Matrix3f &m)
 Unary minus.
Matrix3f operator- (const Matrix3f &a, const Matrix3f &b)
 Subtraction between two Matrix3f.
Matrix4d operator * (const Matrix4d &m1, const Matrix4d &m2)
 Multiplication between two Matrix4d instances.
Matrix4d operator+ (const Matrix4d &m1, const Matrix4d &m2)
 Addition between two Matrix4d instances.
Matrix4d operator * (const Matrix4d &m, const float &f)
 Muliplication between Matrix4d and float.
Matrix4d operator * (const Matrix4d &m, const double &d)
 Muliplication between Matrix4d and double.
Matrix4d operator * (const Matrix4d &m, const int &f)
 Muliplication between Matrix4d and int.
Matrix4d operator * (const Matrix4d &m, const long &f)
 Muliplication between Matrix4d and long.
bool operator== (const Matrix4d &m1, const Matrix4d &m2)
 Equality between two Matrix4d instances.
H3DAPI_API ostream & operator<< (ostream &os, const Matrix4d &m)
 Function for printing a Matrix4d to an ostream.
Matrix4d operator * (const float &a, const Matrix4d &b)
 Multiplication with float.
Matrix4d operator * (const double &a, const Matrix4d &b)
 Multiplication with double.
Matrix4d operator * (const int &a, const Matrix4d &b)
 Multiplication with int.
Matrix4d operator * (const long &a, const Matrix4d &b)
 Multiplication with long.
Matrix4d operator- (const Matrix4d &m)
 Unary minus.
Matrix4d operator- (const Matrix4d &a, const Matrix4d &b)
 Subtraction between two Matrix4d.
Matrix4f operator * (const Matrix4f &m1, const Matrix4f &m2)
 Multiplication between two Matrix4f instances.
Matrix4f operator+ (const Matrix4f &m1, const Matrix4f &m2)
 Addition between two Matrix4f instances.
Matrix4f operator * (const Matrix4f &m, const float &f)
 Muliplication between Matrix4f and float.
Matrix4f operator * (const Matrix4f &m, const double &d)
 Muliplication between Matrix4f and double.
Matrix4f operator * (const Matrix4f &m, const int &f)
 Muliplication between Matrix4f and int.
Matrix4f operator * (const Matrix4f &m, const long &f)
 Muliplication between Matrix4f and long.
bool operator== (const Matrix4f &m1, const Matrix4f &m2)
 Equality between two Matrix4f instances.
H3DAPI_API ostream & operator<< (ostream &os, const Matrix4f &m)
 Function for printing a Matrix4f to an ostream.
Matrix4f operator * (const float &a, const Matrix4f &b)
 Multiplication with float.
Matrix4f operator * (const double &a, const Matrix4f &b)
 Multiplication with double.
Matrix4f operator * (const int &a, const Matrix4f &b)
 Multiplication with int.
Matrix4f operator * (const long &a, const Matrix4f &b)
 Multiplication with long.
Matrix4f operator- (const Matrix4f &m)
 Unary minus.
Matrix4f operator- (const Matrix4f &a, const Matrix4f &b)
 Subtraction between two Matrix4f.
ostream & operator<< (ostream &os, const Quaternion &q)
 Function for printing a Quaternion to an ostream.
bool operator== (const Quaternion &q1, const Quaternion &q2)
 Equality between two Quaternion instances.
Quaternion operator * (const Quaternion &q1, const Quaternion &q2)
 Multiplication of Quaternions.
Quaternion operator * (const Quaternion &q, double d)
 Multiplacation by a double.
Quaternion operator * (const Quaternion &q, float d)
 Multiplacation by a float.
Quaternion operator * (const Quaternion &q, int d)
 Multiplacation by an int.
Quaternion operator * (const Quaternion &q, long d)
 Multiplacation by a long.
Quaternion operator * (const float &a, const Quaternion &b)
 Multiplication with float.
Quaternion operator * (const double &a, const Quaternion &b)
 Multiplication with double.
Quaternion operator * (const int &a, const Quaternion &b)
 Multiplication with int.
Quaternion operator * (const long &a, const Quaternion &b)
 Multiplication with long.
Quaternion operator+ (const Quaternion &q1, const Quaternion &q2)
 Addition of Quaternions.
Quaternion operator- (const Quaternion &q)
 Unary minus.
Quaternion operator- (const Quaternion &a, const Quaternion &b)
 Subtraction between two Quaternions.
Rotation operator * (const Rotation &r1,const Rotation &r2)
 Multiplication of Rotation is the composition of the rotations.
bool operator== (const Rotation &r1, const Rotation &r2)
 Test two Rotation instances for equality.
Rotation operator- (const Rotation &r)
 Negation of a Rotation is the Rotation around the same axis but in the other direction.
Rotation operator * (const Rotation &r, double d)
 Multiplacation by a double.
Rotation operator * (const Rotation &r, float f)
 Multiplacation by a float.
Rotation operator * (const Rotation &r, int i)
 Multiplacation by a int.
Rotation operator * (const Rotation &r, long i)
 Multiplacation by a long.
Rotation operator * (const float &a, const Rotation &b)
 Multiplication with float.
Rotation operator * (const double &a, const Rotation &b)
 Multiplication with double.
Rotation operator * (const int &a, const Rotation &b)
 Multiplication with int.
Rotation operator * (const long &a, const Rotation &b)
 Multiplication with long.
ostream & operator<< (ostream &os, const Rotation &r)
 Function for printing a Rotation to an ostream.
ostream & operator<< (ostream &os, const Vec2d &v)
 Function for printing a Vec2d to an ostream.
bool operator== (const Vec2d &v1, const Vec2d &v2)
 Test two Vec2d for equality.
Vec2d operator+ (const Vec2d &v1, const Vec2d &v2)
 Addition between two Vec2d.
Vec2d operator * (const Vec2d &v, const double &d)
 Multiply a Vec2d with a double.
H3DDouble operator * (const Vec2d &v1, const Vec2d &v2)
  Get the dot product of two Vec2d.
Vec2d operator * (const double &a, const Vec2d &b)
 Multiplication with double.
Vec2d operator- (const Vec2d &b)
 Unary minus.
Vec2d operator- (const Vec2d &a, const Vec2d &b)
 Subtraction between two Vec2d.
ostream & operator<< (ostream &os, const Vec2f &v)
 Function for printing a Vec2f to an ostream.
bool operator== (const Vec2f &v1, const Vec2f &v2)
 Test two Vec2f for equality.
Vec2f operator+ (const Vec2f &v1, const Vec2f &v2)
 Addition between two Vec2f.
Vec2f operator * (const Vec2f &v, const float &f)
 Multiply a Vec2f with a float.
Vec2f operator * (const Vec2f &v, const double &d)
 Multiply a Vec2f with a double.
Vec2f operator * (const Vec2f &v, const int &i)
 Multiply a Vec2f with an int.
Vec2f operator * (const Vec2f &v, const long &i)
 Multiply a Vec2f with an long.
H3DFloat operator * (const Vec2f &v1, const Vec2f &v2)
  Get the dot product of two Vec2f.
Vec2f operator * (const float &a, const Vec2f &b)
 Multiplication with float.
Vec2f operator * (const double &a, const Vec2f &b)
 Multiplication with double.
Vec2f operator * (const int &a, const Vec2f &b)
 Multiplication with int.
Vec2f operator * (const long &a, const Vec2f &b)
 Multiplication with long.
Vec2f operator- (const Vec2f &b)
 Unary minus.
Vec2f operator- (const Vec2f &a, const Vec2f &b)
 Subtraction between two Vec2f.
ostream & operator<< (ostream &os, const Vec3d &v)
 Function for printing a Vec3d to an ostream.
bool operator== (const Vec3d &v1, const Vec3d &v2)
 Test two Vec3d for equality.
Vec3d operator+ (const Vec3d &v1, const Vec3d &v2)
 Addition between two Vec3d.
Vec3d operator * (const Vec3d &v, const double &d)
 Multiply a Vec3d with a double.
Vec3d operator * (const Vec3d &v, const int &i)
 Multiply a Vec3d with an int.
Vec3d operator * (const Vec3d &v, const long &i)
 Multiply a Vec3d with a long.
Vec3d operator * (const Vec3d &v, const float &f)
 Multiply a Vec3d with a float.
H3DDouble operator * (const Vec3d &v1, const Vec3d &v2)
  Returns the dot product of two Vec3d.
Vec3d operator% (const Vec3d &v1, const Vec3d &v2)
  Returns the cross product of two Vec3d.
Vec3d operator * (const int &a, const Vec3d &b)
 Multiplication with int.
Vec3d operator * (const long &a, const Vec3d &b)
 Multiplication with long.
Vec3d operator * (const double &a, const Vec3d &b)
 Multiplication with float.
Vec3d operator- (const Vec3d &b)
 Unary minus.
Vec3d operator- (const Vec3d &a, const Vec3d &b)
 Subtraction between two Vec3d.
bool operator== (const Vec3f &v1, const Vec3f &v2)
 Test two Vec3f for equality.
Vec3f operator+ (const Vec3f &v1, const Vec3f &v2)
 Addition between two Vec3f.
Vec3f operator * (const Vec3f &v, const int &i)
 Multiply a Vec3f with an int.
Vec3f operator * (const Vec3f &v, const long &i)
 Multiply a Vec3f with a long.
Vec3f operator * (const Vec3f &v, const unsigned long &i)
 Multiply a Vec3f with a long.
Vec3f operator * (const Vec3f &v, const float &f)
 Multiply a Vec3f with a float.
Vec3f operator * (const Vec3f &v, const double &d)
 Multiply a Vec3f with a double.
H3DFloat operator * (const Vec3f &v1, const Vec3f &v2)
  Returns the dot product of two Vec3f.
Vec3f operator% (const Vec3f &v1, const Vec3f &v2)
  Returns the dot product of two Vec3f.
ostream & operator<< (ostream &os, const Vec3f &v)
 Function for printing a Vec3f to an ostream.
Vec3f operator * (const float &a, const Vec3f &b)
 Multiplication with float.
Vec3f operator * (const double &a, const Vec3f &b)
 Multiplication with double.
Vec3f operator * (const int &a, const Vec3f &b)
 Multiplication with int.
Vec3f operator * (const long &a, const Vec3f &b)
 Multiplication with long.
Vec3f operator * (const unsigned long &a, const Vec3f &b)
 Multiplication with unsigned long.
Vec3f operator- (const Vec3f &b)
 Unary minus.
Vec3f operator- (const Vec3f &a, const Vec3f &b)
 Subtraction between two Vec3f.
ostream & operator<< (ostream &os, const Vec4d &v)
 Print a Vec4d values to a ostream.
bool operator== (const Vec4d &v1, const Vec4d &v2)
 Test two Vec4d for equality.
Vec4d operator+ (const Vec4d &v1, const Vec4d &v2)
 Addition between two Vec4d.
Vec4d operator * (const Vec4d &v, const double &d)
 Multiplication between Vec4d and double.
H3DDouble operator * (const Vec4d &v1, const Vec4d &v2)
 Dot product between two Vec4d.
Vec4d operator * (const double &a, const Vec4d &b)
 Multiplication with float.
Vec4d operator- (const Vec4d &b)
 Unary minus.
Vec4d operator- (const Vec4d &a, const Vec4d &b)
 Subtraction between two Vec4d.
ostream & operator<< (ostream &os, const Vec4f &v)
 Print a Vec4f values to a ostream.
bool operator== (const Vec4f &v1, const Vec4f &v2)
 Test two Vec4f for equality.
Vec4f operator+ (const Vec4f &v1, const Vec4f &v2)
 Addition between two Vec4f.
Vec4f operator * (const Vec4f &v, const float &f)
 Multiplication between Vec4f and float.
Vec4f operator * (const Vec4f &v, const double &d)
 Multiplication between Vec4f and double.
Vec4f operator * (const Vec4f &v, const int &f)
 Multiplication between Vec4f and int.
Vec4f operator * (const Vec4f &v, const long &f)
 Multiplication between Vec4f and long.
H3DFloat operator * (const Vec4f &v1, const Vec4f &v2)
 Dot product between two Vec4f.
Vec4f operator * (const float &a, const Vec4f &b)
 Multiplication with float.
Vec4f operator * (const double &a, const Vec4f &b)
 Multiplication with double.
Vec4f operator * (const int &a, const Vec4f &b)
 Multiplication with int.
Vec4f operator * (const long &a, const Vec4f &b)
 Multiplication with long.
Vec4f operator- (const Vec4f &b)
 Unary minus.
Vec4f operator- (const Vec4f &a, const Vec4f &b)
 Subtraction between two Vec4f.


Detailed Description

DO NOT USE THIS NAMESPACE DIRECTLY.

This namespace contains types that we want to perform arithmetic operations on. It contains template operators for most operations. The only operators a type in this namespace has to define is the ==, +, * and / operator. The rest will be defined through the template operators using the above mentioned operators.


Function Documentation

Quaternion H3D::ArithmeticTypes::operator- const Quaternion &  a,
const Quaternion &  b
[inline]
 

Subtraction between two Quaternions.

The result is not necessarily a unit quaternion even if a and b are unit quaternion.


Generated on Thu Aug 24 12:40:32 2006 for H3D API by  doxygen 1.4.5