@math.gl/core 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/classes/base/math-array.d.ts +1 -2
  2. package/dist/classes/base/math-array.js +220 -266
  3. package/dist/classes/base/matrix.d.ts +1 -2
  4. package/dist/classes/base/matrix.js +52 -53
  5. package/dist/classes/base/vector.d.ts +1 -2
  6. package/dist/classes/base/vector.js +121 -135
  7. package/dist/classes/euler.d.ts +2 -3
  8. package/dist/classes/euler.js +462 -533
  9. package/dist/classes/matrix3.d.ts +2 -3
  10. package/dist/classes/matrix3.js +185 -190
  11. package/dist/classes/matrix4.d.ts +1 -2
  12. package/dist/classes/matrix4.js +516 -452
  13. package/dist/classes/pose.d.ts +4 -5
  14. package/dist/classes/pose.js +104 -119
  15. package/dist/classes/quaternion.d.ts +1 -2
  16. package/dist/classes/quaternion.js +257 -233
  17. package/dist/classes/spherical-coordinates.d.ts +3 -4
  18. package/dist/classes/spherical-coordinates.js +138 -147
  19. package/dist/classes/vector2.d.ts +1 -2
  20. package/dist/classes/vector2.js +101 -85
  21. package/dist/classes/vector3.d.ts +1 -2
  22. package/dist/classes/vector3.js +125 -136
  23. package/dist/classes/vector4.d.ts +2 -3
  24. package/dist/classes/vector4.js +106 -114
  25. package/dist/gl-matrix/common.d.ts +0 -1
  26. package/dist/gl-matrix/common.js +38 -6
  27. package/dist/gl-matrix/mat3.d.ts +0 -1
  28. package/dist/gl-matrix/mat3.js +699 -425
  29. package/dist/gl-matrix/mat4.d.ts +0 -1
  30. package/dist/gl-matrix/mat4.js +1879 -1339
  31. package/dist/gl-matrix/quat.d.ts +0 -1
  32. package/dist/gl-matrix/quat.js +655 -257
  33. package/dist/gl-matrix/vec2.d.ts +0 -1
  34. package/dist/gl-matrix/vec2.js +529 -212
  35. package/dist/gl-matrix/vec3.d.ts +0 -1
  36. package/dist/gl-matrix/vec3.js +703 -335
  37. package/dist/gl-matrix/vec4.d.ts +0 -1
  38. package/dist/gl-matrix/vec4.js +579 -293
  39. package/dist/gl-matrix/wip/index.d.ts +3 -4
  40. package/dist/gl-matrix/wip/index.js +2 -1
  41. package/dist/gl-matrix/wip/mat2.d.ts +0 -1
  42. package/dist/gl-matrix/wip/mat2.js +333 -157
  43. package/dist/gl-matrix/wip/mat2d.d.ts +0 -1
  44. package/dist/gl-matrix/wip/mat2d.js +377 -202
  45. package/dist/gl-matrix/wip/quat2.d.ts +0 -1
  46. package/dist/gl-matrix/wip/quat2.js +647 -409
  47. package/dist/index.cjs +60 -100
  48. package/dist/index.cjs.map +7 -0
  49. package/dist/index.d.ts +21 -22
  50. package/dist/index.js +23 -16
  51. package/dist/lib/assert.d.ts +0 -1
  52. package/dist/lib/assert.js +3 -4
  53. package/dist/lib/common.d.ts +2 -3
  54. package/dist/lib/common.js +163 -134
  55. package/dist/lib/gl-matrix-extras.d.ts +0 -1
  56. package/dist/lib/gl-matrix-extras.js +39 -36
  57. package/dist/lib/math-utils.d.ts +0 -1
  58. package/dist/lib/math-utils.js +2 -1
  59. package/dist/lib/validators.d.ts +0 -1
  60. package/dist/lib/validators.js +22 -25
  61. package/package.json +5 -6
  62. package/src/classes/matrix3.ts +1 -1
  63. package/dist/classes/base/math-array.d.ts.map +0 -1
  64. package/dist/classes/base/math-array.js.map +0 -1
  65. package/dist/classes/base/matrix.d.ts.map +0 -1
  66. package/dist/classes/base/matrix.js.map +0 -1
  67. package/dist/classes/base/vector.d.ts.map +0 -1
  68. package/dist/classes/base/vector.js.map +0 -1
  69. package/dist/classes/euler.d.ts.map +0 -1
  70. package/dist/classes/euler.js.map +0 -1
  71. package/dist/classes/matrix3.d.ts.map +0 -1
  72. package/dist/classes/matrix3.js.map +0 -1
  73. package/dist/classes/matrix4.d.ts.map +0 -1
  74. package/dist/classes/matrix4.js.map +0 -1
  75. package/dist/classes/pose.d.ts.map +0 -1
  76. package/dist/classes/pose.js.map +0 -1
  77. package/dist/classes/quaternion.d.ts.map +0 -1
  78. package/dist/classes/quaternion.js.map +0 -1
  79. package/dist/classes/spherical-coordinates.d.ts.map +0 -1
  80. package/dist/classes/spherical-coordinates.js.map +0 -1
  81. package/dist/classes/vector2.d.ts.map +0 -1
  82. package/dist/classes/vector2.js.map +0 -1
  83. package/dist/classes/vector3.d.ts.map +0 -1
  84. package/dist/classes/vector3.js.map +0 -1
  85. package/dist/classes/vector4.d.ts.map +0 -1
  86. package/dist/classes/vector4.js.map +0 -1
  87. package/dist/gl-matrix/common.d.ts.map +0 -1
  88. package/dist/gl-matrix/common.js.map +0 -1
  89. package/dist/gl-matrix/mat3.d.ts.map +0 -1
  90. package/dist/gl-matrix/mat3.js.map +0 -1
  91. package/dist/gl-matrix/mat4.d.ts.map +0 -1
  92. package/dist/gl-matrix/mat4.js.map +0 -1
  93. package/dist/gl-matrix/quat.d.ts.map +0 -1
  94. package/dist/gl-matrix/quat.js.map +0 -1
  95. package/dist/gl-matrix/vec2.d.ts.map +0 -1
  96. package/dist/gl-matrix/vec2.js.map +0 -1
  97. package/dist/gl-matrix/vec3.d.ts.map +0 -1
  98. package/dist/gl-matrix/vec3.js.map +0 -1
  99. package/dist/gl-matrix/vec4.d.ts.map +0 -1
  100. package/dist/gl-matrix/vec4.js.map +0 -1
  101. package/dist/gl-matrix/wip/index.d.ts.map +0 -1
  102. package/dist/gl-matrix/wip/index.js.map +0 -1
  103. package/dist/gl-matrix/wip/mat2.d.ts.map +0 -1
  104. package/dist/gl-matrix/wip/mat2.js.map +0 -1
  105. package/dist/gl-matrix/wip/mat2d.d.ts.map +0 -1
  106. package/dist/gl-matrix/wip/mat2d.js.map +0 -1
  107. package/dist/gl-matrix/wip/quat2.d.ts.map +0 -1
  108. package/dist/gl-matrix/wip/quat2.js.map +0 -1
  109. package/dist/gl-matrix/wip/types.d.js +0 -2
  110. package/dist/gl-matrix/wip/types.d.js.map +0 -1
  111. package/dist/index.d.ts.map +0 -1
  112. package/dist/index.js.map +0 -1
  113. package/dist/lib/assert.d.ts.map +0 -1
  114. package/dist/lib/assert.js.map +0 -1
  115. package/dist/lib/common.d.ts.map +0 -1
  116. package/dist/lib/common.js.map +0 -1
  117. package/dist/lib/gl-matrix-extras.d.ts.map +0 -1
  118. package/dist/lib/gl-matrix-extras.js.map +0 -1
  119. package/dist/lib/gl-matrix.d.js +0 -2
  120. package/dist/lib/gl-matrix.d.js.map +0 -1
  121. package/dist/lib/math-utils.d.ts.map +0 -1
  122. package/dist/lib/math-utils.js.map +0 -1
  123. package/dist/lib/validators.d.ts.map +0 -1
  124. package/dist/lib/validators.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec2.d.ts","sourceRoot":"","sources":["../../src/gl-matrix/vec2.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/gl-matrix/vec2.ts"],"names":["glMatrix","create","out","ARRAY_TYPE","Float32Array","clone","a","fromValues","x","y","copy","set","add","b","subtract","multiply","divide","ceil","Math","floor","min","max","round","scale","scaleAndAdd","distance","sqrt","squaredDistance","length","squaredLength","negate","inverse","normalize","len","dot","cross","z","lerp","t","ax","ay","random","undefined","r","RANDOM","PI","cos","sin","transformMat2","m","transformMat2d","transformMat3","transformMat4","rotate","rad","p0","p1","sinC","cosC","angle","x1","y1","x2","y2","mag","cosine","acos","zero","str","exactEquals","equals","a0","a1","b0","b1","abs","EPSILON","sub","mul","div","dist","sqrDist","sqrLen","forEach","vec","stride","offset","count","fn","arg","i","l"],"mappings":"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","sourcesContent":["// @eslint-disable\n// @ts-nocheck\n\nimport type {NumericArray} from '@math.gl/types';\nimport * as glMatrix from './common.js';\n\n/**\n * 2 Dimensional Vector\n * @module vec2\n */\n\n/**\n * Creates a new, empty vec2\n *\n * @returns {NumericArray} a new 2D vector\n */\nexport function create() {\n const out = new glMatrix.ARRAY_TYPE(2);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n }\n return out;\n}\n\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {Readonly<NumericArray>} a vector to clone\n * @returns {NumericArray} a new 2D vector\n */\nexport function clone(a) {\n const out = new glMatrix.ARRAY_TYPE(2);\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n\n/**\n * Creates a new vec2 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {NumericArray} a new 2D vector\n */\nexport function fromValues(x, y) {\n const out = new glMatrix.ARRAY_TYPE(2);\n out[0] = x;\n out[1] = y;\n return out;\n}\n\n/**\n * Copy the values from one vec2 to another\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the source vector\n * @returns {NumericArray} out\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n\n/**\n * Set the components of a vec2 to the given values\n *\n * @param {NumericArray} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {NumericArray} out\n */\nexport function set(out, x, y) {\n out[0] = x;\n out[1] = y;\n return out;\n}\n\n/**\n * Adds two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n return out;\n}\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n return out;\n}\n\n/**\n * Multiplies two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n return out;\n}\n\n/**\n * Divides two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n return out;\n}\n\n/**\n * Math.ceil the components of a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to ceil\n * @returns {NumericArray} out\n */\nexport function ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n return out;\n}\n\n/**\n * Math.floor the components of a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to floor\n * @returns {NumericArray} out\n */\nexport function floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n return out;\n}\n\n/**\n * Returns the minimum of two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n return out;\n}\n\n/**\n * Returns the maximum of two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {NumericArray} out\n */\nexport function max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n return out;\n}\n\n/**\n * symmetric round the components of a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to round\n * @returns {NumericArray} out\n */\nexport function round(out, a) {\n out[0] = glMatrix.round(a[0]);\n out[1] = glMatrix.round(a[1]);\n return out;\n}\n\n/**\n * Scales a vec2 by a scalar number\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {NumericArray} out\n */\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n return out;\n}\n\n/**\n * Adds two vec2's after scaling the second operand by a scalar value\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {NumericArray} out\n */\nexport function scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n return out;\n}\n\n/**\n * Calculates the euclidian distance between two vec2's\n *\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {Number} distance between a and b\n */\nexport function distance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n return Math.sqrt(x * x + y * y);\n}\n\n/**\n * Calculates the squared euclidian distance between two vec2's\n *\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {Number} squared distance between a and b\n */\nexport function squaredDistance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n return x * x + y * y;\n}\n\n/**\n * Calculates the length of a vec2\n *\n * @param {Readonly<NumericArray>} a vector to calculate length of\n * @returns {Number} length of a\n */\nexport function length(a) {\n const x = a[0];\n const y = a[1];\n return Math.sqrt(x * x + y * y);\n}\n\n/**\n * Calculates the squared length of a vec2\n *\n * @param {Readonly<NumericArray>} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nexport function squaredLength(a) {\n const x = a[0];\n const y = a[1];\n return x * x + y * y;\n}\n\n/**\n * Negates the components of a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to negate\n * @returns {NumericArray} out\n */\nexport function negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n return out;\n}\n\n/**\n * Returns the inverse of the components of a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to invert\n * @returns {NumericArray} out\n */\nexport function inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n return out;\n}\n\n/**\n * Normalize a vec2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a vector to normalize\n * @returns {NumericArray} out\n */\nexport function normalize(out, a) {\n const x = a[0];\n const y = a[1];\n let len = x * x + y * y;\n if (len > 0) {\n // TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n return out;\n}\n\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {Number} dot product of a and b\n */\nexport function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n}\n\n/**\n * Computes the cross product of two vec2's\n * Note that the cross product must by definition produce a 3D vector\n *\n * @param {vec3} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @returns {vec3} out\n */\nexport function cross(out, a, b) {\n const z = a[0] * b[1] - a[1] * b[0];\n out[0] = out[1] = 0;\n out[2] = z;\n return out;\n}\n\n/**\n * Performs a linear interpolation between two vec2's\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the first operand\n * @param {Readonly<NumericArray>} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {NumericArray} out\n */\nexport function lerp(out, a, b, t) {\n const ax = a[0];\n const ay = a[1];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n return out;\n}\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {NumericArray} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If omitted, a unit vector will be returned\n * @returns {NumericArray} out\n */\nexport function random(out, scale) {\n scale = scale === undefined ? 1.0 : scale;\n const r = glMatrix.RANDOM() * 2.0 * Math.PI;\n out[0] = Math.cos(r) * scale;\n out[1] = Math.sin(r) * scale;\n return out;\n}\n\n/**\n * Transforms the vec2 with a mat2\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the vector to transform\n * @param {ReadonlyMat2} m matrix to transform with\n * @returns {NumericArray} out\n */\nexport function transformMat2(out, a, m) {\n const x = a[0];\n const y = a[1];\n out[0] = m[0] * x + m[2] * y;\n out[1] = m[1] * x + m[3] * y;\n return out;\n}\n\n/**\n * Transforms the vec2 with a mat2d\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the vector to transform\n * @param {ReadonlyMat2d} m matrix to transform with\n * @returns {NumericArray} out\n */\nexport function transformMat2d(out, a, m) {\n const x = a[0];\n const y = a[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n\n/**\n * Transforms the vec2 with a mat3\n * 3rd vector component is implicitly '1'\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the vector to transform\n * @param {ReadonlyMat3} m matrix to transform with\n * @returns {NumericArray} out\n */\nexport function transformMat3(out, a, m) {\n const x = a[0];\n const y = a[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n}\n\n/**\n * Transforms the vec2 with a mat4\n * 3rd vector component is implicitly '0'\n * 4th vector component is implicitly '1'\n *\n * @param {NumericArray} out the receiving vector\n * @param {Readonly<NumericArray>} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {NumericArray} out\n */\nexport function transformMat4(out, a, m) {\n const x = a[0];\n const y = a[1];\n out[0] = m[0] * x + m[4] * y + m[12];\n out[1] = m[1] * x + m[5] * y + m[13];\n return out;\n}\n\n/**\n * Rotate a 2D vector\n * @param {NumericArray} out The receiving vec2\n * @param {Readonly<NumericArray>} a The vec2 point to rotate\n * @param {Readonly<NumericArray>} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {NumericArray} out\n */\nexport function rotate(out, a, b, rad) {\n // Translate point to the origin\n const p0 = a[0] - b[0];\n const p1 = a[1] - b[1];\n const sinC = Math.sin(rad);\n const cosC = Math.cos(rad);\n\n // perform rotation and translate to correct position\n out[0] = p0 * cosC - p1 * sinC + b[0];\n out[1] = p0 * sinC + p1 * cosC + b[1];\n\n return out;\n}\n\n/**\n * Get the angle between two 2D vectors\n * @param {Readonly<NumericArray>} a The first operand\n * @param {Readonly<NumericArray>} b The second operand\n * @returns {Number} The angle in radians\n */\nexport function angle(a, b) {\n const x1 = a[0];\n const y1 = a[1];\n const x2 = b[0];\n const y2 = b[1];\n // mag is the product of the magnitudes of a and b\n const mag = Math.sqrt((x1 * x1 + y1 * y1) * (x2 * x2 + y2 * y2));\n // mag &&.. short circuits if mag == 0\n const cosine = mag && (x1 * x2 + y1 * y2) / mag;\n // Math.min(Math.max(cosine, -1), 1) clamps the cosine between -1 and 1\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n\n/**\n * Set the components of a vec2 to zero\n *\n * @param {NumericArray} out the receiving vector\n * @returns {NumericArray} out\n */\nexport function zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n return out;\n}\n\n/**\n * Returns a string representation of a vector\n *\n * @param {Readonly<NumericArray>} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\nexport function str(a) {\n return `vec2(${a[0]}, ${a[1]})`;\n}\n\n/**\n * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)\n *\n * @param {Readonly<NumericArray>} a The first vector.\n * @param {Readonly<NumericArray>} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1];\n}\n\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {Readonly<NumericArray>} a The first vector.\n * @param {Readonly<NumericArray>} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function equals(a, b) {\n const a0 = a[0];\n const a1 = a[1];\n const b0 = b[0];\n const b1 = b[1];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1))\n );\n}\n\n/**\n * Alias for {@link vec2.length}\n * @function\n */\nexport const len = length;\n\n/**\n * Alias for {@link vec2.subtract}\n * @function\n */\nexport const sub = subtract;\n\n/**\n * Alias for {@link vec2.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Alias for {@link vec2.divide}\n * @function\n */\nexport const div = divide;\n\n/**\n * Alias for {@link vec2.distance}\n * @function\n */\nexport const dist = distance;\n\n/**\n * Alias for {@link vec2.squaredDistance}\n * @function\n */\nexport const sqrDist = squaredDistance;\n\n/**\n * Alias for {@link vec2.squaredLength}\n * @function\n */\nexport const sqrLen = squaredLength;\n\n/**\n * Perform some operation over an array of vec2s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nexport const forEach = (function () {\n const vec = create();\n\n return function (a, stride, offset, count, fn, arg) {\n let i;\n let l;\n if (!stride) {\n stride = 2;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n }\n\n return a;\n };\n})();\n"],"file":"vec2.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec3.d.ts","sourceRoot":"","sources":["../../src/gl-matrix/vec3.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/gl-matrix/vec3.ts"],"names":["glMatrix","create","out","ARRAY_TYPE","Float32Array","clone","a","length","x","y","z","Math","sqrt","fromValues","copy","set","add","b","subtract","multiply","divide","ceil","floor","min","max","round","scale","scaleAndAdd","distance","squaredDistance","squaredLength","negate","inverse","normalize","len","dot","cross","ax","ay","az","bx","by","bz","lerp","t","slerp","angle","acos","sinTotal","sin","ratioA","ratioB","hermite","c","d","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","random","undefined","r","RANDOM","PI","zScale","cos","transformMat4","m","w","transformMat3","transformQuat","q","qx","qy","qz","qw","uvx","uvy","uvz","uuvx","uuvy","uuvz","w2","rotateX","rad","p","rotateY","rotateZ","mag","cosine","zero","str","exactEquals","equals","a0","a1","a2","b0","b1","b2","abs","EPSILON","sub","mul","div","dist","sqrDist","sqrLen","forEach","vec","stride","offset","count","fn","arg","i","l"],"mappings":"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","sourcesContent":["// @eslint-disable\n// @ts-nocheck\n\nimport * as glMatrix from './common.js';\n\n/**\n * 3 Dimensional Vector\n * @module vec3\n */\n\n/**\n * Creates a new, empty vec3\n *\n * @returns {vec3} a new 3D vector\n */\nexport function create() {\n const out = new glMatrix.ARRAY_TYPE(3);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n }\n return out;\n}\n\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {ReadonlyVec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\nexport function clone(a) {\n const out = new glMatrix.ARRAY_TYPE(3);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n\n/**\n * Calculates the length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate length of\n * @returns {Number} length of a\n */\nexport function length(a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n return Math.sqrt(x * x + y * y + z * z);\n}\n\n/**\n * Creates a new vec3 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} a new 3D vector\n */\nexport function fromValues(x, y, z) {\n const out = new glMatrix.ARRAY_TYPE(3);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n\n/**\n * Copy the values from one vec3 to another\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the source vector\n * @returns {vec3} out\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n\n/**\n * Set the components of a vec3 to the given values\n *\n * @param {vec3} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} out\n */\nexport function set(out, x, y, z) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n\n/**\n * Adds two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n return out;\n}\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n return out;\n}\n\n/**\n * Multiplies two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n return out;\n}\n\n/**\n * Divides two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n return out;\n}\n\n/**\n * Math.ceil the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to ceil\n * @returns {vec3} out\n */\nexport function ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n out[2] = Math.ceil(a[2]);\n return out;\n}\n\n/**\n * Math.floor the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to floor\n * @returns {vec3} out\n */\nexport function floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n out[2] = Math.floor(a[2]);\n return out;\n}\n\n/**\n * Returns the minimum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n return out;\n}\n\n/**\n * Returns the maximum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n return out;\n}\n\n/**\n * symmetric round the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to round\n * @returns {vec3} out\n */\nexport function round(out, a) {\n out[0] = glMatrix.round(a[0]);\n out[1] = glMatrix.round(a[1]);\n out[2] = glMatrix.round(a[2]);\n return out;\n}\n\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n return out;\n}\n\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\nexport function scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n return out;\n}\n\n/**\n * Calculates the euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} distance between a and b\n */\nexport function distance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n const z = b[2] - a[2];\n return Math.sqrt(x * x + y * y + z * z);\n}\n\n/**\n * Calculates the squared euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} squared distance between a and b\n */\nexport function squaredDistance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n const z = b[2] - a[2];\n return x * x + y * y + z * z;\n}\n\n/**\n * Calculates the squared length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nexport function squaredLength(a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n return x * x + y * y + z * z;\n}\n\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to negate\n * @returns {vec3} out\n */\nexport function negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n return out;\n}\n\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to invert\n * @returns {vec3} out\n */\nexport function inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n return out;\n}\n\n/**\n * Normalize a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to normalize\n * @returns {vec3} out\n */\nexport function normalize(out, a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n let len = x * x + y * y + z * z;\n if (len > 0) {\n // TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n out[2] = a[2] * len;\n return out;\n}\n\n/**\n * Calculates the dot product of two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} dot product of a and b\n */\nexport function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\nexport function cross(out, a, b) {\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const bx = b[0];\n const by = b[1];\n const bz = b[2];\n\n out[0] = ay * bz - az * by;\n out[1] = az * bx - ax * bz;\n out[2] = ax * by - ay * bx;\n return out;\n}\n\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\nexport function lerp(out, a, b, t) {\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n return out;\n}\n\n/**\n * Performs a spherical linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\nexport function slerp(out, a, b, t) {\n const angle = Math.acos(Math.min(Math.max(dot(a, b), -1), 1));\n const sinTotal = Math.sin(angle);\n\n const ratioA = Math.sin((1 - t) * angle) / sinTotal;\n const ratioB = Math.sin(t * angle) / sinTotal;\n out[0] = ratioA * a[0] + ratioB * b[0];\n out[1] = ratioA * a[1] + ratioB * b[1];\n out[2] = ratioA * a[2] + ratioB * b[2];\n\n return out;\n}\n\n/**\n * Performs a hermite interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\nexport function hermite(out, a, b, c, d, t) {\n const factorTimes2 = t * t;\n const factor1 = factorTimes2 * (2 * t - 3) + 1;\n const factor2 = factorTimes2 * (t - 2) + t;\n const factor3 = factorTimes2 * (t - 1);\n const factor4 = factorTimes2 * (3 - 2 * t);\n\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n\n return out;\n}\n\n/**\n * Performs a bezier interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\nexport function bezier(out, a, b, c, d, t) {\n const inverseFactor = 1 - t;\n const inverseFactorTimesTwo = inverseFactor * inverseFactor;\n const factorTimes2 = t * t;\n const factor1 = inverseFactorTimesTwo * inverseFactor;\n const factor2 = 3 * t * inverseFactorTimesTwo;\n const factor3 = 3 * factorTimes2 * inverseFactor;\n const factor4 = factorTimes2 * t;\n\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n\n return out;\n}\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec3} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If omitted, a unit vector will be returned\n * @returns {vec3} out\n */\nexport function random(out, scale) {\n scale = scale === undefined ? 1.0 : scale;\n\n const r = glMatrix.RANDOM() * 2.0 * Math.PI;\n const z = glMatrix.RANDOM() * 2.0 - 1.0;\n const zScale = Math.sqrt(1.0 - z * z) * scale;\n\n out[0] = Math.cos(r) * zScale;\n out[1] = Math.sin(r) * zScale;\n out[2] = z * scale;\n return out;\n}\n\n/**\n * Transforms the vec3 with a mat4.\n * 4th vector component is implicitly '1'\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec3} out\n */\nexport function transformMat4(out, a, m) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n let w = m[3] * x + m[7] * y + m[11] * z + m[15];\n w = w || 1.0;\n out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;\n out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;\n out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;\n return out;\n}\n\n/**\n * Transforms the vec3 with a mat3.\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat3} m the 3x3 matrix to transform with\n * @returns {vec3} out\n */\nexport function transformMat3(out, a, m) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n out[0] = x * m[0] + y * m[3] + z * m[6];\n out[1] = x * m[1] + y * m[4] + z * m[7];\n out[2] = x * m[2] + y * m[5] + z * m[8];\n return out;\n}\n\n/**\n * Transforms the vec3 with a quat\n * Can also be used for dual quaternions. (Multiply it with the real part)\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyQuat} q quaternion to transform with\n * @returns {vec3} out\n */\nexport function transformQuat(out, a, q) {\n // benchmarks: https://jsperf.com/quaternion-transform-vec3-implementations-fixed\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const qw = q[3];\n const x = a[0];\n const y = a[1];\n const z = a[2];\n // var qvec = [qx, qy, qz];\n // var uv = vec3.cross([], qvec, a);\n let uvx = qy * z - qz * y;\n let uvy = qz * x - qx * z;\n let uvz = qx * y - qy * x;\n // var uuv = vec3.cross([], qvec, uv);\n let uuvx = qy * uvz - qz * uvy;\n let uuvy = qz * uvx - qx * uvz;\n let uuvz = qx * uvy - qy * uvx;\n // vec3.scale(uv, uv, 2 * w);\n const w2 = qw * 2;\n uvx *= w2;\n uvy *= w2;\n uvz *= w2;\n // vec3.scale(uuv, uuv, 2);\n uuvx *= 2;\n uuvy *= 2;\n uuvz *= 2;\n // return vec3.add(out, a, vec3.add(out, uv, uuv));\n out[0] = x + uvx + uuvx;\n out[1] = y + uvy + uuvy;\n out[2] = z + uvz + uuvz;\n return out;\n}\n\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\nexport function rotateX(out, a, b, rad) {\n const p = [];\n const r = [];\n // Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n // perform rotation\n r[0] = p[0];\n r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);\n r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad);\n\n // translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n}\n\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\nexport function rotateY(out, a, b, rad) {\n const p = [];\n const r = [];\n // Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n // perform rotation\n r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);\n r[1] = p[1];\n r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad);\n\n // translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n}\n\n/**\n * Rotate a 3D vector around the z-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\nexport function rotateZ(out, a, b, rad) {\n const p = [];\n const r = [];\n // Translate point to the origin\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2];\n\n // perform rotation\n r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);\n r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);\n r[2] = p[2];\n\n // translate to correct position\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n\n return out;\n}\n\n/**\n * Get the angle between two 3D vectors\n * @param {ReadonlyVec3} a The first operand\n * @param {ReadonlyVec3} b The second operand\n * @returns {Number} The angle in radians\n */\nexport function angle(a, b) {\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const bx = b[0];\n const by = b[1];\n const bz = b[2];\n const mag = Math.sqrt((ax * ax + ay * ay + az * az) * (bx * bx + by * by + bz * bz));\n const cosine = mag && dot(a, b) / mag;\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n\n/**\n * Set the components of a vec3 to zero\n *\n * @param {vec3} out the receiving vector\n * @returns {vec3} out\n */\nexport function zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n out[2] = 0.0;\n return out;\n}\n\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec3} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\nexport function str(a) {\n return `vec3(${a[0]}, ${a[1]}, ${a[2]})`;\n}\n\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n}\n\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function equals(a, b) {\n const a0 = a[0];\n const a1 = a[1];\n const a2 = a[2];\n const b0 = b[0];\n const b1 = b[1];\n const b2 = b[2];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&\n Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2))\n );\n}\n\n/**\n * Alias for {@link vec3.subtract}\n * @function\n */\nexport const sub = subtract;\n\n/**\n * Alias for {@link vec3.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Alias for {@link vec3.divide}\n * @function\n */\nexport const div = divide;\n\n/**\n * Alias for {@link vec3.distance}\n * @function\n */\nexport const dist = distance;\n\n/**\n * Alias for {@link vec3.squaredDistance}\n * @function\n */\nexport const sqrDist = squaredDistance;\n\n/**\n * Alias for {@link vec3.length}\n * @function\n */\nexport const len = length;\n\n/**\n * Alias for {@link vec3.squaredLength}\n * @function\n */\nexport const sqrLen = squaredLength;\n\n/**\n * Perform some operation over an array of vec3s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nexport const forEach = (function () {\n const vec = create();\n\n return function (a, stride, offset, count, fn, arg) {\n let i;\n let l;\n if (!stride) {\n stride = 3;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n vec[2] = a[i + 2];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n a[i + 2] = vec[2];\n }\n\n return a;\n };\n})();\n"],"file":"vec3.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec4.d.ts","sourceRoot":"","sources":["../../src/gl-matrix/vec4.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/gl-matrix/vec4.ts"],"names":["glMatrix","create","out","ARRAY_TYPE","Float32Array","clone","a","fromValues","x","y","z","w","copy","set","add","b","subtract","multiply","divide","ceil","Math","floor","min","max","round","scale","scaleAndAdd","distance","sqrt","squaredDistance","length","squaredLength","negate","inverse","normalize","len","dot","cross","u","v","A","B","C","D","E","F","G","H","I","J","lerp","t","ax","ay","az","aw","random","undefined","v1","v2","v3","v4","s1","s2","RANDOM","d","transformMat4","m","transformQuat","q","qx","qy","qz","qw","ix","iy","iz","iw","zero","str","exactEquals","equals","a0","a1","a2","a3","b0","b1","b2","b3","abs","EPSILON","sub","mul","div","dist","sqrDist","sqrLen","forEach","vec","stride","offset","count","fn","arg","i","l"],"mappings":"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","sourcesContent":["// @eslint-disable\n// @ts-nocheck\n\nimport * as glMatrix from './common.js';\n\n/**\n * 4 Dimensional Vector\n * @module vec4\n */\n\n/**\n * Creates a new, empty vec4\n *\n * @returns {vec4} a new 4D vector\n */\nexport function create() {\n const out = new glMatrix.ARRAY_TYPE(4);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n }\n return out;\n}\n\n/**\n * Creates a new vec4 initialized with values from an existing vector\n *\n * @param {ReadonlyVec4} a vector to clone\n * @returns {vec4} a new 4D vector\n */\nexport function clone(a) {\n const out = new glMatrix.ARRAY_TYPE(4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\n/**\n * Creates a new vec4 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} a new 4D vector\n */\nexport function fromValues(x, y, z, w) {\n const out = new glMatrix.ARRAY_TYPE(4);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n}\n\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the source vector\n * @returns {vec4} out\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\n/**\n * Set the components of a vec4 to the given values\n *\n * @param {vec4} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} out\n */\nexport function set(out, x, y, z, w) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n}\n\n/**\n * Adds two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n return out;\n}\n\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n return out;\n}\n\n/**\n * Multiplies two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n out[3] = a[3] * b[3];\n return out;\n}\n\n/**\n * Divides two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n out[3] = a[3] / b[3];\n return out;\n}\n\n/**\n * Math.ceil the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to ceil\n * @returns {vec4} out\n */\nexport function ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n out[2] = Math.ceil(a[2]);\n out[3] = Math.ceil(a[3]);\n return out;\n}\n\n/**\n * Math.floor the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to floor\n * @returns {vec4} out\n */\nexport function floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n out[2] = Math.floor(a[2]);\n out[3] = Math.floor(a[3]);\n return out;\n}\n\n/**\n * Returns the minimum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n out[3] = Math.min(a[3], b[3]);\n return out;\n}\n\n/**\n * Returns the maximum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\nexport function max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n out[3] = Math.max(a[3], b[3]);\n return out;\n}\n\n/**\n * symmetric round the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to round\n * @returns {vec4} out\n */\nexport function round(out, a) {\n out[0] = glMatrix.round(a[0]);\n out[1] = glMatrix.round(a[1]);\n out[2] = glMatrix.round(a[2]);\n out[3] = glMatrix.round(a[3]);\n return out;\n}\n\n/**\n * Scales a vec4 by a scalar number\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec4} out\n */\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n return out;\n}\n\n/**\n * Adds two vec4's after scaling the second operand by a scalar value\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec4} out\n */\nexport function scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n return out;\n}\n\n/**\n * Calculates the euclidian distance between two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} distance between a and b\n */\nexport function distance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n const z = b[2] - a[2];\n const w = b[3] - a[3];\n return Math.sqrt(x * x + y * y + z * z + w * w);\n}\n\n/**\n * Calculates the squared euclidian distance between two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} squared distance between a and b\n */\nexport function squaredDistance(a, b) {\n const x = b[0] - a[0];\n const y = b[1] - a[1];\n const z = b[2] - a[2];\n const w = b[3] - a[3];\n return x * x + y * y + z * z + w * w;\n}\n\n/**\n * Calculates the length of a vec4\n *\n * @param {ReadonlyVec4} a vector to calculate length of\n * @returns {Number} length of a\n */\nexport function length(a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n const w = a[3];\n return Math.sqrt(x * x + y * y + z * z + w * w);\n}\n\n/**\n * Calculates the squared length of a vec4\n *\n * @param {ReadonlyVec4} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\nexport function squaredLength(a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n const w = a[3];\n return x * x + y * y + z * z + w * w;\n}\n\n/**\n * Negates the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to negate\n * @returns {vec4} out\n */\nexport function negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = -a[3];\n return out;\n}\n\n/**\n * Returns the inverse of the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to invert\n * @returns {vec4} out\n */\nexport function inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n out[3] = 1.0 / a[3];\n return out;\n}\n\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to normalize\n * @returns {vec4} out\n */\nexport function normalize(out, a) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n const w = a[3];\n let len = x * x + y * y + z * z + w * w;\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n }\n out[0] = x * len;\n out[1] = y * len;\n out[2] = z * len;\n out[3] = w * len;\n return out;\n}\n\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} dot product of a and b\n */\nexport function dot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n}\n\n/**\n * Returns the cross-product of three vectors in a 4-dimensional space\n *\n * @param {ReadonlyVec4} result the receiving vector\n * @param {ReadonlyVec4} U the first vector\n * @param {ReadonlyVec4} V the second vector\n * @param {ReadonlyVec4} W the third vector\n * @returns {vec4} result\n */\nexport function cross(out, u, v, w) {\n const A = v[0] * w[1] - v[1] * w[0];\n const B = v[0] * w[2] - v[2] * w[0];\n const C = v[0] * w[3] - v[3] * w[0];\n const D = v[1] * w[2] - v[2] * w[1];\n const E = v[1] * w[3] - v[3] * w[1];\n const F = v[2] * w[3] - v[3] * w[2];\n const G = u[0];\n const H = u[1];\n const I = u[2];\n const J = u[3];\n\n out[0] = H * F - I * E + J * D;\n out[1] = -(G * F) + I * C - J * B;\n out[2] = G * E - H * C + J * A;\n out[3] = -(G * D) + H * B - I * A;\n\n return out;\n}\n\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec4} out\n */\nexport function lerp(out, a, b, t) {\n const ax = a[0];\n const ay = a[1];\n const az = a[2];\n const aw = a[3];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n out[3] = aw + t * (b[3] - aw);\n return out;\n}\n\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec4} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If omitted, a unit vector will be returned\n * @returns {vec4} out\n */\nexport function random(out, scale) {\n scale = scale === undefined ? 1.0 : scale;\n\n // Marsaglia, George. Choosing a Point from the Surface of a\n // Sphere. Ann. Math. Statist. 43 (1972), no. 2, 645--646.\n // http://projecteuclid.org/euclid.aoms/1177692644;\n let v1;\n let v2;\n let v3;\n let v4;\n let s1;\n let s2;\n do {\n v1 = glMatrix.RANDOM() * 2 - 1;\n v2 = glMatrix.RANDOM() * 2 - 1;\n s1 = v1 * v1 + v2 * v2;\n } while (s1 >= 1);\n do {\n v3 = glMatrix.RANDOM() * 2 - 1;\n v4 = glMatrix.RANDOM() * 2 - 1;\n s2 = v3 * v3 + v4 * v4;\n } while (s2 >= 1);\n\n const d = Math.sqrt((1 - s1) / s2);\n out[0] = scale * v1;\n out[1] = scale * v2;\n out[2] = scale * v3 * d;\n out[3] = scale * v4 * d;\n return out;\n}\n\n/**\n * Transforms the vec4 with a mat4.\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec4} out\n */\nexport function transformMat4(out, a, m) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n const w = a[3];\n out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;\n out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;\n out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;\n out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;\n return out;\n}\n\n/**\n * Transforms the vec4 with a quat\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to transform\n * @param {ReadonlyQuat} q quaternion to transform with\n * @returns {vec4} out\n */\nexport function transformQuat(out, a, q) {\n const x = a[0];\n const y = a[1];\n const z = a[2];\n const qx = q[0];\n const qy = q[1];\n const qz = q[2];\n const qw = q[3];\n\n // calculate quat * vec\n const ix = qw * x + qy * z - qz * y;\n const iy = qw * y + qz * x - qx * z;\n const iz = qw * z + qx * y - qy * x;\n const iw = -qx * x - qy * y - qz * z;\n\n // calculate result * inverse quat\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n out[3] = a[3];\n return out;\n}\n\n/**\n * Set the components of a vec4 to zero\n *\n * @param {vec4} out the receiving vector\n * @returns {vec4} out\n */\nexport function zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n out[2] = 0.0;\n out[3] = 0.0;\n return out;\n}\n\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec4} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\nexport function str(a) {\n return `vec4(${a[0]}, ${a[1]}, ${a[2]}, ${a[3]})`;\n}\n\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec4} a The first vector.\n * @param {ReadonlyVec4} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n}\n\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec4} a The first vector.\n * @param {ReadonlyVec4} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\nexport function equals(a, b) {\n const a0 = a[0];\n const a1 = a[1];\n const a2 = a[2];\n const a3 = a[3];\n const b0 = b[0];\n const b1 = b[1];\n const b2 = b[2];\n const b3 = b[3];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&\n Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&\n Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3))\n );\n}\n\n/**\n * Alias for {@link vec4.subtract}\n * @function\n */\nexport const sub = subtract;\n\n/**\n * Alias for {@link vec4.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Alias for {@link vec4.divide}\n * @function\n */\nexport const div = divide;\n\n/**\n * Alias for {@link vec4.distance}\n * @function\n */\nexport const dist = distance;\n\n/**\n * Alias for {@link vec4.squaredDistance}\n * @function\n */\nexport const sqrDist = squaredDistance;\n\n/**\n * Alias for {@link vec4.length}\n * @function\n */\nexport const len = length;\n\n/**\n * Alias for {@link vec4.squaredLength}\n * @function\n */\nexport const sqrLen = squaredLength;\n\n/**\n * Perform some operation over an array of vec4s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\nexport const forEach = (function () {\n const vec = create();\n\n return function (a, stride, offset, count, fn, arg) {\n let i;\n let l;\n if (!stride) {\n stride = 4;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n vec[2] = a[i + 2];\n vec[3] = a[i + 3];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n a[i + 2] = vec[2];\n a[i + 3] = vec[3];\n }\n\n return a;\n };\n})();\n"],"file":"vec4.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gl-matrix/wip/index.js"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/gl-matrix/wip/index.js"],"names":["glMatrix","mat2","mat2d","mat3","mat4","quat","quat2","vec2","vec3","vec4"],"mappings":"AAGA,OAAO,KAAKA,QAAZ,MAA0B,aAA1B;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,KAAZ,MAAuB,YAAvB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,KAAZ,MAAuB,YAAvB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AACA,OAAO,KAAKC,IAAZ,MAAsB,WAAtB;AAEA,SAAQT,QAAR,EAAkBC,IAAlB,EAAwBC,KAAxB,EAA+BC,IAA/B,EAAqCC,IAArC,EAA2CC,IAA3C,EAAiDC,KAAjD,EAAwDC,IAAxD,EAA8DC,IAA9D,EAAoEC,IAApE","sourcesContent":["// @eslint-disable\n// @ts-nocheck\n\nimport * as glMatrix from './common.js';\nimport * as mat2 from './mat2.js';\nimport * as mat2d from './mat2d.js';\nimport * as mat3 from './mat3.js';\nimport * as mat4 from './mat4.js';\nimport * as quat from './quat.js';\nimport * as quat2 from './quat2.js';\nimport * as vec2 from './vec2.js';\nimport * as vec3 from './vec3.js';\nimport * as vec4 from './vec4.js';\n\nexport {glMatrix, mat2, mat2d, mat3, mat4, quat, quat2, vec2, vec3, vec4};\n"],"file":"index.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mat2.d.ts","sourceRoot":"","sources":["../../../src/gl-matrix/wip/mat2.js"],"names":[],"mappings":"AAKA;;;GAGG;AAEH;;;;GAIG;AACH,0BAFa,IAAI,CAWhB;AAED;;;;;GAKG;AACH,yBAHW,YAAY,GACV,IAAI,CAShB;AAED;;;;;;GAMG;AACH,0BAJW,IAAI,KACJ,YAAY,GACV,IAAI,CAQhB;AAED;;;;;GAKG;AACH,8BAHW,IAAI,GACF,IAAI,CAQhB;AAED;;;;;;;;GAQG;AACH,gFAFa,IAAI,CAShB;AAED;;;;;;;;;GASG;AACH,yBAPW,IAAI,uDAKF,IAAI,CAQhB;AAED;;;;;;GAMG;AACH,+BAJW,IAAI,KACJ,YAAY,GACV,IAAI,CAiBhB;AAED;;;;;;GAMG;AACH,4BAJW,IAAI,KACJ,YAAY,GACV,IAAI,CAsBhB;AAED;;;;;;GAMG;AACH,6BAJW,IAAI,KACJ,YAAY,GACV,IAAI,CAWhB;AAED;;;;;GAKG;AACH,+BAHW,YAAY,UAKtB;AAED;;;;;;;GAOG;AACH,8BALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAgBhB;AAED;;;;;;;GAOG;AACH,4BALW,IAAI,KACJ,YAAY,gBAEV,IAAI,CAchB;AAED;;;;;;;IAOI;AACJ,2BALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAchB;AAED;;;;;;;;;;GAUG;AACH,kCAJW,IAAI,gBAEF,IAAI,CAUhB;AAED;;;;;;;;;;GAUG;AACH,iCAJW,IAAI,KACJ,YAAY,GACV,IAAI,CAQhB;AAED;;;;;GAKG;AACH,uBAHW,YAAY,UAKtB;AAED;;;;;GAKG;AACH,wBAHW,YAAY,UAKtB;AAED;;;;;;GAMG;AAEH,uBANW,YAAY,KACZ,YAAY,KACZ,YAAY,KACZ,YAAY,kBAStB;AAED;;;;;;;GAOG;AACH,yBALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAQhB;AAED;;;;;;;GAOG;AACH,8BALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAQhB;AAED;;;;;;GAMG;AACH,+BAJW,YAAY,KACZ,YAAY,WAKtB;AAED;;;;;;GAMG;AACH,0BAJW,YAAY,KACZ,YAAY,WAkBtB;AAED;;;;;;;GAOG;AACH,oCALW,IAAI,KACJ,YAAY,cAEV,IAAI,CAQhB;AAED;;;;;;;;GAQG;AACH,0CANW,IAAI,KACJ,YAAY,KACZ,YAAY,kBAEV,IAAI,CAQhB;AAlPD;;;;;;;GAOG;AACH,yBALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAgBhB;AA0ID;;;;;;;GAOG;AACH,yBALW,IAAI,KACJ,YAAY,KACZ,YAAY,GACV,IAAI,CAQhB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/gl-matrix/wip/mat2.js"],"names":["glMatrix","create","out","ARRAY_TYPE","Float32Array","clone","a","copy","identity","fromValues","m00","m01","m10","m11","set","transpose","a1","invert","a0","a2","a3","det","adjoint","determinant","multiply","b","b0","b1","b2","b3","rotate","rad","s","Math","sin","c","cos","scale","v","v0","v1","fromRotation","fromScaling","str","frob","sqrt","LDU","L","D","U","add","subtract","exactEquals","equals","abs","EPSILON","max","multiplyScalar","multiplyScalarAndAdd","mul","sub"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport * as glMatrix from './common.js';\n\n/**\n * 2x2 Matrix\n * @module mat2\n */\n\n/**\n * Creates a new identity mat2\n *\n * @returns {mat2} a new 2x2 matrix\n */\nexport function create() {\n let out = new glMatrix.ARRAY_TYPE(4);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n }\n out[0] = 1;\n out[3] = 1;\n return out;\n}\n\n/**\n * Creates a new mat2 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat2} a matrix to clone\n * @returns {mat2} a new 2x2 matrix\n */\nexport function clone(a) {\n let out = new glMatrix.ARRAY_TYPE(4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\n/**\n * Copy the values from one mat2 to another\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n\n/**\n * Set a mat2 to the identity matrix\n *\n * @param {mat2} out the receiving matrix\n * @returns {mat2} out\n */\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n}\n\n/**\n * Create a new mat2 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m10 Component in column 1, row 0 position (index 2)\n * @param {Number} m11 Component in column 1, row 1 position (index 3)\n * @returns {mat2} out A new 2x2 matrix\n */\nexport function fromValues(m00, m01, m10, m11) {\n let out = new glMatrix.ARRAY_TYPE(4);\n out[0] = m00;\n out[1] = m01;\n out[2] = m10;\n out[3] = m11;\n return out;\n}\n\n/**\n * Set the components of a mat2 to the given values\n *\n * @param {mat2} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m10 Component in column 1, row 0 position (index 2)\n * @param {Number} m11 Component in column 1, row 1 position (index 3)\n * @returns {mat2} out\n */\nexport function set(out, m00, m01, m10, m11) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m10;\n out[3] = m11;\n return out;\n}\n\n/**\n * Transpose the values of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\nexport function transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache\n // some values\n if (out === a) {\n let a1 = a[1];\n out[1] = a[2];\n out[2] = a1;\n } else {\n out[0] = a[0];\n out[1] = a[2];\n out[2] = a[1];\n out[3] = a[3];\n }\n\n return out;\n}\n\n/**\n * Inverts a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\nexport function invert(out, a) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n\n // Calculate the determinant\n let det = a0 * a3 - a2 * a1;\n\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = a3 * det;\n out[1] = -a1 * det;\n out[2] = -a2 * det;\n out[3] = a0 * det;\n\n return out;\n}\n\n/**\n * Calculates the adjugate of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\nexport function adjoint(out, a) {\n // Caching this value is necessary if out == a\n let a0 = a[0];\n out[0] = a[3];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a0;\n\n return out;\n}\n\n/**\n * Calculates the determinant of a mat2\n *\n * @param {ReadonlyMat2} a the source matrix\n * @returns {Number} determinant of a\n */\nexport function determinant(a) {\n return a[0] * a[3] - a[2] * a[1];\n}\n\n/**\n * Multiplies two mat2's\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\nexport function multiply(out, a, b) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n let b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n return out;\n}\n\n/**\n * Rotates a mat2 by the given angle\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2} out\n */\nexport function rotate(out, a, rad) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n let s = Math.sin(rad);\n let c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n return out;\n}\n\n/**\n * Scales the mat2 by the dimensions in the given vec2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat2} out\n **/\nexport function scale(out, a, v) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n let v0 = v[0],\n v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n return out;\n}\n\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat2.identity(dest);\n * mat2.rotate(dest, dest, rad);\n *\n * @param {mat2} out mat2 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2} out\n */\nexport function fromRotation(out, rad) {\n let s = Math.sin(rad);\n let c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = -s;\n out[3] = c;\n return out;\n}\n\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat2.identity(dest);\n * mat2.scale(dest, dest, vec);\n *\n * @param {mat2} out mat2 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat2} out\n */\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = v[1];\n return out;\n}\n\n/**\n * Returns a string representation of a mat2\n *\n * @param {ReadonlyMat2} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\nexport function str(a) {\n return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')';\n}\n\n/**\n * Returns Frobenius norm of a mat2\n *\n * @param {ReadonlyMat2} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nexport function frob(a) {\n return Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3]);\n}\n\n/**\n * Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix\n * @param {ReadonlyMat2} L the lower triangular matrix\n * @param {ReadonlyMat2} D the diagonal matrix\n * @param {ReadonlyMat2} U the upper triangular matrix\n * @param {ReadonlyMat2} a the input matrix to factorize\n */\n\nexport function LDU(L, D, U, a) {\n L[2] = a[2] / a[0];\n U[0] = a[0];\n U[1] = a[1];\n U[3] = a[3] - L[2] * U[1];\n return [L, D, U];\n}\n\n/**\n * Adds two mat2's\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n return out;\n}\n\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n return out;\n}\n\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat2} a The first matrix.\n * @param {ReadonlyMat2} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n}\n\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat2} a The first matrix.\n * @param {ReadonlyMat2} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\nexport function equals(a, b) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n let b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&\n Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&\n Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3))\n );\n}\n\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat2} out\n */\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n return out;\n}\n\n/**\n * Adds two mat2's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat2} out the receiving vector\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat2} out\n */\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n return out;\n}\n\n/**\n * Alias for {@link mat2.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Alias for {@link mat2.subtract}\n * @function\n */\nexport const sub = subtract;\n"],"file":"mat2.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mat2d.d.ts","sourceRoot":"","sources":["../../../src/gl-matrix/wip/mat2d.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,0BAFa,KAAK,CAajB;AAED;;;;;GAKG;AACH,yBAHW,aAAa,GACX,KAAK,CAWjB;AAED;;;;;;GAMG;AACH,0BAJW,KAAK,KACL,aAAa,GACX,KAAK,CAUjB;AAED;;;;;GAKG;AACH,8BAHW,KAAK,GACH,KAAK,CAUjB;AAED;;;;;;;;;;GAUG;AACH,gGAFa,KAAK,CAWjB;AAED;;;;;;;;;;;GAWG;AACH,yBATW,KAAK,uEAOH,KAAK,CAUjB;AAED;;;;;;GAMG;AACH,4BAJW,KAAK,KACL,aAAa,GACX,KAAK,CAuBjB;AAED;;;;;GAKG;AACH,+BAHW,aAAa,UAKvB;AAED;;;;;;;GAOG;AACH,8BALW,KAAK,KACL,aAAa,KACb,aAAa,GACX,KAAK,CAsBjB;AAED;;;;;;;GAOG;AACH,4BALW,KAAK,KACL,aAAa,gBAEX,KAAK,CAkBjB;AAED;;;;;;;IAOI;AACJ,2BALW,KAAK,KACL,aAAa,KACb,YAAY,GACV,KAAK,CAkBjB;AAED;;;;;;;IAOI;AACJ,+BALW,KAAK,KACL,aAAa,KACb,YAAY,GACV,KAAK,CAkBjB;AAED;;;;;;;;;;GAUG;AACH,kCAJW,KAAK,gBAEH,KAAK,CAYjB;AAED;;;;;;;;;;GAUG;AACH,iCAJW,KAAK,KACL,YAAY,GACV,KAAK,CAUjB;AAED;;;;;;;;;;GAUG;AACH,qCAJW,KAAK,KACL,YAAY,GACV,KAAK,CAUjB;AAED;;;;;GAKG;AACH,uBAHW,aAAa,UAOvB;AAED;;;;;GAKG;AACH,wBAHW,aAAa,UAOvB;AAED;;;;;;;GAOG;AACH,yBALW,KAAK,KACL,aAAa,KACb,aAAa,GACX,KAAK,CAUjB;AAED;;;;;;;GAOG;AACH,8BALW,KAAK,KACL,aAAa,KACb,aAAa,GACX,KAAK,CAUjB;AAED;;;;;;;GAOG;AACH,oCALW,KAAK,KACL,aAAa,cAEX,KAAK,CAUjB;AAED;;;;;;;;GAQG;AACH,0CANW,KAAK,KACL,aAAa,KACb,aAAa,kBAEX,KAAK,CAUjB;AAED;;;;;;GAMG;AACH,+BAJW,aAAa,KACb,aAAa,WAYvB;AAED;;;;;;GAMG;AACH,0BAJW,aAAa,KACb,aAAa,WAwBvB;AA5TD;;;;;;;GAOG;AACH,yBALW,KAAK,KACL,aAAa,KACb,aAAa,GACX,KAAK,CAsBjB;AA2LD;;;;;;;GAOG;AACH,yBALW,KAAK,KACL,aAAa,KACb,aAAa,GACX,KAAK,CAUjB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/gl-matrix/wip/mat2d.js"],"names":["glMatrix","create","out","ARRAY_TYPE","Float32Array","clone","a","copy","identity","fromValues","b","c","d","tx","ty","set","invert","aa","ab","ac","ad","atx","aty","det","determinant","multiply","a0","a1","a2","a3","a4","a5","b0","b1","b2","b3","b4","b5","rotate","rad","s","Math","sin","cos","scale","v","v0","v1","translate","fromRotation","fromScaling","fromTranslation","str","frob","sqrt","add","subtract","multiplyScalar","multiplyScalarAndAdd","exactEquals","equals","abs","EPSILON","max","mul","sub"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport * as glMatrix from './common.js';\n\n/**\n * 2x3 Matrix\n * @module mat2d\n * @description\n * A mat2d contains six elements defined as:\n * <pre>\n * [a, b,\n * c, d,\n * tx, ty]\n * </pre>\n * This is a short form for the 3x3 matrix:\n * <pre>\n * [a, b, 0,\n * c, d, 0,\n * tx, ty, 1]\n * </pre>\n * The last column is ignored so the array is shorter and operations are faster.\n */\n\n/**\n * Creates a new identity mat2d\n *\n * @returns {mat2d} a new 2x3 matrix\n */\nexport function create() {\n let out = new glMatrix.ARRAY_TYPE(6);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[4] = 0;\n out[5] = 0;\n }\n out[0] = 1;\n out[3] = 1;\n return out;\n}\n\n/**\n * Creates a new mat2d initialized with values from an existing matrix\n *\n * @param {ReadonlyMat2d} a matrix to clone\n * @returns {mat2d} a new 2x3 matrix\n */\nexport function clone(a) {\n let out = new glMatrix.ARRAY_TYPE(6);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n}\n\n/**\n * Copy the values from one mat2d to another\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {mat2d} out\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n}\n\n/**\n * Set a mat2d to the identity matrix\n *\n * @param {mat2d} out the receiving matrix\n * @returns {mat2d} out\n */\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n\n/**\n * Create a new mat2d with the given values\n *\n * @param {Number} a Component A (index 0)\n * @param {Number} b Component B (index 1)\n * @param {Number} c Component C (index 2)\n * @param {Number} d Component D (index 3)\n * @param {Number} tx Component TX (index 4)\n * @param {Number} ty Component TY (index 5)\n * @returns {mat2d} A new mat2d\n */\nexport function fromValues(a, b, c, d, tx, ty) {\n let out = new glMatrix.ARRAY_TYPE(6);\n out[0] = a;\n out[1] = b;\n out[2] = c;\n out[3] = d;\n out[4] = tx;\n out[5] = ty;\n return out;\n}\n\n/**\n * Set the components of a mat2d to the given values\n *\n * @param {mat2d} out the receiving matrix\n * @param {Number} a Component A (index 0)\n * @param {Number} b Component B (index 1)\n * @param {Number} c Component C (index 2)\n * @param {Number} d Component D (index 3)\n * @param {Number} tx Component TX (index 4)\n * @param {Number} ty Component TY (index 5)\n * @returns {mat2d} out\n */\nexport function set(out, a, b, c, d, tx, ty) {\n out[0] = a;\n out[1] = b;\n out[2] = c;\n out[3] = d;\n out[4] = tx;\n out[5] = ty;\n return out;\n}\n\n/**\n * Inverts a mat2d\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {mat2d} out\n */\nexport function invert(out, a) {\n let aa = a[0],\n ab = a[1],\n ac = a[2],\n ad = a[3];\n let atx = a[4],\n aty = a[5];\n\n let det = aa * ad - ab * ac;\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n\n/**\n * Calculates the determinant of a mat2d\n *\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {Number} determinant of a\n */\nexport function determinant(a) {\n return a[0] * a[3] - a[1] * a[2];\n}\n\n/**\n * Multiplies two mat2d's\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\nexport function multiply(out, a, b) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n let b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n out[4] = a0 * b4 + a2 * b5 + a4;\n out[5] = a1 * b4 + a3 * b5 + a5;\n return out;\n}\n\n/**\n * Rotates a mat2d by the given angle\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2d} out\n */\nexport function rotate(out, a, rad) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n let s = Math.sin(rad);\n let c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n out[4] = a4;\n out[5] = a5;\n return out;\n}\n\n/**\n * Scales the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to translate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat2d} out\n **/\nexport function scale(out, a, v) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n let v0 = v[0],\n v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n out[4] = a4;\n out[5] = a5;\n return out;\n}\n\n/**\n * Translates the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to translate\n * @param {ReadonlyVec2} v the vec2 to translate the matrix by\n * @returns {mat2d} out\n **/\nexport function translate(out, a, v) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n let v0 = v[0],\n v1 = v[1];\n out[0] = a0;\n out[1] = a1;\n out[2] = a2;\n out[3] = a3;\n out[4] = a0 * v0 + a2 * v1 + a4;\n out[5] = a1 * v0 + a3 * v1 + a5;\n return out;\n}\n\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.rotate(dest, dest, rad);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2d} out\n */\nexport function fromRotation(out, rad) {\n let s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = -s;\n out[3] = c;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.scale(dest, dest, vec);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat2d} out\n */\nexport function fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = v[1];\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.translate(dest, dest, vec);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat2d} out\n */\nexport function fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = v[0];\n out[5] = v[1];\n return out;\n}\n\n/**\n * Returns a string representation of a mat2d\n *\n * @param {ReadonlyMat2d} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\nexport function str(a) {\n return (\n 'mat2d(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ')'\n );\n}\n\n/**\n * Returns Frobenius norm of a mat2d\n *\n * @param {ReadonlyMat2d} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\nexport function frob(a) {\n return Math.sqrt(\n a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3] + a[4] * a[4] + a[5] * a[5] + 1\n );\n}\n\n/**\n * Adds two mat2d's\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n return out;\n}\n\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\nexport function subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n return out;\n}\n\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat2d} out\n */\nexport function multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n return out;\n}\n\n/**\n * Adds two mat2d's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat2d} out the receiving vector\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat2d} out\n */\nexport function multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n return out;\n}\n\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat2d} a The first matrix.\n * @param {ReadonlyMat2d} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return (\n a[0] === b[0] &&\n a[1] === b[1] &&\n a[2] === b[2] &&\n a[3] === b[3] &&\n a[4] === b[4] &&\n a[5] === b[5]\n );\n}\n\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat2d} a The first matrix.\n * @param {ReadonlyMat2d} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\nexport function equals(a, b) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n let b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&\n Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&\n Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) &&\n Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) &&\n Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5))\n );\n}\n\n/**\n * Alias for {@link mat2d.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Alias for {@link mat2d.subtract}\n * @function\n */\nexport const sub = subtract;\n"],"file":"mat2d.js"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"quat2.d.ts","sourceRoot":"","sources":["../../../src/gl-matrix/wip/quat2.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/gl-matrix/wip/quat2.ts"],"names":["glMatrix","quat","mat4","create","dq","ARRAY_TYPE","Float32Array","clone","a","fromValues","x1","y1","z1","w1","x2","y2","z2","w2","fromRotationTranslationValues","ax","ay","az","fromRotationTranslation","out","q","t","bx","by","bz","bw","fromTranslation","fromRotation","fromMat4","outer","getRotation","getTranslation","copy","identity","set","getReal","getDual","setReal","setDual","aw","translate","v","ax1","ay1","az1","aw1","bx1","by1","bz1","ax2","ay2","az2","aw2","rotateX","rad","rotateY","rotateZ","rotateByQuatAppend","qx","qy","qz","qw","rotateByQuatPrepend","rotateAroundAxis","axis","Math","abs","EPSILON","axisLength","sqrt","s","sin","cos","add","b","multiply","ax0","ay0","az0","aw0","bw1","bx0","by0","bz0","bw0","mul","scale","dot","lerp","mt","invert","sqlen","squaredLength","conjugate","length","len","sqrLen","normalize","magnitude","a0","a1","a2","a3","b0","b1","b2","b3","a_dot_b","str","exactEquals","equals","a4","a5","a6","a7","b4","b5","b6","b7","max"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/* eslint-disable */\nimport * as glMatrix from './common.js';\nimport * as quat from './quat.js';\nimport * as mat4 from './mat4.js';\n\n/**\n * Dual Quaternion<br>\n * Format: [real, dual]<br>\n * Quaternion format: XYZW<br>\n * Make sure to have normalized dual quaternions, otherwise the functions may not work as intended.<br>\n * @module quat2\n */\n\n/**\n * Creates a new identity dual quat\n *\n * @returns {quat2} a new dual quaternion [real -> rotation, dual -> translation]\n */\nexport function create() {\n let dq = new glMatrix.ARRAY_TYPE(8);\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n dq[0] = 0;\n dq[1] = 0;\n dq[2] = 0;\n dq[4] = 0;\n dq[5] = 0;\n dq[6] = 0;\n dq[7] = 0;\n }\n dq[3] = 1;\n return dq;\n}\n\n/**\n * Creates a new quat initialized with values from an existing quaternion\n *\n * @param {ReadonlyQuat2} a dual quaternion to clone\n * @returns {quat2} new dual quaternion\n * @function\n */\nexport function clone(a) {\n let dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = a[0];\n dq[1] = a[1];\n dq[2] = a[2];\n dq[3] = a[3];\n dq[4] = a[4];\n dq[5] = a[5];\n dq[6] = a[6];\n dq[7] = a[7];\n return dq;\n}\n\n/**\n * Creates a new dual quat initialized with the given values\n *\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component\n * @param {Number} y2 Y component\n * @param {Number} z2 Z component\n * @param {Number} w2 W component\n * @returns {quat2} new dual quaternion\n * @function\n */\nexport function fromValues(x1, y1, z1, w1, x2, y2, z2, w2) {\n let dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = x1;\n dq[1] = y1;\n dq[2] = z1;\n dq[3] = w1;\n dq[4] = x2;\n dq[5] = y2;\n dq[6] = z2;\n dq[7] = w2;\n return dq;\n}\n\n/**\n * Creates a new dual quat from the given values (quat and translation)\n *\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component (translation)\n * @param {Number} y2 Y component (translation)\n * @param {Number} z2 Z component (translation)\n * @returns {quat2} new dual quaternion\n * @function\n */\nexport function fromRotationTranslationValues(x1, y1, z1, w1, x2, y2, z2) {\n let dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = x1;\n dq[1] = y1;\n dq[2] = z1;\n dq[3] = w1;\n let ax = x2 * 0.5,\n ay = y2 * 0.5,\n az = z2 * 0.5;\n dq[4] = ax * w1 + ay * z1 - az * y1;\n dq[5] = ay * w1 + az * x1 - ax * z1;\n dq[6] = az * w1 + ax * y1 - ay * x1;\n dq[7] = -ax * x1 - ay * y1 - az * z1;\n return dq;\n}\n\n/**\n * Creates a dual quat from a quaternion and a translation\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyQuat} q a normalized quaternion\n * @param {ReadonlyVec3} t translation vector\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\nexport function fromRotationTranslation(out, q, t) {\n let ax = t[0] * 0.5,\n ay = t[1] * 0.5,\n az = t[2] * 0.5,\n bx = q[0],\n by = q[1],\n bz = q[2],\n bw = q[3];\n out[0] = bx;\n out[1] = by;\n out[2] = bz;\n out[3] = bw;\n out[4] = ax * bw + ay * bz - az * by;\n out[5] = ay * bw + az * bx - ax * bz;\n out[6] = az * bw + ax * by - ay * bx;\n out[7] = -ax * bx - ay * by - az * bz;\n return out;\n}\n\n/**\n * Creates a dual quat from a translation\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyVec3} t translation vector\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\nexport function fromTranslation(out, t) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = t[0] * 0.5;\n out[5] = t[1] * 0.5;\n out[6] = t[2] * 0.5;\n out[7] = 0;\n return out;\n}\n\n/**\n * Creates a dual quat from a quaternion\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyQuat} q the quaternion\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\nexport function fromRotation(out, q) {\n out[0] = q[0];\n out[1] = q[1];\n out[2] = q[2];\n out[3] = q[3];\n out[4] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n return out;\n}\n\n/**\n * Creates a new dual quat from a matrix (4x4)\n *\n * @param {quat2} out the dual quaternion\n * @param {ReadonlyMat4} a the matrix\n * @returns {quat2} dual quat receiving operation result\n * @function\n */\nexport function fromMat4(out, a) {\n //TODO Optimize this\n let outer = quat.create();\n mat4.getRotation(outer, a);\n let t = new glMatrix.ARRAY_TYPE(3);\n mat4.getTranslation(t, a);\n fromRotationTranslation(out, outer, t);\n return out;\n}\n\n/**\n * Copy the values from one dual quat to another\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the source dual quaternion\n * @returns {quat2} out\n * @function\n */\nexport function copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n return out;\n}\n\n/**\n * Set a dual quat to the identity dual quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @returns {quat2} out\n */\nexport function identity(out) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n return out;\n}\n\n/**\n * Set the components of a dual quat to the given values\n *\n * @param {quat2} out the receiving quaternion\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component\n * @param {Number} y2 Y component\n * @param {Number} z2 Z component\n * @param {Number} w2 W component\n * @returns {quat2} out\n * @function\n */\nexport function set(out, x1, y1, z1, w1, x2, y2, z2, w2) {\n out[0] = x1;\n out[1] = y1;\n out[2] = z1;\n out[3] = w1;\n\n out[4] = x2;\n out[5] = y2;\n out[6] = z2;\n out[7] = w2;\n return out;\n}\n\n/**\n * Gets the real part of a dual quat\n * @param {quat} out real part\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @return {quat} real part\n */\nexport const getReal = quat.copy;\n\n/**\n * Gets the dual part of a dual quat\n * @param {quat} out dual part\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @return {quat} dual part\n */\nexport function getDual(out, a) {\n out[0] = a[4];\n out[1] = a[5];\n out[2] = a[6];\n out[3] = a[7];\n return out;\n}\n\n/**\n * Set the real component of a dual quat to the given quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat} q a quaternion representing the real part\n * @returns {quat2} out\n * @function\n */\nexport const setReal = quat.copy;\n\n/**\n * Set the dual component of a dual quat to the given quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat} q a quaternion representing the dual part\n * @returns {quat2} out\n * @function\n */\nexport function setDual(out, q) {\n out[4] = q[0];\n out[5] = q[1];\n out[6] = q[2];\n out[7] = q[3];\n return out;\n}\n\n/**\n * Gets the translation of a normalized dual quat\n * @param {vec3} out translation\n * @param {ReadonlyQuat2} a Dual Quaternion to be decomposed\n * @return {vec3} translation\n */\nexport function getTranslation(out, a) {\n let ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3];\n out[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;\n out[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;\n out[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;\n return out;\n}\n\n/**\n * Translates a dual quat by the given vector\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to translate\n * @param {ReadonlyVec3} v vector to translate by\n * @returns {quat2} out\n */\nexport function translate(out, a, v) {\n let ax1 = a[0],\n ay1 = a[1],\n az1 = a[2],\n aw1 = a[3],\n bx1 = v[0] * 0.5,\n by1 = v[1] * 0.5,\n bz1 = v[2] * 0.5,\n ax2 = a[4],\n ay2 = a[5],\n az2 = a[6],\n aw2 = a[7];\n out[0] = ax1;\n out[1] = ay1;\n out[2] = az1;\n out[3] = aw1;\n out[4] = aw1 * bx1 + ay1 * bz1 - az1 * by1 + ax2;\n out[5] = aw1 * by1 + az1 * bx1 - ax1 * bz1 + ay2;\n out[6] = aw1 * bz1 + ax1 * by1 - ay1 * bx1 + az2;\n out[7] = -ax1 * bx1 - ay1 * by1 - az1 * bz1 + aw2;\n return out;\n}\n\n/**\n * Rotates a dual quat around the X axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\nexport function rotateX(out, a, rad) {\n let bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateX(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n\n/**\n * Rotates a dual quat around the Y axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\nexport function rotateY(out, a, rad) {\n let bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateY(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n\n/**\n * Rotates a dual quat around the Z axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\nexport function rotateZ(out, a, rad) {\n let bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateZ(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n\n/**\n * Rotates a dual quat by a given quaternion (a * q)\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {ReadonlyQuat} q quaternion to rotate by\n * @returns {quat2} out\n */\nexport function rotateByQuatAppend(out, a, q) {\n let qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3],\n ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n\n out[0] = ax * qw + aw * qx + ay * qz - az * qy;\n out[1] = ay * qw + aw * qy + az * qx - ax * qz;\n out[2] = az * qw + aw * qz + ax * qy - ay * qx;\n out[3] = aw * qw - ax * qx - ay * qy - az * qz;\n ax = a[4];\n ay = a[5];\n az = a[6];\n aw = a[7];\n out[4] = ax * qw + aw * qx + ay * qz - az * qy;\n out[5] = ay * qw + aw * qy + az * qx - ax * qz;\n out[6] = az * qw + aw * qz + ax * qy - ay * qx;\n out[7] = aw * qw - ax * qx - ay * qy - az * qz;\n return out;\n}\n\n/**\n * Rotates a dual quat by a given quaternion (q * a)\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat} q quaternion to rotate by\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @returns {quat2} out\n */\nexport function rotateByQuatPrepend(out, q, a) {\n let qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3],\n bx = a[0],\n by = a[1],\n bz = a[2],\n bw = a[3];\n\n out[0] = qx * bw + qw * bx + qy * bz - qz * by;\n out[1] = qy * bw + qw * by + qz * bx - qx * bz;\n out[2] = qz * bw + qw * bz + qx * by - qy * bx;\n out[3] = qw * bw - qx * bx - qy * by - qz * bz;\n bx = a[4];\n by = a[5];\n bz = a[6];\n bw = a[7];\n out[4] = qx * bw + qw * bx + qy * bz - qz * by;\n out[5] = qy * bw + qw * by + qz * bx - qx * bz;\n out[6] = qz * bw + qw * bz + qx * by - qy * bx;\n out[7] = qw * bw - qx * bx - qy * by - qz * bz;\n return out;\n}\n\n/**\n * Rotates a dual quat around a given axis. Does the normalisation automatically\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @param {Number} rad how far the rotation should be\n * @returns {quat2} out\n */\nexport function rotateAroundAxis(out, a, axis, rad) {\n //Special case for rad = 0\n if (Math.abs(rad) < glMatrix.EPSILON) {\n return copy(out, a);\n }\n let axisLength = Math.sqrt(axis[0] * axis[0] + axis[1] * axis[1] + axis[2] * axis[2]);\n\n rad = rad * 0.5;\n let s = Math.sin(rad);\n let bx = (s * axis[0]) / axisLength;\n let by = (s * axis[1]) / axisLength;\n let bz = (s * axis[2]) / axisLength;\n let bw = Math.cos(rad);\n\n let ax1 = a[0],\n ay1 = a[1],\n az1 = a[2],\n aw1 = a[3];\n out[0] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[1] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[2] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[3] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n\n let ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7];\n out[4] = ax * bw + aw * bx + ay * bz - az * by;\n out[5] = ay * bw + aw * by + az * bx - ax * bz;\n out[6] = az * bw + aw * bz + ax * by - ay * bx;\n out[7] = aw * bw - ax * bx - ay * by - az * bz;\n\n return out;\n}\n\n/**\n * Adds two dual quat's\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {quat2} out\n * @function\n */\nexport function add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n return out;\n}\n\n/**\n * Multiplies two dual quat's\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {quat2} out\n */\nexport function multiply(out, a, b) {\n let ax0 = a[0],\n ay0 = a[1],\n az0 = a[2],\n aw0 = a[3],\n bx1 = b[4],\n by1 = b[5],\n bz1 = b[6],\n bw1 = b[7],\n ax1 = a[4],\n ay1 = a[5],\n az1 = a[6],\n aw1 = a[7],\n bx0 = b[0],\n by0 = b[1],\n bz0 = b[2],\n bw0 = b[3];\n out[0] = ax0 * bw0 + aw0 * bx0 + ay0 * bz0 - az0 * by0;\n out[1] = ay0 * bw0 + aw0 * by0 + az0 * bx0 - ax0 * bz0;\n out[2] = az0 * bw0 + aw0 * bz0 + ax0 * by0 - ay0 * bx0;\n out[3] = aw0 * bw0 - ax0 * bx0 - ay0 * by0 - az0 * bz0;\n out[4] =\n ax0 * bw1 + aw0 * bx1 + ay0 * bz1 - az0 * by1 + ax1 * bw0 + aw1 * bx0 + ay1 * bz0 - az1 * by0;\n out[5] =\n ay0 * bw1 + aw0 * by1 + az0 * bx1 - ax0 * bz1 + ay1 * bw0 + aw1 * by0 + az1 * bx0 - ax1 * bz0;\n out[6] =\n az0 * bw1 + aw0 * bz1 + ax0 * by1 - ay0 * bx1 + az1 * bw0 + aw1 * bz0 + ax1 * by0 - ay1 * bx0;\n out[7] =\n aw0 * bw1 - ax0 * bx1 - ay0 * by1 - az0 * bz1 + aw1 * bw0 - ax1 * bx0 - ay1 * by0 - az1 * bz0;\n return out;\n}\n\n/**\n * Alias for {@link quat2.multiply}\n * @function\n */\nexport const mul = multiply;\n\n/**\n * Scales a dual quat by a scalar number\n *\n * @param {quat2} out the receiving dual quat\n * @param {ReadonlyQuat2} a the dual quat to scale\n * @param {Number} b amount to scale the dual quat by\n * @returns {quat2} out\n * @function\n */\nexport function scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n return out;\n}\n\n/**\n * Calculates the dot product of two dual quat's (The dot product of the real parts)\n *\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {Number} dot product of a and b\n * @function\n */\nexport const dot = quat.dot;\n\n/**\n * Performs a linear interpolation between two dual quats's\n * NOTE: The resulting dual quaternions won't always be normalized (The error is most noticeable when t = 0.5)\n *\n * @param {quat2} out the receiving dual quat\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {quat2} out\n */\nexport function lerp(out, a, b, t) {\n let mt = 1 - t;\n if (dot(a, b) < 0) t = -t;\n\n out[0] = a[0] * mt + b[0] * t;\n out[1] = a[1] * mt + b[1] * t;\n out[2] = a[2] * mt + b[2] * t;\n out[3] = a[3] * mt + b[3] * t;\n out[4] = a[4] * mt + b[4] * t;\n out[5] = a[5] * mt + b[5] * t;\n out[6] = a[6] * mt + b[6] * t;\n out[7] = a[7] * mt + b[7] * t;\n\n return out;\n}\n\n/**\n * Calculates the inverse of a dual quat. If they are normalized, conjugate is cheaper\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a dual quat to calculate inverse of\n * @returns {quat2} out\n */\nexport function invert(out, a) {\n let sqlen = squaredLength(a);\n out[0] = -a[0] / sqlen;\n out[1] = -a[1] / sqlen;\n out[2] = -a[2] / sqlen;\n out[3] = a[3] / sqlen;\n out[4] = -a[4] / sqlen;\n out[5] = -a[5] / sqlen;\n out[6] = -a[6] / sqlen;\n out[7] = a[7] / sqlen;\n return out;\n}\n\n/**\n * Calculates the conjugate of a dual quat\n * If the dual quaternion is normalized, this function is faster than quat2.inverse and produces the same result.\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat2} a quat to calculate conjugate of\n * @returns {quat2} out\n */\nexport function conjugate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a[3];\n out[4] = -a[4];\n out[5] = -a[5];\n out[6] = -a[6];\n out[7] = a[7];\n return out;\n}\n\n/**\n * Calculates the length of a dual quat\n *\n * @param {ReadonlyQuat2} a dual quat to calculate length of\n * @returns {Number} length of a\n * @function\n */\nexport const length = quat.length;\n\n/**\n * Alias for {@link quat2.length}\n * @function\n */\nexport const len = length;\n\n/**\n * Calculates the squared length of a dual quat\n *\n * @param {ReadonlyQuat2} a dual quat to calculate squared length of\n * @returns {Number} squared length of a\n * @function\n */\nexport const squaredLength = quat.squaredLength;\n\n/**\n * Alias for {@link quat2.squaredLength}\n * @function\n */\nexport const sqrLen = squaredLength;\n\n/**\n * Normalize a dual quat\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a dual quaternion to normalize\n * @returns {quat2} out\n * @function\n */\nexport function normalize(out, a) {\n let magnitude = squaredLength(a);\n if (magnitude > 0) {\n magnitude = Math.sqrt(magnitude);\n\n let a0 = a[0] / magnitude;\n let a1 = a[1] / magnitude;\n let a2 = a[2] / magnitude;\n let a3 = a[3] / magnitude;\n\n let b0 = a[4];\n let b1 = a[5];\n let b2 = a[6];\n let b3 = a[7];\n\n let a_dot_b = a0 * b0 + a1 * b1 + a2 * b2 + a3 * b3;\n\n out[0] = a0;\n out[1] = a1;\n out[2] = a2;\n out[3] = a3;\n\n out[4] = (b0 - a0 * a_dot_b) / magnitude;\n out[5] = (b1 - a1 * a_dot_b) / magnitude;\n out[6] = (b2 - a2 * a_dot_b) / magnitude;\n out[7] = (b3 - a3 * a_dot_b) / magnitude;\n }\n return out;\n}\n\n/**\n * Returns a string representation of a dual quaternion\n *\n * @param {ReadonlyQuat2} a dual quaternion to represent as a string\n * @returns {String} string representation of the dual quat\n */\nexport function str(a) {\n return (\n 'quat2(' +\n a[0] +\n ', ' +\n a[1] +\n ', ' +\n a[2] +\n ', ' +\n a[3] +\n ', ' +\n a[4] +\n ', ' +\n a[5] +\n ', ' +\n a[6] +\n ', ' +\n a[7] +\n ')'\n );\n}\n\n/**\n * Returns whether or not the dual quaternions have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyQuat2} a the first dual quaternion.\n * @param {ReadonlyQuat2} b the second dual quaternion.\n * @returns {Boolean} true if the dual quaternions are equal, false otherwise.\n */\nexport function exactEquals(a, b) {\n return (\n a[0] === b[0] &&\n a[1] === b[1] &&\n a[2] === b[2] &&\n a[3] === b[3] &&\n a[4] === b[4] &&\n a[5] === b[5] &&\n a[6] === b[6] &&\n a[7] === b[7]\n );\n}\n\n/**\n * Returns whether or not the dual quaternions have approximately the same elements in the same position.\n *\n * @param {ReadonlyQuat2} a the first dual quat.\n * @param {ReadonlyQuat2} b the second dual quat.\n * @returns {Boolean} true if the dual quats are equal, false otherwise.\n */\nexport function equals(a, b) {\n let a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7];\n let b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7];\n return (\n Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) &&\n Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) &&\n Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) &&\n Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) &&\n Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) &&\n Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) &&\n Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) &&\n Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7))\n );\n}\n"],"file":"quat2.js"}