Inheritance Graph
graph BT
	_Matrix4x4
	click _Matrix4x4 "classGeometry_1_1__Matrix4x4"
Description
4*4 matrix.
[ _Matrix4x4 ]
Construction
  
    
      |  |  | 
  
  
    
      |  |  | 
    
      |  | _Matrix4x4() | 
    
      |  |  | 
    
      |  | _Matrix4x4( value_t  d0,  value_t  d1,  value_t  d2,  value_t  d3,  value_t  d4,  value_t  d5,  value_t  d6,  value_t  d7,  value_t  d8,  value_t  d9,  value_t  d10,  value_t  d11,  value_t  d12,  value_t  d13,  value_t  d14,  value_t  d15) | 
    
      |  |  | 
    
      |  | _Matrix4x4(const value_t * data) | 
    
      |  |  | 
    
      |  | _Matrix4x4(const srt_t & srt) | 
    
      |  |  | 
    
      |  | _Matrix4x4(const _Matrix3x3 < value_t > & mat) Convert a 3 times 3 matrix to a 4 times 4 matrix by adding a one in the last entry, and zeros in the fourth.
 | 
    
      |  |  | 
    
      |  | _Matrix4x4(const vec4_t & v0, const vec4_t & v1, const vec4_t & v2, const vec4_t & v3) | 
  
Modification
  
    
      |  |  | 
  
  
    
      |  |  | 
    
      | void | setIdentity() | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | operator+=(const _Matrix4x4 < value_t > & m2) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | operator-=(const _Matrix4x4 < value_t > & m2) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | operator*=(const _Matrix4x4 < value_t > & m2) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | operator*=( value_t  d) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | operator/=( value_t  d) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | translate( value_t  x,  value_t  y,  value_t  z) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | translate(const vec3_t & v) | 
    
      |  |  | 
    
      | _Matrix4x4 & | scale( value_t  sx,  value_t  sy,  value_t  sz) | 
    
      |  |  | 
    
      | _Matrix4x4 & | scale( value_t  s) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate(const angle_t & angle,  value_t  x,  value_t  y,  value_t  z) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate(const angle_t & angle, const vec3_t & axis) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate_deg(const value_t  deg, const vec3_t & axis) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate_deg(const value_t  deg,  value_t  x,  value_t  y,  value_t  z) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate_rad(const value_t  rad, const vec3_t & axis) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotate_rad(const value_t  rad,  value_t  x,  value_t  y,  value_t  z) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | rotateToDirection(const vec3_t & _baseZ) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | lookAt(const vec3_t & _pos, const vec3_t & _target, const vec3_t & _up) | 
    
      |  |  | 
    
      | _Matrix4x4 < value_t > & | transpose() | 
    
      |  |  | 
    
      | _Matrix4x4 | createScale( value_t  sx,  value_t  sy,  value_t  sz) | 
    
      |  |  | 
    
      | _Matrix4x4 | createScale( value_t  s) | 
    
      |  |  | 
    
      | _Matrix4x4 | perspectiveProjection(const angle_t & angle,  value_t  ratio,  value_t  zNear,  value_t  zFar) | 
    
      |  |  | 
    
      | _Matrix4x4 | perspectiveProjection( value_t  l,  value_t  r,  value_t  b,  value_t  t,  value_t  n,  value_t  f) | 
    
      |  |  | 
    
      | _Matrix4x4 | orthographicProjection( value_t  l,  value_t  r,  value_t  b,  value_t  t,  value_t  n,  value_t  f) | 
  
Creation
Comparators
Serialization
Public Types
Public Functions
  
    
      |  |  | 
  
  
    
      |  |  | 
    
      | bool | convertsSafelyToSRT() const Can be used to check whether it is (relatively) safe to convert a matrix to an SRT without loss of information.
 | 
    
      |  |  | 
    
      | srt_t | toSRT() const Converts a matrix to a SRT; throws an exception if the transformation can not be captured by a SRT.
 | 
    
      |  |  | 
    
      | srt_t | _toSRT() const Converts a matrix to a SRT even if information may be lost.
 | 
  
Documentation
function
 Geometry::_Matrix4x4::_Matrix4x4
Defined in Geometry/Matrix4x4.h:50
function
 Geometry::_Matrix4x4::_Matrix4x4
  
    
      |  |  |  | 
  
  
    
      |  |  |  | 
    
      | _Matrix4x4( | value_t | d0, | 
    
      |  | value_t | d1, | 
    
      |  | value_t | d2, | 
    
      |  | value_t | d3, | 
    
      |  | value_t | d4, | 
    
      |  | value_t | d5, | 
    
      |  | value_t | d6, | 
    
      |  | value_t | d7, | 
    
      |  | value_t | d8, | 
    
      |  | value_t | d9, | 
    
      |  | value_t | d10, | 
    
      |  | value_t | d11, | 
    
      |  | value_t | d12, | 
    
      |  | value_t | d13, | 
    
      |  | value_t | d14, | 
    
      |  | value_t | d15 | 
    
      | ) |  |  | 
  
Defined in Geometry/Matrix4x4.h:54
function
 Geometry::_Matrix4x4::_Matrix4x4
Defined in Geometry/Matrix4x4.h:74
function
 Geometry::_Matrix4x4::_Matrix4x4
Defined in Geometry/Matrix4x4.h:78
function
 Geometry::_Matrix4x4::_Matrix4x4
Convert a 3 times 3 matrix to a 4 times 4 matrix by adding a one in the last entry, and zeros in the fourth.
Defined in Geometry/Matrix4x4.h:84
function
 Geometry::_Matrix4x4::_Matrix4x4
v0.x v1.x v2.x v3.x v0.y v1.y v2.y v3.y v0.z v1.z v2.z v3.z v0.w v1.w v2.w v3.w
Defined in Geometry/Matrix4x4.h:109
function
 Geometry::_Matrix4x4::operator[]
Parameters
  - i
- an index
Returns
the i-th element of this matrix
  Note: elements are arranged row-wise, so i=3 will result in the 1st column in the 2nd row
Defined in Geometry/Matrix4x4.h:139
function
 Geometry::_Matrix4x4::at
Parameters
  - i
- an index
Returns
the i-th element of this matrix
  Note: elements are arranged row-wise, so i=3 will result in the 1st column in the 2nd row
Defined in Geometry/Matrix4x4.h:147
function
 Geometry::_Matrix4x4::getColumnAsVec3
Return the first three values of columncas three-dimensional vector.
Defined in Geometry/Matrix4x4.h:152
function
 Geometry::_Matrix4x4::getColumn
Return the values of columncas four-dimensional vector.
Defined in Geometry/Matrix4x4.h:160
function
 Geometry::_Matrix4x4::getData
Returns
the underlying array of this matrix
  Note: elements in array are arranged row-wise
Defined in Geometry/Matrix4x4.h:171
function
 Geometry::_Matrix4x4::det
Returns
the determinant of this
Defined in Geometry/Matrix4x4.h:177
function
 Geometry::_Matrix4x4::isIdentity
Defined in Geometry/Matrix4x4.h:187
function
 Geometry::_Matrix4x4::setIdentity
Defined in Geometry/Matrix4x4.h:198
function
 Geometry::_Matrix4x4::operator+=
Defined in Geometry/Matrix4x4.h:203
function
 Geometry::_Matrix4x4::operator-=
Defined in Geometry/Matrix4x4.h:208
function
 Geometry::_Matrix4x4::operator*=
Defined in Geometry/Matrix4x4.h:213
function
 Geometry::_Matrix4x4::operator*=
Defined in Geometry/Matrix4x4.h:244
function
 Geometry::_Matrix4x4::operator/=
Defined in Geometry/Matrix4x4.h:249
function
 Geometry::_Matrix4x4::translate
Defined in Geometry/Matrix4x4.h:254
function
 Geometry::_Matrix4x4::translate
Defined in Geometry/Matrix4x4.h:261
function
 Geometry::_Matrix4x4::scale
Defined in Geometry/Matrix4x4.h:270
function
 Geometry::_Matrix4x4::scale
Defined in Geometry/Matrix4x4.h:273
function
 Geometry::_Matrix4x4::rotate
See also: http://de.wikipedia.org/wiki/Rotationsmatrix
See also: http://wiki.delphigl.com/index.php/glRotate
Defined in Geometry/Matrix4x4.h:279
function
 Geometry::_Matrix4x4::rotate
Defined in Geometry/Matrix4x4.h:301
function
 Geometry::_Matrix4x4::rotate_deg
Defined in Geometry/Matrix4x4.h:304
function
 Geometry::_Matrix4x4::rotate_deg
Defined in Geometry/Matrix4x4.h:307
function
 Geometry::_Matrix4x4::rotate_rad
Defined in Geometry/Matrix4x4.h:310
function
 Geometry::_Matrix4x4::rotate_rad
Defined in Geometry/Matrix4x4.h:313
function
 Geometry::_Matrix4x4::rotateToDirection
// www.gamedev.net/community/forums/topic.asp?topic_id=384661
Defined in Geometry/Matrix4x4.h:320
function
 Geometry::_Matrix4x4::lookAt
//http://pyopengl.sourceforge.net/documentation/manual/gluLookAt.3G.html
Defined in Geometry/Matrix4x4.h:357
function
 Geometry::_Matrix4x4::transpose
Exchange rows and columns.
Defined in Geometry/Matrix4x4.h:414
function
 Geometry::_Matrix4x4::createScale
Defined in Geometry/Matrix4x4.h:264
function
 Geometry::_Matrix4x4::createScale
Defined in Geometry/Matrix4x4.h:267
function
 Geometry::_Matrix4x4::perspectiveProjection
http://pyopengl.sourceforge.net/documentation/manual/gluPerspective.3G.html
Defined in Geometry/Matrix4x4.h:387
function
 Geometry::_Matrix4x4::perspectiveProjection
http://wiki.delphigl.com/index.php/glFrustumglFrustum(left,right,bottom,top,near,far);
Defined in Geometry/Matrix4x4.h:395
function
 Geometry::_Matrix4x4::orthographicProjection
http://wiki.delphigl.com/index.php/glOrthoglOrtho(left,right,bottom,top,near,far);
Defined in Geometry/Matrix4x4.h:405
function
 Geometry::_Matrix4x4::operator+
Defined in Geometry/Matrix4x4.h:442
function
 Geometry::_Matrix4x4::operator-
Defined in Geometry/Matrix4x4.h:446
function
 Geometry::_Matrix4x4::operator*
Defined in Geometry/Matrix4x4.h:450
function
 Geometry::_Matrix4x4::operator*
Defined in Geometry/Matrix4x4.h:455
function
 Geometry::_Matrix4x4::operator/
Defined in Geometry/Matrix4x4.h:459
function
 Geometry::_Matrix4x4::transformDirection
Defined in Geometry/Matrix4x4.h:463
function
 Geometry::_Matrix4x4::transformDirection
Defined in Geometry/Matrix4x4.h:466
function
 Geometry::_Matrix4x4::transformPosition
Defined in Geometry/Matrix4x4.h:476
function
 Geometry::_Matrix4x4::transformPosition
Defined in Geometry/Matrix4x4.h:479
function
 Geometry::_Matrix4x4::operator*
Defined in Geometry/Matrix4x4.h:488
function
 Geometry::_Matrix4x4::operator*
Defined in Geometry/Matrix4x4.h:494
function
 Geometry::_Matrix4x4::inverse
Returns
the inverse matrix of this
Exceptions
  - a
- division by zero will occur if det is zero
  Note: numerical problems will occur if det is nearly zero
  Note: a new matrix is created, this remains unchanged
Defined in Geometry/Matrix4x4.h:508
function
 Geometry::_Matrix4x4::getTransposed
Returns a new matrix whose rows and columns are exchanged.
Defined in Geometry/Matrix4x4.h:554
function
 Geometry::_Matrix4x4::equals
compares this with other componentwise
Parameters
  - other
- the object to compare with
- epsilon
- the maximum allowed difference between the component pairs
Returns
true iff any the absolute difference between any pai of components is larger than epsilon
Defined in Geometry/Matrix4x4.h:568
function
 Geometry::_Matrix4x4::operator==
Defined in Geometry/Matrix4x4.h:574
function
 Geometry::_Matrix4x4::operator!=
Defined in Geometry/Matrix4x4.h:580
typedef
 Geometry::_Matrix4x4::value_t
Defined in Geometry/Matrix4x4.h:34
typedef
 Geometry::_Matrix4x4::angle_t
Defined in Geometry/Matrix4x4.h:35
typedef
 Geometry::_Matrix4x4::srt_t
Defined in Geometry/Matrix4x4.h:36
typedef
 Geometry::_Matrix4x4::vec3_t
Defined in Geometry/Matrix4x4.h:37
typedef
 Geometry::_Matrix4x4::vec4_t
Defined in Geometry/Matrix4x4.h:38
function
 Geometry::_Matrix4x4::convertsSafelyToSRT
Can be used to check whether it is (relatively) safe to convert a matrix to an SRT without loss of information.
Defined in Geometry/Matrix4x4.h:586
function
 Geometry::_Matrix4x4::toSRT
Converts a matrix to a SRT; throws an exception if the transformation can not be captured by a SRT.
Defined in Geometry/Matrix4x4.h:603
function
 Geometry::_Matrix4x4::_toSRT
Converts a matrix to a SRT even if information may be lost.
Defined in Geometry/Matrix4x4.h:610