#include <gmtl/Point.h>
#include <gmtl/Vec.h>
#include <gmtl/Matrix.h>
#include <gmtl/MatrixOps.h>
#include <gmtl/Quat.h>
#include <gmtl/QuatOps.h>
#include <gmtl/Ray.h>
#include <gmtl/LineSeg.h>
#include <gmtl/Util/StaticAssert.h>
Go to the source code of this file.
Namespaces | |
namespace | gmtl |
Meta programming classes. | |
Functions | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Ray< DATA_TYPE > & | gmtl::xform (Ray< DATA_TYPE > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Ray< DATA_TYPE > &ray) |
transform ray by a matrix. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Ray< DATA_TYPE > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Ray< DATA_TYPE > &ray) |
ray * a matrix multiplication of [m x k] matrix by a ray. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Ray< DATA_TYPE > & | gmtl::operator*= (Ray< DATA_TYPE > &ray, const Matrix< DATA_TYPE, ROWS, COLS > &matrix) |
ray *= a matrix multiplication of [m x k] matrix by a ray. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
LineSeg< DATA_TYPE > & | gmtl::xform (LineSeg< DATA_TYPE > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const LineSeg< DATA_TYPE > &seg) |
transform seg by a matrix. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
LineSeg< DATA_TYPE > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const LineSeg< DATA_TYPE > &seg) |
seg * a matrix multiplication of [m x k] matrix by a seg. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
LineSeg< DATA_TYPE > & | gmtl::operator*= (LineSeg< DATA_TYPE > &seg, const Matrix< DATA_TYPE, ROWS, COLS > &matrix) |
seg *= a matrix multiplication of [m x k] matrix by a seg. | |
Vector Transform (Quaternion) | |
template<typename DATA_TYPE > | |
VecBase< DATA_TYPE, 3 > & | gmtl::xform (VecBase< DATA_TYPE, 3 > &result, const Quat< DATA_TYPE > &rot, const VecBase< DATA_TYPE, 3 > &vector) |
transform a vector by a rotation quaternion. | |
template<typename DATA_TYPE > | |
VecBase< DATA_TYPE, 3 > | gmtl::operator* (const Quat< DATA_TYPE > &rot, const VecBase< DATA_TYPE, 3 > &vector) |
transform a vector by a rotation quaternion. | |
template<typename DATA_TYPE > | |
VecBase< DATA_TYPE, 3 > | gmtl::operator*= (VecBase< DATA_TYPE, 3 > &vector, const Quat< DATA_TYPE > &rot) |
transform a vector by a rotation quaternion. | |
Vector Transform (Matrix) | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Vec< DATA_TYPE, COLS > & | gmtl::xform (Vec< DATA_TYPE, COLS > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Vec< DATA_TYPE, COLS > &vector) |
xform a vector by a matrix. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Vec< DATA_TYPE, COLS > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Vec< DATA_TYPE, COLS > &vector) |
matrix * vector xform. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS, unsigned VEC_SIZE> | |
Vec< DATA_TYPE, VEC_SIZE > & | gmtl::xform (Vec< DATA_TYPE, VEC_SIZE > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Vec< DATA_TYPE, VEC_SIZE > &vector) |
partially transform a partially specified vector by a matrix, assumes last elt of vector is 0 (the 0 makes it only partially transformed). | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS, unsigned COLS_MINUS_ONE> | |
Vec< DATA_TYPE, COLS_MINUS_ONE > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Vec< DATA_TYPE, COLS_MINUS_ONE > &vector) |
matrix * partial vector, assumes last elt of vector is 0 (partial transform). | |
Point Transform (Matrix) | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Point< DATA_TYPE, COLS > & | gmtl::xform (Point< DATA_TYPE, COLS > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Point< DATA_TYPE, COLS > &point) |
transform point by a matrix. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Point< DATA_TYPE, COLS > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Point< DATA_TYPE, COLS > &point) |
matrix * point. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS, unsigned PNT_SIZE> | |
Point< DATA_TYPE, PNT_SIZE > & | gmtl::xform (Point< DATA_TYPE, PNT_SIZE > &result, const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Point< DATA_TYPE, PNT_SIZE > &point) |
transform a partially specified point by a matrix, assumes last elt of point is 1. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS, unsigned COLS_MINUS_ONE> | |
Point< DATA_TYPE, COLS_MINUS_ONE > | gmtl::operator* (const Matrix< DATA_TYPE, ROWS, COLS > &matrix, const Point< DATA_TYPE, COLS_MINUS_ONE > &point) |
matrix * partially specified point. | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Point< DATA_TYPE, COLS > | gmtl::operator* (const Point< DATA_TYPE, COLS > &point, const Matrix< DATA_TYPE, ROWS, COLS > &matrix) |
point * a matrix multiplication of [m x k] matrix by a [k x 1] matrix (also known as a Point [with w == 1 for points by definition] ). | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS> | |
Point< DATA_TYPE, COLS > | gmtl::operator*= (Point< DATA_TYPE, COLS > &point, const Matrix< DATA_TYPE, ROWS, COLS > &matrix) |
point *= a matrix multiplication of [m x k] matrix by a [k x 1] matrix (also known as a Point [with w == 1 for points by definition] ). | |
template<typename DATA_TYPE , unsigned ROWS, unsigned COLS, unsigned COLS_MINUS_ONE> | |
Point< DATA_TYPE, COLS_MINUS_ONE > & | gmtl::operator*= (Point< DATA_TYPE, COLS_MINUS_ONE > &point, const Matrix< DATA_TYPE, ROWS, COLS > &matrix) |
partial point *= a matrix multiplication of [m x k] matrix by a [k-1 x 1] matrix (also known as a Point [with w == 1 for points by definition] ). |