Back to class index
float3x3[Class Summary]
v
zero[static][const]
identity[static][const]
nan[static][const]
ctor (+3 overloads)
ToQuat()[const]
GetScale()[const]
operator[](row) (+1 overload)
At(row,col) (+1 overload)
Row(row) (+1 overload)
Row3(row) (+1 overload)
Col(col)[const]
Col3(col)[const]
Diagonal()[const]
ScaleRow(row,scalar)
ScaleCol(col,scalar)
PositiveX/Y/Z()[const]
ptr() (+1 overload)
SetRow(row,data) (+2 overloads)
SetCol(column,data) (+2 overloads)
Set(...) (+3 overloads)
SetIdentity()
SwapColumns(col1,col2)
SwapRows(row1,row2)
SetRotatePart/X/Y/Z(...) (+1 overload)
operator=(rhs) (+1 overload)
Determinant()[const]
DeterminantSymmetric()[const]
Inverse(epsilon)
InverseFast(epsilon)
SolveAxb(b,x)[const]
Inverted()[const]
InverseColOrthogonal()
InverseOrthogonalUniformScale()
InverseOrthonormal()
InverseSymmetric()
Transpose()
Transposed()[const]
InverseTranspose()
InverseTransposed()[const]
Trace()[const]
Orthonormalize(...)
RemoveScale()
Transform(vector)[const] (+1 overload)
TransformLeft(lhs)[const]
Transform(vector)[const]
BatchTransform(...)[const] (+3 overloads)
operator*(rhs)[const] (+4 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]
HasUnitaryScale(epsilonSq)[const]
HasNegativeScale()[const]
HasUniformScale(epsilon)[const]
IsRowOrthogonal(epsilon)[const]
IsColOrthogonal(epsilon)[const]
IsColOrthogonal3(epsilon)[const]
IsOrthonormal(epsilon)[const]
Equals(other,epsilon)[const]
ToString()[const]
SerializeToString()[const]
ToString2()[const]
ToEuler***()[const]
ExtractScale()[const]
Decompose(rotate,scale)[const] (+1 overload)
Mul(rhs)[const] (+5 overloads)
MulPos(rhs)[const] (+1 overload)
MulDir(rhs)[const] (+1 overload)
RotateX/Y/Z(angleRadians)[static]
RotateAxisAngle(...)[static]
RotateFromTo(...)[static]
LookAt(...)[static]
RandomRotation(lcg)[static]
RandomGeneral(...)[static]
FromQuat(orientation)[static]
FromRS(rotate,scale)[static] (+1 overload)
FromEuler***(ex,ey,ex2)[static]
Scale(sx,sy,sz)[static] (+1 overload)
ScaleAlongAxis(axis,scalingFactor)[static]
UniformScale(uniformScale)[static]
ShearX/Y/Z(yFactor,zFactor)[static]
Mirror(p)[static]
OrthographicProjection/YZ/XZ/XY(target)[static]

float3x3::ToEuler***

Syntax

float3 float3x3::ToEulerXYX() const; [1 line of code]
float3 float3x3::ToEulerXZX() const; [1 lines of code]
float3 float3x3::ToEulerYXY() const; [1 lines of code]
float3 float3x3::ToEulerYZY() const; [1 lines of code]
float3 float3x3::ToEulerZXZ() const; [1 lines of code]
float3 float3x3::ToEulerZYZ() const; [1 lines of code]
float3 float3x3::ToEulerXYZ() const; [1 lines of code]
float3 float3x3::ToEulerXZY() const; [1 lines of code]
float3 float3x3::ToEulerYXZ() const; [1 lines of code]
float3 float3x3::ToEulerYZX() const; [1 lines of code]
float3 float3x3::ToEulerZXY() const; [1 lines of code]
float3 float3x3::ToEulerZYX() const; [1 lines of code]

Extracts the rotation part of this matrix into Euler rotation angles (in radians).

Note
It is better to think about the returned float3 as an array of three floats, and not as a triple of xyz, because e.g. the .y component returned by ToEulerYXZ() does not return the amount of rotation about the y axis, but contains the amount of rotation in the second axis, in this case the x axis.