Kanzi 3.9.10
matrix4x4.hpp File Reference

Classes

class  kanzi::Matrix4x4
 Matrix with 4x4 elements. More...
 

Namespaces

namespace  kanzi
 

Functions

optional< Vector4kanzi::calculateCameraViewPosition (Matrix4x4 projectionCameraMatrix)
 Calculates a homogeneous camera view position that you can use to calculate the view direction in a shader.
 
Matrix4x4 kanzi::componentWiseDivide (const Matrix4x4 &m1, const Matrix4x4 &m2)
 Divides matrix components component-wise and returns the resulting matrix.
 
Matrix4x4 kanzi::componentWiseMax (Matrix4x4 v1, Matrix4x4 v2)
 Calculates the component-wise maximum for all matrix elements and returns the resulting matrix.
 
Matrix4x4 kanzi::componentWiseMin (Matrix4x4 v1, Matrix4x4 v2)
 Calculates the component-wise minimum for all matrix elements and returns the resulting matrix.
 
Matrix4x4 kanzi::componentWiseMultiply (const Matrix4x4 &m1, const Matrix4x4 &m2)
 Multiplies matrix components component-wise and returns the resulting matrix.
 
Matrix4x4 kanzi::createRelativeOrthogonalProjection (float near, float far, Matrix4x4::FieldOfViewType fovType, float orthoSize, float aspectRatio)
 Creates an orthogonal projection matrix for a symmetrical viewing volume.
 
Matrix3x3 kanzi::extract3x3 (const Matrix4x4 &matrix)
 Extracts the 3x3 rotation and scaling part of a matrix.
 
bool kanzi::extractSRT (const Matrix4x4 &matrix, Vector3 &scale, Vector3 &rotationInRadians, Vector3 &translation)
 Extracts from a matrix the scale, rotation, and translation information.
 
float kanzi::getDeterminant (const Matrix4x4 &matrix)
 Calculates the determinant of a matrix.
 
float kanzi::getDeterminant3x3 (const Matrix4x4 &matrix)
 Calculates the determinant of the 3x3 part of a matrix.
 
float kanzi::getTrace (const Matrix4x4 &matrix)
 Calculates the trace of a matrix.
 
optional< Matrix4x4kanzi::inverse (const Matrix4x4 &matrix)
 Applies an inversion to a matrix.
 
optional< Matrix4x4kanzi::inverseAffine (const Matrix4x4 &matrix)
 Applies an inversion to an affine matrix.
 
optional< Matrix4x4kanzi::inverseOrthogonal (const Matrix4x4 &matrix)
 Applies an inversion to an orthogonal affine matrix.
 
bool kanzi::isTranslationOnly (const Matrix4x4 &matrix)
 Returns whether a matrix is translation-only.
 
Vector3 kanzi::matrixMultiplyVectorBy3x3 (const Matrix4x4 &matrix, const Vector3 vector)
 Multiplies a 3D vector with the top 3x3 part of a given matrix.
 
Matrix4x4 kanzi::multiplyAffine (const Matrix4x4 &left, const Matrix4x4 &right)
 Multiplies two affine matrices and returns the product.
 
Matrix4x4 kanzi::normalizeBase (const Matrix4x4 &matrix)
 Normalizes base vectors of a matrix.
 
Matrix4x4 kanzi::operator* (const Matrix4x4 &left, const Matrix4x4 &right)
 Multiplies two matrices and returns the product.
 
Matrix4x4 kanzi::orthonormalizeBase (const Matrix4x4 &matrix)
 Orthonormalizes base vectors of the given matrix.