Quat.kl¶
Types¶
Quat (struct)¶
The Quat represents a 3D rotation as a quaternion. Quaternions are used within the Xfo type. A Quat can be converted to and from Mat33 as well as Euler types.
/*
** Example: Quat
*/
// create several quaternions
Quat q0, q1, q2, q3, q4;
q0 = Quat(Vec3(1.0, 0.0, 0.0), 0.0);
q1.setFromEuler(Euler(PI, 0.0, 0.0));
q2.setFromDirectionAndUpvector(Vec3(1.0, 0.0, 0.0), Vec3(0.0, 1.0, 0.0));
q3.setFrom2Vectors(Vec3(1.0, 0.0, 0.0), Vec3(1.0, 1.0, 0.0));
q4.setFromAxisAndAngle(Vec3(0.0, 1.0, 0.0), HALF_PI);
Methods¶
Quat ( in Euler e ) | |
Quat ( in Mat33 mat ) | |
Quat ( in Quat other ) | |
Quat ( in Scalar w, in Vec3 v ) | |
Quat ( in Scalar x, in Scalar y, in Scalar z, in Scalar w ) | |
Quat ( in Vec3 v, in Scalar w ) | |
Quat () | |
Quat | add ? ( in Quat other ) |
alignWith ! ( in Quat other ) | |
Boolean | almostEqual ? ( in Quat other ) |
Boolean | almostEqual ? ( in Quat other, in Scalar precision ) |
Quat | clone ? () |
Quat | conjugate ? () |
Quat | divide ? ( in Quat other ) |
Quat | divideScalar ? ( in Scalar other ) |
Scalar | dot ? ( in Quat other ) |
Boolean | equal ? ( in Quat other ) |
get ? ( io Float32 v<> ) | |
get ? ( io Float32 v<>, in UInt32 o ) | |
get ? ( io Float32 v[] ) | |
get ? ( io Float32 v[], in UInt32 o ) | |
get ? ( io Float64 v<> ) | |
get ? ( io Float64 v<>, in UInt32 o ) | |
get ? ( io Float64 v[] ) | |
get ? ( io Float64 v[], in UInt32 o ) | |
Scalar | getAngle ? () |
Vec3 | getXaxis ? () |
Vec3 | getYaxis ? () |
Vec3 | getZaxis ? () |
UInt32 | hash ? () |
Quat | inverse ? () |
Scalar | length ? () |
Scalar | lengthSquared ? () |
Quat | linearInterpolate ? ( in Quat other, in Scalar t ) |
mirror ! ( in Integer axisIndex ) | |
Quat | multiply ? ( in Quat other ) |
Quat | multiplyScalar ? ( in Scalar other ) |
Vec3 | rotateVector ? ( in Vec3 v ) |
set ! ( in Float32 v<> ) | |
set ! ( in Float32 v<>, in UInt32 o ) | |
set ! ( in Float64 v<> ) | |
set ! ( in Float64 v<>, in UInt32 o ) | |
set ! ( in Scalar w, in Vec3 v ) | |
set ! ( in Scalar x, in Scalar y, in Scalar z, in Scalar w ) | |
set ! ( in Vec3 v, in Scalar w ) | |
Quat | setFrom2Vectors ! ( in Vec3 sourceDirVec, in Vec3 destDirVec ) |
Quat | setFrom2Vectors ! ( in Vec3 sourceDirVec, in Vec3 destDirVec, in Boolean arbitraryIfAmbiguous ) |
Quat | setFromAxisAndAngle ! ( in Vec3 axis, in Scalar angle ) |
Quat | setFromDirectionAndUpvector ! ( in Vec3 direction, in Vec3 upvector ) |
Quat | setFromEuler ! ( in Euler e ) |
Quat | setFromEulerAngles ! ( in Scalar eulerX, in Scalar eulerY, in Scalar eulerZ ) |
Quat | setFromEulerAngles ! ( in Scalar eulerX, in Scalar eulerY, in Scalar eulerZ, in RotationOrder ro ) |
Quat | setFromEulerAngles ! ( in Vec3 angles ) |
Quat | setFromEulerAngles ! ( in Vec3 angles, in RotationOrder ro ) |
Quat | setFromMat33 ! ( in Mat33 mat ) |
setIdentity ! () | |
Scalar | setUnit ! () |
Quat | sphericalLinearInterpolate ? ( in Quat q2, in Scalar t ) |
Quat | subtract ? ( in Quat other ) |
Euler | toEuler ? ( in RotationOrder rotationOrder ) |
Vec3 | toEulerAngles ? ( in RotationOrder order ) |
Vec3 | toEulerAngles ? () |
Mat33 | toMat33 ? () |
Quat | unit ? () |
Quat | unit_safe ? () |