There are also a couple of global constants that should be used whenever applicable. Math::g_epsilon is especially important, as it is the error tolerance used when comparing real values (which is also used when comparing e.g. a Vector4 with another Vector4).
The most often used classes in this namespace are probably the vector and matrix classes which exist for various dimensions, such as Vector2, Vector3, Vector4, Matrix2x2, Matrix3x3, and Matrix4x4. There is also a quaternion class called Quaternion and a number of classes representing geometric objects. The 2-dimensional geometric objects are derived from GeometricObject2 and the 3-dimensional geometric objects from GeometricObject3.
|
Classes |
| class | Area |
| | An abstract base class for all kinds of finite areas (like triangles, rectangles...). More...
|
| class | AxisAlignedBox |
| | An axis-aligned box class. More...
|
| struct | ComputeFactorial |
| | A metafunction to compute the factorial. More...
|
| struct | ComputeBinomialCoefficient |
| | A metafunction to compute the binomial coefficient. More...
|
| class | PascalsTriangle |
| | A class representing Pascal's triangle. More...
|
| class | BoundingVolume |
| | An abstract base class for bounding volumes. More...
|
| class | Box |
| | An oriented box class. More...
|
| class | EigenSolver |
| | A simple eigensolver class for real, symmetric matrices. More...
|
| class | Frustum |
| | A pyramidal frustum class. More...
|
| class | GeometricObject |
| | An abstract base class for all kinds of geometric objects. More...
|
| class | GeometricObject2 |
| | An abstract base class for all kinds of geometric 2D objects. More...
|
| class | GeometricObject3 |
| | An abstract base class for all kinds of geometric 3D objects. More...
|
| class | GetDistance2Impl |
| | A template class implementing GetDistance and GetDistanceSquared functions. More...
|
| class | GetDistance3Impl |
| | A template class implementing GetDistance and GetDistanceSquared functions. More...
|
| class | HouseholderTridiagonalizer |
| | The Householder matrix tridiagonlizer template class. More...
|
| class | Line |
| | A line class. More...
|
| class | LinearComponent |
| | An abstract base class for all kinds of linear components (like lines, rays...). More...
|
| struct | GetVectorType |
| | A template metafunction to determine the most suitable vector type. More...
|
| struct | GetSquareMatrixType |
| | A template metafunction to determine the most suitable matrix type. More...
|
| class | Matrix2x2 |
| | A 2x2 matrix class. More...
|
| class | Matrix3x3 |
| | A 3x3 matrix class. More...
|
| class | Matrix4x4 |
| | A 4x4 matrix class. More...
|
| class | MatrixNxN |
| | A general NxN matrix class. More...
|
| class | Plane |
| | A plane class. More...
|
| class | Point |
| | A point class. More...
|
| class | Quaternion |
| | A quaternion class. More...
|
| class | Ray |
| | A ray class. More...
|
| class | Rectangle |
| | A class representing a rectangle. More...
|
| class | Segment |
| | A segment class. More...
|
| class | Sphere |
| | A sphere class. More...
|
| class | Transform |
| | This class represents an affine transformation. More...
|
| class | Triangle |
| | A class representing a triangle. More...
|
| class | Vector2 |
| | A 2-component vector class. More...
|
| class | Vector3 |
| | A 3-component vector class. More...
|
| class | Vector4 |
| | A 4-component vector class. More...
|
| class | VectorN |
| | An N-component vector template class. More...
|
| class | Volume |
| | An abstract base class for all kinds of volumes (like boxes, cylinders etc.). More...
|
Namespaces |
| namespace | @17 |
| namespace | Curves |
| | The curves namespace.
|
| namespace | DistanceAlgorithms |
| | Distance calculation algorithm functors/functor templates.
|
Functions |
| real | IntegrateRomberg (real from, real to, const boost::function< real(real)> &f) |
| | Performs Romberg integration on the given 1-dimensional real function in the interval [from, to].
|
| real | IntegrateGaussianQuadrature (real from, real to, const boost::function< real(real)> &f) |
| | Performs integration with Gaussian quadrature on the given 1-dimensional real function in the interval [from, to].
|
|
XENGINEMATH_DLL_EXPORT real | RadiansToDegrees (real radians) |
| | Converts from radians to degrees.
|
|
XENGINEMATH_DLL_EXPORT real | DegreesToRadians (real degrees) |
| | Converts from degrees to radians.
|
|
XENGINEMATH_DLL_EXPORT real | sqr (real value) |
| | Square.
|
|
XENGINEMATH_DLL_EXPORT real | sqrt (real value) |
| | Square root.
|
|
XENGINEMATH_DLL_EXPORT real | invsqrt (real value) |
| | 1 / square root
|
|
XENGINEMATH_DLL_EXPORT real | log (real value) |
| | Natural logarithm.
|
|
XENGINEMATH_DLL_EXPORT real | log2 (real value) |
| | Logarithm with base 2.
|
|
XENGINEMATH_DLL_EXPORT real | log10 (real value) |
| | Logarithm with base 10.
|
|
XENGINEMATH_DLL_EXPORT real | exp (real value) |
| | Exponential function.
|
|
XENGINEMATH_DLL_EXPORT real | pow (real x, real y) |
| | Calculates x raised to the power of y.
|
|
XENGINEMATH_DLL_EXPORT real | fabs (real value) |
| | Absolute value.
|
|
XENGINEMATH_DLL_EXPORT real | sign (real value) |
| | Returns the sign of the value, -1 for negative values, 1 for positive values or 0.
|
|
XENGINEMATH_DLL_EXPORT real | floor (real value) |
| | Round down to the next lower integer.
|
|
XENGINEMATH_DLL_EXPORT real | ceil (real value) |
| | Round up to the next higher integer.
|
|
XENGINEMATH_DLL_EXPORT real | fmod (real x, real y) |
| | Remainder of x / y.
|
|
XENGINEMATH_DLL_EXPORT real | sin (real value) |
| | Sine.
|
|
XENGINEMATH_DLL_EXPORT real | cos (real value) |
| | Cosine.
|
|
XENGINEMATH_DLL_EXPORT real | tan (real value) |
| | Tangent.
|
|
XENGINEMATH_DLL_EXPORT real | cot (real value) |
| | Cotangent.
|
|
XENGINEMATH_DLL_EXPORT real | sec (real value) |
| | Secant.
|
|
XENGINEMATH_DLL_EXPORT real | csc (real value) |
| | Cosecant.
|
|
XENGINEMATH_DLL_EXPORT real | sinh (real value) |
| | Hyperbolic sine.
|
|
XENGINEMATH_DLL_EXPORT real | cosh (real value) |
| | Hyperbolic cosine.
|
|
XENGINEMATH_DLL_EXPORT real | tanh (real value) |
| | Hyperbolic tangent.
|
|
XENGINEMATH_DLL_EXPORT real | coth (real value) |
| | Hyperbolic cotangent.
|
|
XENGINEMATH_DLL_EXPORT real | sech (real value) |
| | Hyperbolic secant.
|
|
XENGINEMATH_DLL_EXPORT real | csch (real value) |
| | Hyperbolic cosecant.
|
|
XENGINEMATH_DLL_EXPORT real | asin (real value) |
| | Inverse sine.
|
|
XENGINEMATH_DLL_EXPORT real | acos (real value) |
| | Inverse cosine.
|
|
XENGINEMATH_DLL_EXPORT real | atan (real value) |
| | Inverse tangent.
|
|
XENGINEMATH_DLL_EXPORT real | atan2 (real x, real y) |
| | Inverse tangent of x / y.
|
|
XENGINEMATH_DLL_EXPORT real | acot (real value) |
| | Inverse cotangent.
|
| Matrix2x2 | operator * (real value, const Matrix2x2 &m) |
| Matrix3x3 | operator * (real value, const Matrix3x3 &m) |
| Matrix4x4 | operator * (real value, const Matrix4x4 &m) |
| template<unsigned int N> |
| MatrixNxN< N > | operator * (real value, const MatrixNxN< N > &m) |
| | Multiplication operator for scalar-matrix multiplication.
|
| Quaternion | operator * (real value, const Quaternion &q) |
| Vector2 | operator * (real value, const Vector2 &v) |
| Vector3 | operator * (real value, const Vector3 &v) |
| Vector4 | operator * (real value, const Vector4 &v) |
| template<unsigned int N> |
| VectorN< N > | operator * (real value, const VectorN< N > &v) |
| | Multiplication operator for scalar-vector multiplication.
|
Variables |
|
const real | g_pi = 3.14159265358979323846f |
| | The mathematical constant PI.
|
|
const real | g_2pi = 6.28318530717958623200f |
| | 2 * PI
|
|
const real | g_piDiv2 = 1.57079632679489655800f |
| | PI / 2.
|
|
const real | g_piDiv4 = 0.78539816339744827900f |
| | PI / 4.
|
|
const real | g_invPi = 0.31830988618379069122f |
| | 1 / PI
|
|
const real | g_epsilon = 1.0e-6f |
| | The epsilon tolerance for real values that is used in most floating-point computations.
|