|
|
| GLMatrixT () |
| | constructor: uninitialized values
|
| |
|
template<class OtherScalar > |
| | GLMatrixT (const Matrix4x4T< OtherScalar > &_rhs) |
| | construct from other matrix type
|
| |
|
| GLMatrixT (const GLMatrixT< Scalar > &_rhs) |
| | copy constructor
|
| |
| | GLMatrixT (const Scalar _array[16]) |
| |
| | GLMatrixT (const Vec3 &col1, const Vec3 &col2, const Vec3 &col3) |
| |
|
| ~GLMatrixT () |
| | destructor
|
| |
|
template<typename otherScalar > |
| GLMatrixT< Scalar > & | operator= (const GLMatrixT< otherScalar > &_rhs) |
| | assignement from other matrix type
|
| |
|
template<typename otherScalar > |
| GLMatrixT< Scalar > & | operator= (const Matrix4x4T< otherScalar > &_rhs) |
| | assignement from other matrix type
|
| |
|
void | scale (Scalar _x, Scalar _y, Scalar _z, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with scaling matrix (x,y,z)
|
| |
|
void | scale (const Vec3 &_v, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with scaling matrix (x,y,z)
|
| |
|
void | translate (Scalar _x, Scalar _y, Scalar _z, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with translation matrix (x,y,z)
|
| |
|
void | translate (const Vec3 &_v, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with translation matrix (x,y,z)
|
| |
| void | rotate (Scalar angle, Scalar x, Scalar y, Scalar z, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| |
| void | rotate (Scalar _angle, const Vec3 &_axis, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| |
|
void | rotateX (Scalar _angle, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with a rotation matrix (angle in degree, x-axis)
|
| |
|
void | rotateY (Scalar _angle, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with a rotation matrix (angle in degree, y-axis)
|
| |
|
void | rotateZ (Scalar _angle, MultiplyFrom _mult_from=MULT_FROM_RIGHT) |
| | multiply self with a rotation matrix (angle in degree, z-axis)
|
| |
| void | lookAt (const Vec3 &eye, const Vec3 ¢er, const Vec3 &up) |
| |
|
void | inverse_lookAt (const Vec3 &eye, const Vec3 ¢er, const Vec3 &up) |
| | multiply self from left with inverse lookAt matrix
|
| |
| void | perspective (Scalar fovY, Scalar aspect, Scalar near_plane, Scalar far_plane) |
| | multiply self with a perspective projection matrix More...
|
| |
|
void | inverse_perspective (Scalar fovY, Scalar aspect, Scalar near_plane, Scalar far_plane) |
| | multiply self from left with inverse of perspective projection matrix
|
| |
|
void | frustum (Scalar left, Scalar right, Scalar bottom, Scalar top, Scalar near_plane, Scalar far_plane) |
| | multiply self with a perspective projection matrix
|
| |
|
void | inverse_frustum (Scalar left, Scalar right, Scalar bottom, Scalar top, Scalar near_plane, Scalar far_plane) |
| | multiply self from left with inverse of perspective projection matrix
|
| |
|
void | ortho (Scalar left, Scalar right, Scalar bottom, Scalar top, Scalar near_plane, Scalar far_plane) |
| | multiply self with orthographic projection matrix
|
| |
|
void | inverse_ortho (Scalar left, Scalar right, Scalar bottom, Scalar top, Scalar near_plane, Scalar far_plane) |
| | multiply self from left with inverse orthographic projection matrix
|
| |
|
VectorT< Scalar, 2 > | extract_planes_perspective () const |
| | extract near and far clipping planes from a perspective projection matrix
|
| |
|
VectorT< Scalar, 2 > | extract_planes_ortho () const |
| | extract near and far clipping planes from an orthographic projection matrix
|
| |
|
bool | isPerspective () const |
| | check if the matrix is a perspective projection matrix
|
| |
|
bool | isOrtho () const |
| | check if the matrix is an orthographic projection matrix
|
| |
|
VectorT< Scalar, 2 > | extract_planes () const |
| | detect type of projection matrix and extract near and far clipping planes
|
| |
|
GLMatrixT & | operator+= (const Matrix4x4T< Scalar > &_rhs) |
| |
|
GLMatrixT & | operator-= (const Matrix4x4T< Scalar > &_rhs) |
| |
|
GLMatrixT & | operator*= (const Matrix4x4T< Scalar > &_rhs) |
| |
|
GLMatrixT & | leftMult (const Matrix4x4T< Scalar > &_rhs) |
| |
|
GLMatrixT | operator+ (const Matrix4x4T< Scalar > &_rhs) const |
| |
|
GLMatrixT | operator- (const Matrix4x4T< Scalar > &_rhs) const |
| |
|
GLMatrixT | operator* (const Matrix4x4T< Scalar > &_rhs) const |
| |
|
template<typename T > |
| VectorT< T, 4 > | operator* (const VectorT< T, 4 > &_v) const |
| |
|
| Matrix4x4T () |
| | constructor: uninitialized values
|
| |
|
template<class OtherScalar > |
| | Matrix4x4T (const Matrix4x4T< OtherScalar > &_rhs) |
| | construct from other matrix type
|
| |
| | Matrix4x4T (const Scalar _array[16]) |
| |
|
| ~Matrix4x4T () |
| | destructor
|
| |
|
template<typename otherScalar > |
| Matrix4x4T< Scalar > & | operator= (const Matrix4x4T< otherScalar > &_rhs) |
| | assignment from other matrix type
|
| |
|
Scalar & | operator() (unsigned int row, unsigned int col) |
| | access operator (read and write)
|
| |
|
const Scalar & | operator() (unsigned int row, unsigned int col) const |
| | access operator (read only)
|
| |
|
bool | operator== (const Matrix4x4T< Scalar > &_rhs) const |
| | compare two matrices (up to some epsilon)
|
| |
|
bool | operator!= (const Matrix4x4T< Scalar > &_rhs) const |
| | compare two matrices
|
| |
|
Matrix4x4T | operator+ (Matrix4x4T< Scalar > _rhs) const |
| | self + _rhs
|
| |
|
Matrix4x4T | operator- (Matrix4x4T< Scalar > _rhs) const |
| | self - _rhs
|
| |
|
Matrix4x4T | operator* (const Matrix4x4T< Scalar > &inst) const |
| | self * _rhs
|
| |
|
Matrix4x4T | operator* (const Scalar &scalar) |
| | self * scalar
|
| |
|
Matrix4x4T & | operator+= (const Matrix4x4T< Scalar > &_rhs) |
| | self += _rhs
|
| |
|
Matrix4x4T & | operator-= (const Matrix4x4T< Scalar > &_rhs) |
| | self -= _rhs
|
| |
|
Matrix4x4T & | operator*= (const Matrix4x4T< Scalar > &_rhs) |
| | self *= _rhs
|
| |
|
Matrix4x4T & | leftMult (const Matrix4x4T< Scalar > &_rhs) |
| | multiply from left: self = _rhs * self
|
| |
|
template<typename T > |
| VectorT< T, 4 > | operator* (const VectorT< T, 4 > &_v) const |
| | matrix by vector multiplication
|
| |
|
template<typename T > |
| VectorT< T, 3 > | transform_point (const VectorT< T, 3 > &_v) const |
| | transform point (x',y',z',1) = M * (x,y,z,1)
|
| |
|
template<typename T > |
| VectorT< T, 3 > | transform_vector (const VectorT< T, 3 > &_v) const |
| | transform vector (x',y',z',0) = A * (x,y,z,0)
|
| |
|
void | clear () |
| | sets all elements to zero
|
| |
|
void | identity () |
| | setup an identity matrix
|
| |
|
bool | is_identity () const |
| | check if the matrix is the identity ( up to an epsilon )
|
| |
|
void | transpose () |
| | transpose matrix
|
| |
|
bool | invert () |
| | matrix inversion (returns true on success)
|
| |
|
Scalar | determinant () const |
| |
| const Scalar * | get_raw_data () const |
| |
|
const Scalar * | raw () const |
| |
|
const Scalar * | data () const |
| |
template<class Scalar>
class ACG::SceneGraph::ACG::GLMatrixT< Scalar >
4x4 matrix implementing OpenGL commands.
Definition at line 85 of file MeshNode2T.cc.