Back to class index
float4x4[Class Summary]
v
zero[static][const]
identity[static][const]
nan[static][const]
ctor (+6 overloads)
GetScale()[const]
ComplementaryProjection()[const]
operator[](row) (+1 overload)
At(row,col) (+1 overload)
Row(row) (+1 overload)
Row3(row)[const]
Col(col)[const]
Diagonal()[const]
ScaleRow3(row,scalar)
ScaleRow(row,scalar)
ScaleCol3(col,scalar)
ScaleCol(col,scalar)
Float3x3Part()[const]
Float3x4Part() (+1 overload)
TranslatePart()[const]
RotatePart()[const]
X/Y/Z()[const]
ptr() (+1 overload)
SetRow3(row,data) (+2 overloads)
SetRow(row,data) (+3 overloads)
SetCol3(column,data) (+2 overloads)
SetCol(column,data) (+3 overloads)
Set(...) (+3 overloads)
Set3x3Part(rotation)
Set3x4Part(rotateTranslate)
SetIdentity()
SwapColumns(col1,col2)
SwapRows(row1,row2)
SetTranslatePart(tx,ty,tz) (+2 overloads)
SetRotatePart/X/Y/Z(...) (+2 overloads)
operator=(rhs) (+4 overloads)
Determinant3()[const]
Determinant4()[const]
SubMatrix(i,j)[const]
Minor(i,j)[const]
Adjugate()[const]
CholeskyDecompose(outL)[const]
LUDecompose(outLower,outUpper)[const]
Inverse(epsilon)
Inverted()[const]
InverseColOrthogonal()
InverseOrthogonalUniformScale()
InverseOrthonormal()
Transpose()
Transposed()[const]
InverseTranspose()
InverseTransposed()[const]
Trace()[const]
Orthogonalize3(...) (+1 overload)
Orthonormalize3(...) (+1 overload)
RemoveScale()
Pivot()
TransformPos(pointVector)[const] (+2 overloads)
TransformDir(directionVector)[const] (+2 overloads)
Transform(vector)[const]
TransformPos(...)[const] (+1 overload)
TransformDir(...)[const] (+1 overload)
Transform(...)[const] (+1 overload)
operator*(rhs)[const] (+5 overloads)
operator/(scalar)[const]
operator+(rhs)[const]
operator-(rhs)[const] (+1 overload)
operator+()[const]
operator*=(scalar)
operator/=(scalar)
operator+=(rhs)
operator-=(rhs)
IsFinite()[const]
IsIdentity(epsilon)[const]
IsLowerTriangular(epsilon)[const]
IsUpperTriangular(epsilon)[const]
IsInvertible(epsilon)[const]
IsSymmetric(epsilon)[const]
IsSkewSymmetric(epsilon)[const]
IsIdempotent(epsilon)[const]
HasUnitaryScale(epsilon)[const]
HasNegativeScale()[const]
HasUniformScale(epsilon)[const]
IsRowOrthogonal3(epsilon)[const]
IsColOrthogonal3(epsilon)[const]
IsOrthonormal3(epsilon)[const]
Equals(other,epsilon)[const]
ContainsProjection(epsilon)[const]
ToString()[const]
SerializeToString()[const]
ToString2()[const]
ToEuler***()[const]
ExtractScale()[const]
Decompose(...)[const] (+3 overloads)
Abs()[const]
Mul(rhs)[const] (+3 overloads)
MulPos(pointVector)[const] (+1 overload)
MulDir(directionVector)[const] (+1 overload)
Mul(vector)[const]
Translate(tx,ty,tz)[static] (+1 overload)
RotateX/Y/Z(...)[static] (+1 overload)
RotateAxisAngle(...)[static] (+1 overload)
RotateFromTo(...)[static] (+1 overload)
RandomGeneral(...)[static]
RotateFromTo(...)[static] (+1 overload)
FromQuat(orientation)[static] (+1 overload)
FromTRS(...)[static] (+3 overloads)
FromEuler***(x2,y,x)[static]
Scale(sx,sy,sz)[static] (+2 overloads)
ScaleAlongAxis(...)[static] (+1 overload)
UniformScale(uniformScale)[static] (+1 overload)
ShearX/Y/Z(yFactor,zFactor)[static]
Mirror(p)[static]
D3DOrthoProjLH(...)[static]
D3DOrthoProjRH(...)[static]
D3DPerspProjLH(...)[static]
D3DPerspProjRH(...)[static]
OpenGLOrthoProjLH(...)[static]
OpenGLOrthoProjRH(...)[static]
OpenGLPerspProjLH(...)[static]
OpenGLPerspProjRH(...)[static]
OrthographicProjection/YZ/XZ/XY(target)[static]
LookAt(...)[static] (+1 overload)

float4x4::Determinant4

Syntax

float float4x4::Determinant4() const; [9 lines of code]

Computes the determinant of this matrix.

If the determinant is nonzero, this matrix is invertible. If the determinant is negative, this matrix performs reflection about some axis. From http://msdn.microsoft.com/en-us/library/bb204853(VS.85).aspx : "If the determinant is positive, the basis is said to be "positively" oriented (or right-handed). If the determinant is negative, the basis is said to be "negatively" oriented (or left-handed)."