Back to class index
float3x4[Class Summary]
v
zero[static][const]
identity[static][const]
nan[static][const]
ctor (+7 overloads)
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]
ScaleRow3(row,scalar)
ScaleRow(row,scalar)
ScaleCol(col,scalar)
Float3x3Part()[const]
TranslatePart()[const]
RotatePart()[const]
PositiveX/Y/Z()[const]
ptr() (+1 overload)
SetRow(row,rowVector,m_r3) (+3 overloads)
SetCol(...) (+2 overloads)
Set(...) (+3 overloads)
Set3x3Part(rotation)
SetIdentity()
SwapColumns(col1,col2)
SwapRows(row1,row2)
SetTranslatePart(tx,ty,tz) (+1 overload)
SetRotatePart/X/Y/Z(...) (+2 overloads)
operator=(rhs) (+2 overloads)
Determinant()[const]
Inverse()
Inverted()[const]
InverseColOrthogonal()
InverseOrthogonalUniformScale()
InverseOrthonormal()
Transpose3()
Transposed3()[const]
InverseTranspose()
InverseTransposed()[const]
Trace()[const]
Orthonormalize(...)
RemoveScale()
TransformPos(pointVector)[const] (+1 overload)
TransformDir(directionVector)[const] (+1 overload)
Transform(vector)[const]
BatchTransformPos(...)[const] (+1 overload)
BatchTransformDir(...)[const] (+1 overload)
BatchTransform(...)[const] (+1 overload)
operator*(rhs)[const] (+4 overloads)
operator/(scalar)[const]
operator+(rhs)[const]
operator-(rhs)[const] (+1 overload)
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]
ToEuler***()[const]
ExtractScale()[const]
Decompose(...)[const] (+2 overloads)
Mul(rhs)[const] (+3 overloads)
MulPos(pointVector)[const]
MulDir(directionVector)[const]
Mul(vector)[const]
Translate(tx,ty,tz)[static] (+1 overload)
RotateX/Y/Z(angleRadians)[static] (+1 overload)
RotateAxisAngle(...)[static] (+1 overload)
RotateFromTo(...)[static] (+1 overload)
RandomGeneral(...)[static]
FromQuat(orientation)[static] (+1 overload)
FromTRS(...)[static] (+2 overloads)
FromEuler***(ex,ey,ex2)[static]
Scale(sx,sy,sz)[static] (+2 overloads)
ScaleAlongAxis(axis,scalingFactor)[static] (+1 overload)
UniformScale(uniformScale)[static] (+1 overload)
ShearX/Y/Z(yFactor,zFactor)[static]
Mirror(p)[static]
OrthographicProjection/YZ/XZ/XY(...)[static] (+1 overload)
LookAt(...)[static]

float3x4::RotateAxisAngle

Syntax

float3x4 float3x4::RotateAxisAngle(const float3 &axisDirection, float angleRadians); [7 lines of code]
float3x4 float3x4::RotateAxisAngle(const float3 &axisDirection, float angleRadians, const float3 &pointOnAxis); [4 lines of code]

Creates a new float3x4 that rotates about the given axis by the given angle (in radians).

Parameters

const float3 &pointOnAxisIf specified, the rotation is performed about an axis that passes through this point, and not through the origin. The returned matrix will not be a pure rotation matrix, but will also contain translation.

Performance

float3x4 float3x4::RotateAxisAngle(const float3 &axisDirection, float angleRadians)

0.07μsecs/call ≈ 14.33M calls/second ≈ 238.81k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

float3x4 float3x4::RotateAxisAngle(const float3 &axisDirection, float angleRadians, const float3 &pointOnAxis)

0.111μsecs/call ≈ 9.02M calls/second ≈ 150.36k calls/frame (@ 60fps).
This function does not perform dynamic memory allocation.

Leave a Comment

Name:
Comments:
Captcha:captcha image Type in the black symbols:
Back to class index