oa::vlm

vlm namespace in the OA Core public surface.

NsC++ public headers

Public Types

Public Functions

detail::Vec2<T> oa::vlm::abs(const detail::Vec2<T> & inValue)
detail::Quat<T> oa::vlm::add(const detail::Quat<T> & inA, const detail::Quat<T> & inB)
detail::Mat4<T> oa::vlm::affineMatrix(const detail::Mat3<T> & inLinear, const detail::Vec3<T> & inTranslation = {})
bool oa::vlm::approximatelyEqual(const detail::Mat3<T> & inA, const detail::Mat3<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T>)
detail::Vec3<T> oa::vlm::cartesianToSpherical(const detail::Vec3<T> & inValue)
detail::Vec2<T> oa::vlm::clamp(const detail::Vec2<T> & inValue, const detail::Vec2<T> & inMinimum, const detail::Vec2<T> & inMaximum)
detail::Vec2<T> oa::vlm::componentDivide(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
T oa::vlm::componentMax(const detail::Vec2<T> & inValue)
T oa::vlm::componentMin(const detail::Vec2<T> & inValue)
detail::Vec2<T> oa::vlm::componentMul(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
detail::Mat4<T> oa::vlm::composeAffine(const detail::AffineDecomposition<T> & inDecomposition)
detail::Mat4<T> oa::vlm::composeTrs(const detail::Vec3<T> & inTranslation, const detail::Quat<T> & inRotation, const detail::Vec3<T> & inScale)
detail::Vec3<T> oa::vlm::cross(const detail::Vec3<T> & inA, const detail::Vec3<T> & inB)
T oa::vlm::degrees(T inRadians)
T oa::vlm::determinant(const detail::Mat3<T> & inMatrix)
T oa::vlm::distance(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
T oa::vlm::distanceSquared(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
detail::Quat<T> oa::vlm::divide(const detail::Quat<T> & inValue, T inScale)
T oa::vlm::dot(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
detail::Vec3<T> oa::vlm::faceForward(const detail::Vec3<T> & inNormal, const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inReferenceNormal)
bool oa::vlm::isAffine(const detail::Mat4<T> & inMatrix, T inTolerance = Tolerance<T>)
bool oa::vlm::isIdentity(const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T>)
bool oa::vlm::isOrthogonal(const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T>)
bool oa::vlm::isOrthonormal(const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T>)
bool oa::vlm::isProperRotation(const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T>)
bool oa::vlm::isValidEulerOrder(EulerOrder inOrder)
bool oa::vlm::isValidTolerance(T inTolerance)
T oa::vlm::length(const detail::Vec2<T> & inValue)
T oa::vlm::lengthSquared(const detail::Vec2<T> & inValue)
detail::Vec2<T> oa::vlm::lerp(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB, T inT)
detail::Mat3<T> oa::vlm::linearPart(const detail::Mat4<T> & inMatrix)
detail::Mat4<T> oa::vlm::lookAt(const detail::Vec3<T> & inEye, const detail::Vec3<T> & inTarget, const detail::Vec3<T> & inWorldUp)
detail::Quat<T> oa::vlm::lookRotation(const detail::Vec3<T> & inForward, const detail::Vec3<T> & inWorldUp)
Mat4 oa::vlm::matrixIdentity()
detail::Mat3<T> oa::vlm::matrixMul(const detail::Mat3<T> & inA, const detail::Mat3<T> & inB)
detail::Vec2<T> oa::vlm::max(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
detail::Vec2<T> oa::vlm::min(const detail::Vec2<T> & inA, const detail::Vec2<T> & inB)
detail::Quat<T> oa::vlm::nlerp(const detail::Quat<T> & inA, const detail::Quat<T> & inB, T inT)
detail::Vec2<T> oa::vlm::normalize(const detail::Vec2<T> & inValue)
detail::Mat4<T> oa::vlm::orthographic(T inWidth, T inHeight, T inNear, T inFar, T inZoom = T(1))
detail::Mat4<T> oa::vlm::orthographicOffCenter(T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar)
detail::Mat4<T> oa::vlm::orthographicShifted(T inWidth, T inHeight, T inNear, T inFar, T inZoom, const detail::Vec2<T> & inNdcOffset)
detail::Mat4<T> oa::vlm::perspective(T inFovYDeg, T inAspect, T inNear, T inFar)
detail::Mat4<T> oa::vlm::perspectiveOffCenter(T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar)
detail::Mat4<T> oa::vlm::perspectiveReverseZ(T inFovYDeg, T inAspect, T inNear, T inFar)
detail::Mat4<T> oa::vlm::perspectiveReverseZInfinite(T inFovYDeg, T inAspect, T inNear)
detail::Mat4<T> oa::vlm::perspectiveShifted(T inFovYDeg, T inAspect, T inNear, T inFar, const detail::Vec2<T> & inNdcOffset)
T oa::vlm::quaternionAngle(const detail::Quat<T> & inRotation)
detail::Vec3<T> oa::vlm::quaternionAxis(const detail::Quat<T> & inRotation, T inTolerance = Tolerance<T>)
T oa::vlm::quaternionDot(const detail::Quat<T> & inA, const detail::Quat<T> & inB)
detail::Quat<T> oa::vlm::quaternionFromAxisAngle(const detail::Vec3<T> & inAxis, T inRadians)
detail::Quat<T> oa::vlm::quaternionFromEuler(T inYawDeg, T inPitchDeg, T inRollDeg)
detail::Quat<T> oa::vlm::quaternionFromEulerDegrees(const detail::Vec3<T> & inAngles, EulerOrder inOrder)
detail::Quat<T> oa::vlm::quaternionFromEulerRadians(const detail::Vec3<T> & inAngles, EulerOrder inOrder)
Quat oa::vlm::quaternionIdentity()
detail::Quat<T> oa::vlm::quaternionMul(const detail::Quat<T> & inA, const detail::Quat<T> & inB)
detail::Vec3<T> oa::vlm::quaternionToEuler(const detail::Quat<T> & inQuaternion)
detail::Vec3<T> oa::vlm::quaternionToEulerDegrees(const detail::Quat<T> & inQuaternion, EulerOrder inOrder)
detail::Vec3<T> oa::vlm::quaternionToEulerRadians(const detail::Quat<T> & inQuaternion, EulerOrder inOrder)
detail::Mat4<T> oa::vlm::quaternionToMatrix(const detail::Quat<T> & inQuaternion)
T oa::vlm::radians(T inDegrees)
detail::Vec3<T> oa::vlm::reflect(const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inNormal)
detail::Vec3<T> oa::vlm::refract(const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inNormal, T inEta)
detail::Vec3<T> oa::vlm::rotateVector(const detail::Quat<T> & inQuaternion, const detail::Vec3<T> & inVector)
detail::Quat<T> oa::vlm::scale(const detail::Quat<T> & inValue, T inScale)
detail::Mat4<T> oa::vlm::scaleMatrix(const detail::Vec3<T> & inScale)
detail::Quat<T> oa::vlm::slerp(const detail::Quat<T> & inA, const detail::Quat<T> & inB, T inT)
detail::Vec3<T> oa::vlm::sphericalToCartesian(T inYawRad, T inPitchRad, T inRadius)
detail::Quat<T> oa::vlm::sub(const detail::Quat<T> & inA, const detail::Quat<T> & inB)
detail::Vec3<T> oa::vlm::transform(const detail::Vec3<T> & inValue, const detail::Mat3<T> & inMatrix)
detail::Vec3<T> oa::vlm::transformDirection(const detail::Vec3<T> & inDirection, const detail::Mat4<T> & inMatrix)
detail::Vec3<T> oa::vlm::transformPoint(const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inMatrix)
detail::Mat4<T> oa::vlm::translation(const detail::Vec3<T> & inTranslation)
detail::Vec3<T> oa::vlm::translationPart(const detail::Mat4<T> & inMatrix)
detail::Mat3<T> oa::vlm::transpose(const detail::Mat3<T> & inMatrix)
bool oa::vlm::tryAffineInverse(const detail::Mat4<T> & inMatrix, detail::Mat4<T> & outInverse, T inTolerance = InverseTolerance<T>)
bool oa::vlm::tryAngleBetween(const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, T & outRadians, T inTolerance = Tolerance<T>)
bool oa::vlm::tryDecomposeAffine(const detail::Mat4<T> & inMatrix, detail::AffineDecomposition<T> & outDecomposition, T inTolerance = Tolerance<T>)
bool oa::vlm::tryDecomposeTrs(const detail::Mat4<T> & inMatrix, detail::TrsDecomposition<T> & outDecomposition, T inTolerance = Tolerance<T>)
bool oa::vlm::tryInverse(const detail::Mat3<T> & inMatrix, detail::Mat3<T> & outInverse, T inTolerance = InverseTolerance<T>)
bool oa::vlm::tryLookAt(const detail::Vec3<T> & inEye, const detail::Vec3<T> & inTarget, const detail::Vec3<T> & inWorldUp, detail::Mat4<T> & outView, T inTolerance = Tolerance<T>)
bool oa::vlm::tryLookRotation(const detail::Vec3<T> & inForward, const detail::Vec3<T> & inWorldUp, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T>)
bool oa::vlm::tryNormalize(const detail::Vec2<T> & inValue, detail::Vec2<T> & outNormalized)
bool oa::vlm::tryNormalMatrix(const detail::Mat4<T> & inMatrix, detail::Mat3<T> & outNormalMatrix, T inTolerance = InverseTolerance<T>)
bool oa::vlm::tryOrthographic(T inWidth, T inHeight, T inNear, T inFar, T inZoom, detail::Mat4<T> & outProjection)
bool oa::vlm::tryOrthographicOffCenter(T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar, detail::Mat4<T> & outProjection)
bool oa::vlm::tryOrthographicShifted(T inWidth, T inHeight, T inNear, T inFar, T inZoom, const detail::Vec2<T> & inNdcOffset, detail::Mat4<T> & outProjection)
bool oa::vlm::tryOrthonormalBasis(const detail::Vec3<T> & inFirst, const detail::Vec3<T> & inSecondCandidate, detail::Mat3<T> & outBasis, T inTolerance = Tolerance<T>)
bool oa::vlm::tryPerpendicular(const detail::Vec3<T> & inDirection, detail::Vec3<T> & outPerpendicular, T inTolerance = Tolerance<T>)
bool oa::vlm::tryPerspective(T inFovYDeg, T inAspect, T inNear, T inFar, detail::Mat4<T> & outProjection)
bool oa::vlm::tryPerspectiveOffCenter(T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar, detail::Mat4<T> & outProjection)
bool oa::vlm::tryPerspectiveReverseZ(T inFovYDeg, T inAspect, T inNear, T inFar, detail::Mat4<T> & outProjection)
bool oa::vlm::tryPerspectiveReverseZInfinite(T inFovYDeg, T inAspect, T inNear, detail::Mat4<T> & outProjection)
bool oa::vlm::tryPerspectiveShifted(T inFovYDeg, T inAspect, T inNear, T inFar, const detail::Vec2<T> & inNdcOffset, detail::Mat4<T> & outProjection)
bool oa::vlm::tryProjectPoint(const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inMatrix, detail::Vec3<T> & outPoint, T inTolerance = Tolerance<T>)
bool oa::vlm::tryProjectToViewport(const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inWorldViewProjection, const detail::Viewport<T> & inViewport, detail::Vec3<T> & outViewportPoint, T inTolerance = Tolerance<T>)
bool oa::vlm::tryProjectVector(const detail::Vec3<T> & inValue, const detail::Vec3<T> & inOnto, detail::Vec3<T> & outProjection, T inTolerance = Tolerance<T>)
bool oa::vlm::tryQuaternionFromAxisAngle(const detail::Vec3<T> & inAxis, T inRadians, detail::Quat<T> & outRotation)
bool oa::vlm::tryQuaternionFromRotationMatrix(const detail::Mat3<T> & inMatrix, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T>)
bool oa::vlm::tryQuaternionFromTo(const detail::Vec3<T> & inFrom, const detail::Vec3<T> & inTo, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T>)
bool oa::vlm::tryRejectVector(const detail::Vec3<T> & inValue, const detail::Vec3<T> & inFrom, detail::Vec3<T> & outRejection, T inTolerance = Tolerance<T>)
bool oa::vlm::trySignedAngleBetween(const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, const detail::Vec3<T> & inAxis, T & outRadians, T inTolerance = Tolerance<T>)
bool oa::vlm::tryTransformNormal(const detail::Vec3<T> & inNormal, const detail::Mat3<T> & inNormalMatrix, detail::Vec3<T> & outNormal, T inTolerance = InverseTolerance<T>)
bool oa::vlm::tryUnprojectFromViewport(const detail::Vec3<T> & inViewportPoint, const detail::Mat4<T> & inWorldViewProjection, const detail::Viewport<T> & inViewport, detail::Vec3<T> & outPoint, T inTolerance = InverseTolerance<T>)
bool oa::vlm::tryViewFromPose(const detail::Vec3<T> & inPosition, const detail::Quat<T> & inRotation, detail::Mat4<T> & outView, T inTolerance = Tolerance<T>)
detail::Mat4<T> oa::vlm::viewFromPose(const detail::Vec3<T> & inPosition, const detail::Quat<T> & inRotation)

Public Constants & Variables

Function Documentation

detail::Vec2<T> oa::vlm::abs( const detail::Vec2<T> & inValue ) detail::Vec3<T> oa::vlm::abs( const detail::Vec3<T> & inValue ) detail::Vec4<T> oa::vlm::abs( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Quat<T> oa::vlm::add( const detail::Quat<T> & inA, const detail::Quat<T> & inB ) detail::Mat3<T> oa::vlm::add( const detail::Mat3<T> & inA, const detail::Mat3<T> & inB ) detail::Vec2<T> oa::vlm::add( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Mat4<T> oa::vlm::add( const detail::Mat4<T> & inA, const detail::Mat4<T> & inB ) detail::Vec3<T> oa::vlm::add( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::add( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

Returns

detail::Quat<T>

The declared return value.

detail::Mat4<T> oa::vlm::affineMatrix( const detail::Mat3<T> & inLinear, const detail::Vec3<T> & inTranslation = {} )
No public source comment is attached to this declaration.

Parameters

inLinear
const detail::Mat3<T> &

inTranslation
const detail::Vec3<T> &

Default: {}

Returns

detail::Mat4<T>

The declared return value.

bool oa::vlm::approximatelyEqual( const detail::Mat3<T> & inA, const detail::Mat3<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( T inA, T inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( const detail::Quat<T> & inA, const detail::Quat<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> ) bool oa::vlm::approximatelyEqual( const detail::Mat4<T> & inA, const detail::Mat4<T> & inB, T inAbsoluteTolerance = Tolerance<T>, T inRelativeTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Mat3<T> &

inB
const detail::Mat3<T> &

inAbsoluteTolerance
T

Default: Tolerance<T>

inRelativeTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

detail::Vec3<T> oa::vlm::cartesianToSpherical( const detail::Vec3<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec3<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Vec2<T> oa::vlm::clamp( const detail::Vec2<T> & inValue, const detail::Vec2<T> & inMinimum, const detail::Vec2<T> & inMaximum ) detail::Vec3<T> oa::vlm::clamp( const detail::Vec3<T> & inValue, const detail::Vec3<T> & inMinimum, const detail::Vec3<T> & inMaximum ) detail::Vec4<T> oa::vlm::clamp( const detail::Vec4<T> & inValue, const detail::Vec4<T> & inMinimum, const detail::Vec4<T> & inMaximum )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

inMinimum
const detail::Vec2<T> &

inMaximum
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Vec2<T> oa::vlm::componentDivide( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Vec3<T> oa::vlm::componentDivide( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::componentDivide( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

T oa::vlm::componentMax( const detail::Vec2<T> & inValue ) T oa::vlm::componentMax( const detail::Vec3<T> & inValue ) T oa::vlm::componentMax( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

T

The declared return value.

T oa::vlm::componentMin( const detail::Vec2<T> & inValue ) T oa::vlm::componentMin( const detail::Vec3<T> & inValue ) T oa::vlm::componentMin( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

T

The declared return value.

detail::Vec2<T> oa::vlm::componentMul( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Vec3<T> oa::vlm::componentMul( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::componentMul( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Mat4<T> oa::vlm::composeAffine( const detail::AffineDecomposition<T> & inDecomposition )
No public source comment is attached to this declaration.

Parameters

inDecomposition
const detail::AffineDecomposition<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::composeTrs( const detail::Vec3<T> & inTranslation, const detail::Quat<T> & inRotation, const detail::Vec3<T> & inScale )
No public source comment is attached to this declaration.

Parameters

inTranslation
const detail::Vec3<T> &

inRotation
const detail::Quat<T> &

inScale
const detail::Vec3<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Vec3<T> oa::vlm::cross( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec3<T> &

inB
const detail::Vec3<T> &

Returns

detail::Vec3<T>

The declared return value.

T oa::vlm::degrees( T inRadians )
No public source comment is attached to this declaration.

Parameters

inRadians
T

Returns

T

The declared return value.

T oa::vlm::determinant( const detail::Mat3<T> & inMatrix ) T oa::vlm::determinant( const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

Returns

T

The declared return value.

T oa::vlm::distance( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) T oa::vlm::distance( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) T oa::vlm::distance( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

T

The declared return value.

T oa::vlm::distanceSquared( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) T oa::vlm::distanceSquared( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) T oa::vlm::distanceSquared( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

T

The declared return value.

detail::Quat<T> oa::vlm::divide( const detail::Quat<T> & inValue, T inScale ) detail::Mat3<T> oa::vlm::divide( const detail::Mat3<T> & inValue, T inScale ) detail::Vec2<T> oa::vlm::divide( const detail::Vec2<T> & inValue, T inScale ) detail::Mat4<T> oa::vlm::divide( const detail::Mat4<T> & inValue, T inScale ) detail::Vec3<T> oa::vlm::divide( const detail::Vec3<T> & inValue, T inScale ) detail::Vec4<T> oa::vlm::divide( const detail::Vec4<T> & inValue, T inScale )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Quat<T> &

inScale
T

Returns

detail::Quat<T>

The declared return value.

T oa::vlm::dot( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) T oa::vlm::dot( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) T oa::vlm::dot( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

T

The declared return value.

detail::Vec3<T> oa::vlm::faceForward( const detail::Vec3<T> & inNormal, const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inReferenceNormal )
No public source comment is attached to this declaration.

Parameters

inNormal
const detail::Vec3<T> &

inIncident
const detail::Vec3<T> &

inReferenceNormal
const detail::Vec3<T> &

Returns

detail::Vec3<T>

The declared return value.

bool oa::vlm::isAffine( const detail::Mat4<T> & inMatrix, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::isIdentity( const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T> ) bool oa::vlm::isIdentity( const detail::Mat4<T> & inMatrix, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::isOrthogonal( const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::isOrthonormal( const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::isProperRotation( const detail::Mat3<T> & inMatrix, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::isValidEulerOrder( EulerOrder inOrder )
No public source comment is attached to this declaration.

Parameters

inOrder
EulerOrder

Returns

bool

The declared return value.

bool oa::vlm::isValidTolerance( T inTolerance )
No public source comment is attached to this declaration.

Parameters

inTolerance
T

Returns

bool

The declared return value.

T oa::vlm::length( const detail::Vec2<T> & inValue ) T oa::vlm::length( const detail::Vec3<T> & inValue ) T oa::vlm::length( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

T

The declared return value.

T oa::vlm::lengthSquared( const detail::Vec2<T> & inValue ) T oa::vlm::lengthSquared( const detail::Vec3<T> & inValue ) T oa::vlm::lengthSquared( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

T

The declared return value.

detail::Vec2<T> oa::vlm::lerp( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB, T inT ) detail::Vec3<T> oa::vlm::lerp( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, T inT ) detail::Vec4<T> oa::vlm::lerp( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB, T inT )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

inT
T

Returns

detail::Vec2<T>

The declared return value.

detail::Mat3<T> oa::vlm::linearPart( const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

Returns

detail::Mat3<T>

The declared return value.

detail::Mat4<T> oa::vlm::lookAt( const detail::Vec3<T> & inEye, const detail::Vec3<T> & inTarget, const detail::Vec3<T> & inWorldUp )
No public source comment is attached to this declaration.

Parameters

inEye
const detail::Vec3<T> &

inTarget
const detail::Vec3<T> &

inWorldUp
const detail::Vec3<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Quat<T> oa::vlm::lookRotation( const detail::Vec3<T> & inForward, const detail::Vec3<T> & inWorldUp )
No public source comment is attached to this declaration.

Parameters

inForward
const detail::Vec3<T> &

inWorldUp
const detail::Vec3<T> &

Returns

detail::Quat<T>

The declared return value.

Mat4 oa::vlm::matrixIdentity()
No public source comment is attached to this declaration.

Returns

Mat4

The declared return value.

detail::Mat3<T> oa::vlm::matrixMul( const detail::Mat3<T> & inA, const detail::Mat3<T> & inB ) detail::Mat4<T> oa::vlm::matrixMul( const detail::Mat4<T> & inA, const detail::Mat4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Mat3<T> &

inB
const detail::Mat3<T> &

Returns

detail::Mat3<T>

The declared return value.

detail::Vec2<T> oa::vlm::max( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Vec3<T> oa::vlm::max( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::max( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Vec2<T> oa::vlm::min( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Vec3<T> oa::vlm::min( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::min( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec2<T> &

inB
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Quat<T> oa::vlm::nlerp( const detail::Quat<T> & inA, const detail::Quat<T> & inB, T inT )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

inT
T

Returns

detail::Quat<T>

The declared return value.

detail::Vec2<T> oa::vlm::normalize( const detail::Vec2<T> & inValue ) detail::Vec3<T> oa::vlm::normalize( const detail::Vec3<T> & inValue ) detail::Vec4<T> oa::vlm::normalize( const detail::Vec4<T> & inValue )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

Returns

detail::Vec2<T>

The declared return value.

detail::Mat4<T> oa::vlm::orthographic( T inWidth, T inHeight, T inNear, T inFar, T inZoom = T(1) )
No public source comment is attached to this declaration.

Parameters

inWidth
T

inHeight
T

inNear
T

inFar
T

inZoom
T

Default: T(1)

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::orthographicOffCenter( T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar )
No public source comment is attached to this declaration.

Parameters

inLeft
T

inRight
T

inBottom
T

inTop
T

inNear
T

inFar
T

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::orthographicShifted( T inWidth, T inHeight, T inNear, T inFar, T inZoom, const detail::Vec2<T> & inNdcOffset )
No public source comment is attached to this declaration.

Parameters

inWidth
T

inHeight
T

inNear
T

inFar
T

inZoom
T

inNdcOffset
const detail::Vec2<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::perspective( T inFovYDeg, T inAspect, T inNear, T inFar )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::perspectiveOffCenter( T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar )
No public source comment is attached to this declaration.

Parameters

inLeft
T

inRight
T

inBottom
T

inTop
T

inNear
T

inFar
T

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::perspectiveReverseZ( T inFovYDeg, T inAspect, T inNear, T inFar )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::perspectiveReverseZInfinite( T inFovYDeg, T inAspect, T inNear )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

Returns

detail::Mat4<T>

The declared return value.

detail::Mat4<T> oa::vlm::perspectiveShifted( T inFovYDeg, T inAspect, T inNear, T inFar, const detail::Vec2<T> & inNdcOffset )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

inNdcOffset
const detail::Vec2<T> &

Returns

detail::Mat4<T>

The declared return value.

T oa::vlm::quaternionAngle( const detail::Quat<T> & inRotation )
No public source comment is attached to this declaration.

Parameters

inRotation
const detail::Quat<T> &

Returns

T

The declared return value.

detail::Vec3<T> oa::vlm::quaternionAxis( const detail::Quat<T> & inRotation, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inRotation
const detail::Quat<T> &

inTolerance
T

Default: Tolerance<T>

Returns

detail::Vec3<T>

The declared return value.

T oa::vlm::quaternionDot( const detail::Quat<T> & inA, const detail::Quat<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

Returns

T

The declared return value.

detail::Quat<T> oa::vlm::quaternionFromAxisAngle( const detail::Vec3<T> & inAxis, T inRadians )
No public source comment is attached to this declaration.

Parameters

inAxis
const detail::Vec3<T> &

inRadians
T

Returns

detail::Quat<T>

The declared return value.

detail::Quat<T> oa::vlm::quaternionFromEuler( T inYawDeg, T inPitchDeg, T inRollDeg )
Compatibility camera spelling: yaw Z, pitch Y, roll X, applied X/Y/Z.

Parameters

inYawDeg
T

inPitchDeg
T

inRollDeg
T

Returns

detail::Quat<T>

The declared return value.

detail::Quat<T> oa::vlm::quaternionFromEulerDegrees( const detail::Vec3<T> & inAngles, EulerOrder inOrder )
No public source comment is attached to this declaration.

Parameters

inAngles
const detail::Vec3<T> &

inOrder
EulerOrder

Returns

detail::Quat<T>

The declared return value.

detail::Quat<T> oa::vlm::quaternionFromEulerRadians( const detail::Vec3<T> & inAngles, EulerOrder inOrder )
No public source comment is attached to this declaration.

Parameters

inAngles
const detail::Vec3<T> &

inOrder
EulerOrder

Returns

detail::Quat<T>

The declared return value.

Quat oa::vlm::quaternionIdentity()
No public source comment is attached to this declaration.

Returns

Quat

The declared return value.

detail::Quat<T> oa::vlm::quaternionMul( const detail::Quat<T> & inA, const detail::Quat<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

Returns

detail::Quat<T>

The declared return value.

detail::Vec3<T> oa::vlm::quaternionToEuler( const detail::Quat<T> & inQuaternion )
No public source comment is attached to this declaration.

Parameters

inQuaternion
const detail::Quat<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::quaternionToEulerDegrees( const detail::Quat<T> & inQuaternion, EulerOrder inOrder )
No public source comment is attached to this declaration.

Parameters

inQuaternion
const detail::Quat<T> &

inOrder
EulerOrder

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::quaternionToEulerRadians( const detail::Quat<T> & inQuaternion, EulerOrder inOrder )
No public source comment is attached to this declaration.

Parameters

inQuaternion
const detail::Quat<T> &

inOrder
EulerOrder

Returns

detail::Vec3<T>

The declared return value.

detail::Mat4<T> oa::vlm::quaternionToMatrix( const detail::Quat<T> & inQuaternion )
No public source comment is attached to this declaration.

Parameters

inQuaternion
const detail::Quat<T> &

Returns

detail::Mat4<T>

The declared return value.

T oa::vlm::radians( T inDegrees )
No public source comment is attached to this declaration.

Parameters

inDegrees
T

Returns

T

The declared return value.

detail::Vec3<T> oa::vlm::reflect( const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inNormal )
No public source comment is attached to this declaration.

Parameters

inIncident
const detail::Vec3<T> &

inNormal
const detail::Vec3<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::refract( const detail::Vec3<T> & inIncident, const detail::Vec3<T> & inNormal, T inEta )
No public source comment is attached to this declaration.

Parameters

inIncident
const detail::Vec3<T> &

inNormal
const detail::Vec3<T> &

inEta
T

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::rotateVector( const detail::Quat<T> & inQuaternion, const detail::Vec3<T> & inVector )
No public source comment is attached to this declaration.

Parameters

inQuaternion
const detail::Quat<T> &

inVector
const detail::Vec3<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Quat<T> oa::vlm::scale( const detail::Quat<T> & inValue, T inScale ) detail::Mat3<T> oa::vlm::scale( const detail::Mat3<T> & inValue, T inScale ) detail::Vec2<T> oa::vlm::scale( const detail::Vec2<T> & inValue, T inScale ) detail::Mat4<T> oa::vlm::scale( const detail::Mat4<T> & inValue, T inScale ) detail::Vec3<T> oa::vlm::scale( const detail::Vec3<T> & inValue, T inScale ) detail::Vec4<T> oa::vlm::scale( const detail::Vec4<T> & inValue, T inScale )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Quat<T> &

inScale
T

Returns

detail::Quat<T>

The declared return value.

detail::Mat4<T> oa::vlm::scaleMatrix( const detail::Vec3<T> & inScale )
No public source comment is attached to this declaration.

Parameters

inScale
const detail::Vec3<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Quat<T> oa::vlm::slerp( const detail::Quat<T> & inA, const detail::Quat<T> & inB, T inT )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

inT
T

Returns

detail::Quat<T>

The declared return value.

detail::Vec3<T> oa::vlm::sphericalToCartesian( T inYawRad, T inPitchRad, T inRadius )
No public source comment is attached to this declaration.

Parameters

inYawRad
T

inPitchRad
T

inRadius
T

Returns

detail::Vec3<T>

The declared return value.

detail::Quat<T> oa::vlm::sub( const detail::Quat<T> & inA, const detail::Quat<T> & inB ) detail::Mat3<T> oa::vlm::sub( const detail::Mat3<T> & inA, const detail::Mat3<T> & inB ) detail::Vec2<T> oa::vlm::sub( const detail::Vec2<T> & inA, const detail::Vec2<T> & inB ) detail::Mat4<T> oa::vlm::sub( const detail::Mat4<T> & inA, const detail::Mat4<T> & inB ) detail::Vec3<T> oa::vlm::sub( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB ) detail::Vec4<T> oa::vlm::sub( const detail::Vec4<T> & inA, const detail::Vec4<T> & inB )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Quat<T> &

inB
const detail::Quat<T> &

Returns

detail::Quat<T>

The declared return value.

detail::Vec3<T> oa::vlm::transform( const detail::Vec3<T> & inValue, const detail::Mat3<T> & inMatrix ) detail::Vec4<T> oa::vlm::transform( const detail::Vec4<T> & inValue, const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec3<T> &

inMatrix
const detail::Mat3<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::transformDirection( const detail::Vec3<T> & inDirection, const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inDirection
const detail::Vec3<T> &

inMatrix
const detail::Mat4<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Vec3<T> oa::vlm::transformPoint( const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inPoint
const detail::Vec3<T> &

inMatrix
const detail::Mat4<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Mat4<T> oa::vlm::translation( const detail::Vec3<T> & inTranslation )
No public source comment is attached to this declaration.

Parameters

inTranslation
const detail::Vec3<T> &

Returns

detail::Mat4<T>

The declared return value.

detail::Vec3<T> oa::vlm::translationPart( const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

Returns

detail::Vec3<T>

The declared return value.

detail::Mat3<T> oa::vlm::transpose( const detail::Mat3<T> & inMatrix ) detail::Mat4<T> oa::vlm::transpose( const detail::Mat4<T> & inMatrix )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

Returns

detail::Mat3<T>

The declared return value.

bool oa::vlm::tryAffineInverse( const detail::Mat4<T> & inMatrix, detail::Mat4<T> & outInverse, T inTolerance = InverseTolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

outInverse
detail::Mat4<T> &

inTolerance
T

Default: InverseTolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryAngleBetween( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, T & outRadians, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec3<T> &

inB
const detail::Vec3<T> &

outRadians
T &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryDecomposeAffine( const detail::Mat4<T> & inMatrix, detail::AffineDecomposition<T> & outDecomposition, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

outDecomposition
detail::AffineDecomposition<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryDecomposeTrs( const detail::Mat4<T> & inMatrix, detail::TrsDecomposition<T> & outDecomposition, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

outDecomposition
detail::TrsDecomposition<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryInverse( const detail::Mat3<T> & inMatrix, detail::Mat3<T> & outInverse, T inTolerance = InverseTolerance<T> ) bool oa::vlm::tryInverse( const detail::Quat<T> & inQuaternion, detail::Quat<T> & outInverse, T inTolerance = InverseTolerance<T> ) bool oa::vlm::tryInverse( const detail::Mat4<T> & inMatrix, detail::Mat4<T> & outInverse, T inTolerance = InverseTolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

outInverse
detail::Mat3<T> &

inTolerance
T

Default: InverseTolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryLookAt( const detail::Vec3<T> & inEye, const detail::Vec3<T> & inTarget, const detail::Vec3<T> & inWorldUp, detail::Mat4<T> & outView, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inEye
const detail::Vec3<T> &

inTarget
const detail::Vec3<T> &

inWorldUp
const detail::Vec3<T> &

outView
detail::Mat4<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryLookRotation( const detail::Vec3<T> & inForward, const detail::Vec3<T> & inWorldUp, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inForward
const detail::Vec3<T> &

inWorldUp
const detail::Vec3<T> &

outRotation
detail::Quat<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryNormalize( const detail::Vec2<T> & inValue, detail::Vec2<T> & outNormalized ) bool oa::vlm::tryNormalize( const detail::Vec3<T> & inValue, detail::Vec3<T> & outNormalized ) bool oa::vlm::tryNormalize( const detail::Vec4<T> & inValue, detail::Vec4<T> & outNormalized ) bool oa::vlm::tryNormalize( const detail::Quat<T> & inQuaternion, detail::Quat<T> & outNormalized )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec2<T> &

outNormalized
detail::Vec2<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryNormalMatrix( const detail::Mat4<T> & inMatrix, detail::Mat3<T> & outNormalMatrix, T inTolerance = InverseTolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat4<T> &

outNormalMatrix
detail::Mat3<T> &

inTolerance
T

Default: InverseTolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryOrthographic( T inWidth, T inHeight, T inNear, T inFar, T inZoom, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inWidth
T

inHeight
T

inNear
T

inFar
T

inZoom
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryOrthographicOffCenter( T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inLeft
T

inRight
T

inBottom
T

inTop
T

inNear
T

inFar
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryOrthographicShifted( T inWidth, T inHeight, T inNear, T inFar, T inZoom, const detail::Vec2<T> & inNdcOffset, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inWidth
T

inHeight
T

inNear
T

inFar
T

inZoom
T

inNdcOffset
const detail::Vec2<T> &

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryOrthonormalBasis( const detail::Vec3<T> & inFirst, const detail::Vec3<T> & inSecondCandidate, detail::Mat3<T> & outBasis, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inFirst
const detail::Vec3<T> &

inSecondCandidate
const detail::Vec3<T> &

outBasis
detail::Mat3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryPerpendicular( const detail::Vec3<T> & inDirection, detail::Vec3<T> & outPerpendicular, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inDirection
const detail::Vec3<T> &

outPerpendicular
detail::Vec3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryPerspective( T inFovYDeg, T inAspect, T inNear, T inFar, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryPerspectiveOffCenter( T inLeft, T inRight, T inBottom, T inTop, T inNear, T inFar, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inLeft
T

inRight
T

inBottom
T

inTop
T

inNear
T

inFar
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryPerspectiveReverseZ( T inFovYDeg, T inAspect, T inNear, T inFar, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryPerspectiveReverseZInfinite( T inFovYDeg, T inAspect, T inNear, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryPerspectiveShifted( T inFovYDeg, T inAspect, T inNear, T inFar, const detail::Vec2<T> & inNdcOffset, detail::Mat4<T> & outProjection )
No public source comment is attached to this declaration.

Parameters

inFovYDeg
T

inAspect
T

inNear
T

inFar
T

inNdcOffset
const detail::Vec2<T> &

outProjection
detail::Mat4<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryProjectPoint( const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inMatrix, detail::Vec3<T> & outPoint, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inPoint
const detail::Vec3<T> &

inMatrix
const detail::Mat4<T> &

outPoint
detail::Vec3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryProjectToViewport( const detail::Vec3<T> & inPoint, const detail::Mat4<T> & inWorldViewProjection, const detail::Viewport<T> & inViewport, detail::Vec3<T> & outViewportPoint, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inPoint
const detail::Vec3<T> &

inWorldViewProjection
const detail::Mat4<T> &

inViewport
const detail::Viewport<T> &

outViewportPoint
detail::Vec3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryProjectVector( const detail::Vec3<T> & inValue, const detail::Vec3<T> & inOnto, detail::Vec3<T> & outProjection, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec3<T> &

inOnto
const detail::Vec3<T> &

outProjection
detail::Vec3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryQuaternionFromAxisAngle( const detail::Vec3<T> & inAxis, T inRadians, detail::Quat<T> & outRotation )
No public source comment is attached to this declaration.

Parameters

inAxis
const detail::Vec3<T> &

inRadians
T

outRotation
detail::Quat<T> &

Returns

bool

The declared return value.

bool oa::vlm::tryQuaternionFromRotationMatrix( const detail::Mat3<T> & inMatrix, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T> ) bool oa::vlm::tryQuaternionFromRotationMatrix( const detail::Mat4<T> & inMatrix, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inMatrix
const detail::Mat3<T> &

outRotation
detail::Quat<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryQuaternionFromTo( const detail::Vec3<T> & inFrom, const detail::Vec3<T> & inTo, detail::Quat<T> & outRotation, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inFrom
const detail::Vec3<T> &

inTo
const detail::Vec3<T> &

outRotation
detail::Quat<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryRejectVector( const detail::Vec3<T> & inValue, const detail::Vec3<T> & inFrom, detail::Vec3<T> & outRejection, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inValue
const detail::Vec3<T> &

inFrom
const detail::Vec3<T> &

outRejection
detail::Vec3<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::trySignedAngleBetween( const detail::Vec3<T> & inA, const detail::Vec3<T> & inB, const detail::Vec3<T> & inAxis, T & outRadians, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inA
const detail::Vec3<T> &

inB
const detail::Vec3<T> &

inAxis
const detail::Vec3<T> &

outRadians
T &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryTransformNormal( const detail::Vec3<T> & inNormal, const detail::Mat3<T> & inNormalMatrix, detail::Vec3<T> & outNormal, T inTolerance = InverseTolerance<T> ) bool oa::vlm::tryTransformNormal( const detail::Vec3<T> & inNormal, const detail::Mat4<T> & inMatrix, detail::Vec3<T> & outNormal, T inTolerance = InverseTolerance<T> )
No public source comment is attached to this declaration.

Parameters

inNormal
const detail::Vec3<T> &

inNormalMatrix
const detail::Mat3<T> &

outNormal
detail::Vec3<T> &

inTolerance
T

Default: InverseTolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryUnprojectFromViewport( const detail::Vec3<T> & inViewportPoint, const detail::Mat4<T> & inWorldViewProjection, const detail::Viewport<T> & inViewport, detail::Vec3<T> & outPoint, T inTolerance = InverseTolerance<T> )
No public source comment is attached to this declaration.

Parameters

inViewportPoint
const detail::Vec3<T> &

inWorldViewProjection
const detail::Mat4<T> &

inViewport
const detail::Viewport<T> &

outPoint
detail::Vec3<T> &

inTolerance
T

Default: InverseTolerance<T>

Returns

bool

The declared return value.

bool oa::vlm::tryViewFromPose( const detail::Vec3<T> & inPosition, const detail::Quat<T> & inRotation, detail::Mat4<T> & outView, T inTolerance = Tolerance<T> )
No public source comment is attached to this declaration.

Parameters

inPosition
const detail::Vec3<T> &

inRotation
const detail::Quat<T> &

outView
detail::Mat4<T> &

inTolerance
T

Default: Tolerance<T>

Returns

bool

The declared return value.

detail::Mat4<T> oa::vlm::viewFromPose( const detail::Vec3<T> & inPosition, const detail::Quat<T> & inRotation )
No public source comment is attached to this declaration.

Parameters

inPosition
const detail::Vec3<T> &

inRotation
const detail::Quat<T> &

Returns

detail::Mat4<T>

The declared return value.