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> | |
| T | operator/ (const T &a, const float &b) |
| Division operator with float. | |
| template<class T> | |
| T | operator/ (const T &a, const double &b) |
| Division operator with double. | |
| template<class T> | |
| T | operator/ (const T &a, const int &b) |
| Division operator with int. | |
| template<class T> | |
| T | operator/ (const T &a, const long &b) |
| Division operator with long. | |
| template<class T> | |
| T | operator/ (const T &a, const unsigned int &b) |
| Division operator with unsigned int. | |
| template<class T> | |
| 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. | |
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.
|
||||||||||||
|
Subtraction between two Quaternions. The result is not necessarily a unit quaternion even if a and b are unit quaternion. |
1.4.5