@woosh/meep-engine 2.119.131 → 2.120.0

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 (164) hide show
  1. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +1 -1
  2. package/package.json +1 -1
  3. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  4. package/src/core/bvh2/bvh3/BVH.js +6 -29
  5. package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +1 -1
  6. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts +2 -2
  7. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
  8. package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +11 -3
  9. package/src/core/collection/RingBuffer.d.ts +5 -0
  10. package/src/core/collection/RingBuffer.d.ts.map +1 -1
  11. package/src/core/collection/RingBuffer.js +12 -2
  12. package/src/core/collection/list/List.js +1 -1
  13. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  14. package/src/core/collection/map/HashMap.js +13 -0
  15. package/src/core/color/Color.d.ts.map +1 -1
  16. package/src/core/color/Color.js +1 -2
  17. package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
  18. package/src/core/color/oklab/linear_srgb_to_okhsv.js +15 -4
  19. package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts.map +1 -1
  20. package/src/core/color/oklab/okhsv_to_linear_srgb.js +8 -1
  21. package/src/core/color/operations/color_darken.d.ts.map +1 -1
  22. package/src/core/color/operations/color_darken.js +6 -1
  23. package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +1 -0
  24. package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.js → mat4/apply_mat4_transform_to_direction_v3_array.js} +1 -1
  25. package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +1 -0
  26. package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +1 -0
  27. package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +1 -0
  28. package/src/core/geom/3d/{decompose_matrix_4_array.js → mat4/decompose_matrix_4_array.js} +1 -1
  29. package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +1 -0
  30. package/src/core/geom/3d/{eulerAnglesFromMatrix.js → mat4/eulerAnglesFromMatrix.js} +1 -1
  31. package/src/core/geom/3d/mat4/m4_extract_scale.d.ts.map +1 -0
  32. package/src/core/geom/3d/{m4_extract_scale.js → mat4/m4_extract_scale.js} +1 -1
  33. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -0
  34. package/src/core/geom/3d/{Ray3.js → ray/Ray3.js} +8 -8
  35. package/src/core/geom/3d/shape/TransformedShape3D.js +1 -1
  36. package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +1 -0
  37. package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.js → sphere/compute_bounding_sphere_of_2_spheres.js} +3 -3
  38. package/src/core/geom/3d/tetrahedra/triangle/trace_triangular_depth_map.js +1 -1
  39. package/src/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +1 -1
  40. package/src/core/geom/3d/topology/struct/TopoTriangle.js +1 -1
  41. package/src/core/geom/3d/topology/tm_face_normal.js +1 -1
  42. package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +1 -1
  43. package/src/core/geom/3d/triangle/aabb3_compute_from_triangle.d.ts.map +1 -0
  44. package/src/core/geom/3d/{aabb3_compute_from_triangle.js → triangle/aabb3_compute_from_triangle.js} +2 -2
  45. package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +1 -0
  46. package/src/core/geom/3d/{compute_triangle_normal.js → triangle/compute_triangle_normal.js} +1 -1
  47. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +13 -13
  48. package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +21 -21
  49. package/src/core/geom/Quaternion.d.ts.map +1 -1
  50. package/src/core/geom/Quaternion.js +18 -3
  51. package/src/core/geom/Vector3.d.ts.map +1 -1
  52. package/src/core/geom/Vector3.js +3 -2
  53. package/src/core/geom/packing/miniball/Miniball.d.ts.map +1 -1
  54. package/src/core/geom/packing/miniball/Miniball.js +9 -5
  55. package/src/core/geom/packing/miniball/Subspan.d.ts +8 -7
  56. package/src/core/geom/packing/miniball/Subspan.d.ts.map +1 -1
  57. package/src/core/geom/packing/miniball/Subspan.js +42 -52
  58. package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts +6 -5
  59. package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts.map +1 -1
  60. package/src/core/geom/vec2/v2_bearing_angle_towards.js +12 -11
  61. package/src/core/geom/vec2/v2_distance.d.ts +6 -6
  62. package/src/core/geom/vec2/v2_distance.js +6 -6
  63. package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +1 -0
  64. package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.js +1 -1
  65. package/src/core/geom/vec3/v3_distance_above_plane.d.ts +8 -8
  66. package/src/core/geom/vec3/v3_distance_above_plane.d.ts.map +1 -1
  67. package/src/core/geom/vec3/v3_distance_above_plane.js +9 -9
  68. package/src/core/geom/vec3/v3_slerp.d.ts +11 -9
  69. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  70. package/src/core/geom/vec3/v3_slerp.js +8 -8
  71. package/src/core/math/PI.d.ts +6 -0
  72. package/src/core/math/PI.d.ts.map +1 -0
  73. package/src/core/math/PI.js +5 -0
  74. package/src/core/math/linalg/lu_factor_linear_system.d.ts +6 -6
  75. package/src/core/math/linalg/lu_factor_linear_system.d.ts.map +1 -1
  76. package/src/core/math/linalg/lu_factor_linear_system.js +11 -6
  77. package/src/core/math/linalg/lu_solve_linear_system.d.ts +8 -8
  78. package/src/core/math/linalg/lu_solve_linear_system.d.ts.map +1 -1
  79. package/src/core/math/linalg/lu_solve_linear_system.js +11 -9
  80. package/src/core/math/random/randomGaussian.d.ts +2 -2
  81. package/src/core/math/random/randomGaussian.d.ts.map +1 -1
  82. package/src/core/math/random/randomGaussian.js +1 -1
  83. package/src/engine/animation/Tween.d.ts +27 -0
  84. package/src/engine/animation/Tween.d.ts.map +1 -0
  85. package/src/engine/animation/Tween.js +61 -52
  86. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts +7 -1
  87. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts.map +1 -1
  88. package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js +6 -0
  89. package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts +5 -1
  90. package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts.map +1 -1
  91. package/src/engine/animation/curve/binding/BoundQuaternionWriter.js +4 -0
  92. package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts +5 -1
  93. package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts.map +1 -1
  94. package/src/engine/animation/curve/binding/BoundVector3Writer.js +4 -0
  95. package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
  96. package/src/engine/development/performance/MetricCollection.js +6 -7
  97. package/src/engine/ecs/System.d.ts +1 -0
  98. package/src/engine/ecs/animation/Animation.d.ts +5 -0
  99. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  100. package/src/engine/ecs/animation/Animation.js +14 -1
  101. package/src/engine/ecs/animation/AnimationClip.d.ts +6 -0
  102. package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
  103. package/src/engine/ecs/animation/AnimationClip.js +34 -22
  104. package/src/engine/ecs/guid/UUID.d.ts +4 -0
  105. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  106. package/src/engine/ecs/guid/UUID.js +4 -0
  107. package/src/engine/ecs/transform/Transform.js +2 -2
  108. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +1 -1
  109. package/src/engine/graphics/ecs/highlight/Highlight.d.ts.map +1 -1
  110. package/src/engine/graphics/ecs/highlight/Highlight.js +4 -0
  111. package/src/engine/graphics/geometry/bvh/buffered/bvh32_set_leaf_from_triangle.js +1 -1
  112. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +1 -1
  113. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1 -1
  114. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +1 -1
  115. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +1 -1
  116. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +1 -1
  117. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +1 -1
  118. package/src/engine/graphics/sh3/lpv/depth/sh3_bake_depth.js +1 -1
  119. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  120. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  121. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +2 -2
  122. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +1 -1
  123. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
  124. package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +1 -1
  125. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +1 -1
  126. package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
  127. package/src/engine/graphics/sh3/path_tracer/PathTracer.js +1 -1
  128. package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +1 -1
  129. package/src/engine/graphics/sh3/prototypeSH3Probe.js +1 -1
  130. package/src/engine/graphics/util/composeMatrix4.js +1 -1
  131. package/src/engine/physics/computeInterceptPoint.d.ts +11 -1
  132. package/src/engine/physics/computeInterceptPoint.d.ts.map +1 -1
  133. package/src/engine/physics/computeInterceptPoint.js +29 -12
  134. package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts.map +1 -1
  135. package/src/engine/physics/gjk/expanding_polytope_algorithm.js +19 -59
  136. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +3 -2
  137. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  138. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -2
  139. package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts.map +1 -1
  140. package/src/engine/physics/inverse_kinematics/two_joint_ik.js +1 -1
  141. package/src/core/geom/3d/Ray3.d.ts.map +0 -1
  142. package/src/core/geom/3d/aabb3_compute_from_triangle.d.ts.map +0 -1
  143. package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
  144. package/src/core/geom/3d/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
  145. package/src/core/geom/3d/compose_matrix4_array.d.ts.map +0 -1
  146. package/src/core/geom/3d/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
  147. package/src/core/geom/3d/compute_triangle_normal.d.ts.map +0 -1
  148. package/src/core/geom/3d/decompose_matrix_4_array.d.ts.map +0 -1
  149. package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts.map +0 -1
  150. package/src/core/geom/3d/m4_extract_scale.d.ts.map +0 -1
  151. package/src/core/geom/3d/v3_compute_interior_angle.d.ts.map +0 -1
  152. /package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.d.ts → mat4/apply_mat4_transform_to_direction_v3_array.d.ts} +0 -0
  153. /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.d.ts → mat4/apply_mat4_transform_to_v3_array.d.ts} +0 -0
  154. /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.js → mat4/apply_mat4_transform_to_v3_array.js} +0 -0
  155. /package/src/core/geom/3d/{compose_matrix4_array.d.ts → mat4/compose_matrix4_array.d.ts} +0 -0
  156. /package/src/core/geom/3d/{compose_matrix4_array.js → mat4/compose_matrix4_array.js} +0 -0
  157. /package/src/core/geom/3d/{decompose_matrix_4_array.d.ts → mat4/decompose_matrix_4_array.d.ts} +0 -0
  158. /package/src/core/geom/3d/{eulerAnglesFromMatrix.d.ts → mat4/eulerAnglesFromMatrix.d.ts} +0 -0
  159. /package/src/core/geom/3d/{m4_extract_scale.d.ts → mat4/m4_extract_scale.d.ts} +0 -0
  160. /package/src/core/geom/3d/{Ray3.d.ts → ray/Ray3.d.ts} +0 -0
  161. /package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.d.ts → sphere/compute_bounding_sphere_of_2_spheres.d.ts} +0 -0
  162. /package/src/core/geom/3d/{aabb3_compute_from_triangle.d.ts → triangle/aabb3_compute_from_triangle.d.ts} +0 -0
  163. /package/src/core/geom/3d/{compute_triangle_normal.d.ts → triangle/compute_triangle_normal.d.ts} +0 -0
  164. /package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.d.ts +0 -0
@@ -1,34 +1,34 @@
1
1
  import { v3_length_sqr } from "../../vec3/v3_length_sqr.js";
2
2
 
3
3
  /**
4
- *
5
- * @param {number[]|Float32Array} result
6
- * @param {number} result_offset
7
- * @param {number} vAx
8
- * @param {number} vAy
9
- * @param {number} vAz
10
- * @param {number} vBx
11
- * @param {number} vBy
12
- * @param {number} vBz
13
- * @param {number} vCx
14
- * @param {number} vCy
15
- * @param {number} vCz
4
+ * Compute face normal for a triangle
5
+ * @param {number[]|Float32Array} result X,Y,Z normalized vector is written here
6
+ * @param {number} result_offset offset into result array where to start writing
7
+ * @param {number} a_x
8
+ * @param {number} a_y
9
+ * @param {number} a_z
10
+ * @param {number} b_x
11
+ * @param {number} b_y
12
+ * @param {number} b_z
13
+ * @param {number} c_x
14
+ * @param {number} c_y
15
+ * @param {number} c_z
16
16
  */
17
17
  export function v3_compute_triangle_normal(
18
18
  result, result_offset,
19
- vAx, vAy, vAz,
20
- vBx, vBy, vBz,
21
- vCx, vCy, vCz
19
+ a_x, a_y, a_z,
20
+ b_x, b_y, b_z,
21
+ c_x, c_y, c_z
22
22
  ) {
23
23
 
24
24
  //compute CB and AB vectors
25
- const vCBx = vCx - vBx;
26
- const vCBy = vCy - vBy;
27
- const vCBz = vCz - vBz;
25
+ const vCBx = c_x - b_x;
26
+ const vCBy = c_y - b_y;
27
+ const vCBz = c_z - b_z;
28
28
 
29
- const vABx = vAx - vBx;
30
- const vABy = vAy - vBy;
31
- const vABz = vAz - vBz;
29
+ const vABx = a_x - b_x;
30
+ const vABy = a_y - b_y;
31
+ const vABz = a_z - b_z;
32
32
 
33
33
  //compute triangle normal
34
34
  const crossX = vCBy * vABz - vCBz * vABy;
@@ -1 +1 @@
1
- {"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"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"}
@@ -247,6 +247,21 @@ class Quaternion {
247
247
  return Math.acos(dot_abs) * 2;
248
248
  }
249
249
 
250
+
251
+ /**
252
+ *
253
+ * @param {Vector3} axis
254
+ * @param {number} angle
255
+ * @returns {Quaternion}
256
+ */
257
+ static fromAxisAngle(axis, angle) {
258
+ const r = new Quaternion();
259
+
260
+ r.fromAxisAngle(axis, angle);
261
+
262
+ return r;
263
+ }
264
+
250
265
  /**
251
266
  *
252
267
  * @param {Vector3} axis
@@ -887,8 +902,8 @@ class Quaternion {
887
902
  * @param {number[]} m4x4
888
903
  */
889
904
  setFromRotationMatrix(m4x4) {
890
- assert.defined(m4x4,'m4x4');
891
- assert.isArrayLike(m4x4,'m4x4');
905
+ assert.defined(m4x4, 'm4x4');
906
+ assert.isArrayLike(m4x4, 'm4x4');
892
907
 
893
908
  this.__setFromRotationMatrix(
894
909
  m4x4[0], m4x4[4], m4x4[8],
@@ -1043,7 +1058,7 @@ class Quaternion {
1043
1058
  bz = to.z,
1044
1059
  bw = to.w;
1045
1060
 
1046
- let cos_angle, scale0, scale1;
1061
+ let cos_angle, scale0, scale1;
1047
1062
 
1048
1063
  // calc cosine
1049
1064
  cos_angle = ax * bx + ay * by + az * bz + aw * bw;
@@ -1 +1 @@
1
- {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
@@ -456,7 +456,7 @@ class Vector3 {
456
456
 
457
457
  const m = 1 / l;
458
458
 
459
- this.multiplyScalar(m);
459
+ return this.multiplyScalar(m);
460
460
  }
461
461
 
462
462
  /**
@@ -539,6 +539,7 @@ class Vector3 {
539
539
  /**
540
540
  *
541
541
  * @param {Quaternion} q
542
+ * @returns {Vector3}
542
543
  */
543
544
  applyQuaternion(q) {
544
545
  //transform point into quaternion
@@ -559,7 +560,7 @@ class Vector3 {
559
560
  const _y = iy * qw + iw * -qy + iz * -qx - ix * -qz;
560
561
  const _z = iz * qw + iw * -qz + ix * -qy - iy * -qx;
561
562
 
562
- this.set(_x, _y, _z);
563
+ return this.set(_x, _y, _z);
563
564
  }
564
565
 
565
566
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Miniball.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/packing/miniball/Miniball.js"],"names":[],"mappings":"AAwBA;;;GAGG;AACH;IACI;;;;;OAKG;IACH,oBAFW,QAAQ,EA0ElB;IArEG,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB;;;;;;;;;;OAUG;IACH,wBAAwB;IACxB,iBAAiB;IACjB,gBAAgB;IAEhB;;OAEG;IACH,GAFU,QAAQ,CAEH;IAEf,YAA2B;IAI3B;;;OAGG;IACH,YAA0B;IAM1B;;;;OAIG;IACH,iBAA4D;IAE5D;;;OAGG;IACH,aAFU,MAAM,EAAE,GAAC,YAAY,CAEkD;IAEjF;;;OAGG;IACH,eAFU,MAAM,EAAE,GAAC,YAAY,CAEwD;IAEvF;;;OAGG;IACH,SAFU,MAAM,EAAE,GAAC,YAAY,CAEsD;IAErF;;;;OAIG;IACH,kBAAgC;IAIpC;;;;;;;OAOG;IACH,WAFY,OAAO,CAIlB;IAED;;;;;;OAMG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;;OAMG;IACH,UAFY,MAAM,EAAE,CAInB;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;;;OAMG;IACH,QAJY,MAAM,CAMjB;IAED;;;;;;;;OAQG;IACH,iBAkCC;IAGD,yBAGC;IAGD,qBAcC;IAED;;;;;;;;;;OAUG;IACH,gBA4CC;IAED;;;;;;;;OAQG;IACH,kBAFY,OAAO,CA4BlB;IAED;;;;;;;;OAQG;IACH,yBAyDC;IAGD;;;OAGG;IACH,YAFY,MAAM,CAkBjB;CACJ;wBApZqB,cAAc"}
1
+ {"version":3,"file":"Miniball.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/packing/miniball/Miniball.js"],"names":[],"mappings":"AAwBA;;;GAGG;AACH;IACI;;;;;OAKG;IACH,oBAFW,QAAQ,EA0ElB;IArEG,kBAAkB;IAClB,kBAAkB;IAClB,wBAAwB;IACxB;;;;;;;;;;OAUG;IACH,wBAAwB;IACxB,iBAAiB;IACjB,gBAAgB;IAEhB;;OAEG;IACH,GAFU,QAAQ,CAEH;IAEf,YAA2B;IAI3B;;;OAGG;IACH,YAA0B;IAM1B;;;;OAIG;IACH,iBAA4D;IAE5D;;;OAGG;IACH,aAFU,MAAM,EAAE,GAAC,YAAY,CAEkD;IAEjF;;;OAGG;IACH,eAFU,MAAM,EAAE,GAAC,YAAY,CAEwD;IAEvF;;;OAGG;IACH,SAFU,MAAM,EAAE,GAAC,YAAY,CAEsD;IAErF;;;;OAIG;IACH,kBAAgC;IAIpC;;;;;;;OAOG;IACH,WAFY,OAAO,CAIlB;IAED;;;;;;OAMG;IACH,UAFY,MAAM,CAIjB;IAED;;;;;;OAMG;IACH,UAFY,MAAM,EAAE,CAInB;IAED;;;OAGG;IACH,eAFa,OAAO,CAInB;IAED;;;;;;OAMG;IACH,QAJY,MAAM,CAMjB;IAED;;;;;;;;OAQG;IACH,iBAkCC;IAED;;OAEG;IACH,yBAGC;IAED;;OAEG;IACH,qBAcC;IAED;;;;;;;;;;OAUG;IACH,gBA4CC;IAED;;;;;;;;OAQG;IACH,kBAFY,OAAO,CA4BlB;IAED;;;;;;;;OAQG;IACH,yBAyDC;IAGD;;;OAGG;IACH,YAFY,MAAM,CAkBjB;CACJ;wBAxZuB,cAAc"}
@@ -6,9 +6,9 @@
6
6
  */
7
7
 
8
8
 
9
- import {assert} from "../../../assert.js";
10
- import {sqr} from "../../../math/sqr.js";
11
- import {Subspan} from "./Subspan.js";
9
+ import { assert } from "../../../assert.js";
10
+ import { sqr } from "../../../math/sqr.js";
11
+ import { Subspan } from "./Subspan.js";
12
12
 
13
13
  /**
14
14
  * Small number
@@ -205,13 +205,17 @@ export class Miniball {
205
205
  return new Subspan(this.dim, pointSet, farthest);
206
206
  }
207
207
 
208
- /*private*/
208
+ /**
209
+ * @private
210
+ */
209
211
  computeDistToAff() {
210
212
  this.distToAffSquare = this.__support.shortestVectorToSpan(this.__center, this.centerToAff);
211
213
  this.distToAff = Math.sqrt(this.distToAffSquare);
212
214
  }
213
215
 
214
- /*private*/
216
+ /**
217
+ * @private
218
+ */
215
219
  updateRadius() {
216
220
  const any = this.__support.anyMember();
217
221
  this.__squaredRadius = 0;
@@ -11,7 +11,7 @@ export class Subspan {
11
11
  */
12
12
  S: PointSet;
13
13
  /**
14
- *
14
+ * reserve bit-field size
15
15
  * @type {BitSet}
16
16
  */
17
17
  membership: BitSet;
@@ -46,15 +46,16 @@ export class Subspan {
46
46
  */
47
47
  w: number[];
48
48
  r: number;
49
+ /**
50
+ * Givens C coefficient
51
+ * @type {number}
52
+ */
49
53
  c: number;
50
- s: number;
51
54
  /**
52
- *
53
- * @param {int} dim number of dimensions
54
- * @param {PointSet} s point set
55
- * @param {int} k index of the point in the point set
55
+ * Givens S coefficient
56
+ * @type {number}
56
57
  */
57
- initialize(dim: int, s: PointSet, k: int): void;
58
+ s: number;
58
59
  dimension(): number;
59
60
  /**
60
61
  * The size of the instance's set <i>M</i>, a number between 0 and `dim+1`.
@@ -1 +1 @@
1
- {"version":3,"file":"Subspan.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/packing/miniball/Subspan.js"],"names":[],"mappings":"AASA;IACI;;;;;OAKG;IACH,iBAJW,MAAM,KACN,QAAQ,KACR,MAAM,EAuDhB;IApDG;;OAEG;IACH,GAFU,QAAQ,CAEL;IAEb;;;OAGG;IACH,YAFU,MAAM,CAEM;IAEtB;;;OAGG;IACH,KAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,SAFU,UAAU,CAED;IAEnB;;;OAGG;IACH,GAFU,MAAM,EAAE,EAAE,CAEP;IAEb;;;OAGG;IACH,GAFU,MAAM,EAAE,EAAE,CAEP;IAEb;;;OAGG;IACH,GAFU,MAAM,EAAE,CAEL;IACb;;;OAGG;IACH,GAFU,MAAM,EAAE,CAEL;IAEb,UAAU;IAEV,UAAU;IACV,UAAU;IAKd;;;;;OAKG;IACH,gBAJW,GAAG,KACH,QAAQ,KACR,GAAG,QAqCb;IAED,oBAEC;IAED;;;;;;OAMG;IACH,QAFa,GAAG,CAIf;IAED;;;;;;;;OAQG;IACH,YAJW,GAAG,GAED,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,aAFa,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,eAJW,MAAM,GAEL,MAAM,CAIjB;IAED;;;;;;;;;;;OAWG;IACH,YAEC;IAED;;;;;OAKG;IACH,eAEC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAaC;IAED;;;;;;;;OAQG;IACH,qBA2BC;IAED;;;;;;;;OAQG;IACH,WAFW,MAAM,QAsBhB;IAED;;;;;;;;;;;OAWG;IACH,wBAJW,MAAM,EAAE,KACR,MAAM,EAAE,GACP,MAAM,CAuCjB;IAED;;;;OAIG;IACH,uBAFY,MAAM,CA8CjB;IAED;;;;;;;;;;;;OAYG;IACH,0BAHW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,EAAE,GAAC,YAAY,QAuC/B;IAED;;;;;OAKG;IACH,yBAkCC;IAED;;;;;;;OAOG;IACH,8BA6CC;IAED;;;OAGG;IACH,cAFW,MAAM,QAsChB;CACJ;uBAxkBoB,2BAA2B"}
1
+ {"version":3,"file":"Subspan.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/packing/miniball/Subspan.js"],"names":[],"mappings":"AAUA;IACI;;;;;OAKG;IACH,iBAJW,MAAM,KACN,QAAQ,KACR,MAAM,EAuFhB;IAhFG;;OAEG;IACH,GAFU,QAAQ,CAER;IAEV;;;OAGG;IACH,YAFU,MAAM,CAE4B;IAE5C;;;OAGG;IACH,KAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,SAFU,UAAU,CAEkB;IAmBtC;;;OAGG;IACH,GAFU,MAAM,EAAE,EAAE,CAEV;IAEV;;;OAGG;IACH,GAFU,MAAM,EAAE,EAAE,CAEV;IAEV;;;OAGG;IACH,GAFU,MAAM,EAAE,CAEK;IACvB;;;OAGG;IACH,GAFU,MAAM,EAAE,CAEK;IAEvB,UAAU;IAEV;;;OAGG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,GAFU,MAAM,CAEN;IAOd,oBAEC;IAED;;;;;;OAMG;IACH,QAFa,GAAG,CAIf;IAED;;;;;;;;OAQG;IACH,YAJW,GAAG,GAED,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,aAFa,MAAM,CAIlB;IAED;;;;;;;;;;OAUG;IACH,eAJW,MAAM,GAEL,MAAM,CAIjB;IAED;;;;;;;;;;;OAWG;IACH,YAEC;IAED;;;;;OAKG;IACH,eAEC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAaC;IAED;;;;;;;;OAQG;IACH,qBA2BC;IAED;;;;;;;;OAQG;IACH,WAFW,MAAM,QAsBhB;IAED;;;;;;;;;;;OAWG;IACH,wBAJW,MAAM,EAAE,KACR,MAAM,EAAE,GACP,MAAM,CAuCjB;IAED;;;;OAIG;IACH,uBAFY,MAAM,CA8CjB;IAED;;;;;;;;;;;;OAYG;IACH,0BAHW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,EAAE,GAAC,YAAY,QAuC/B;IAED;;;;;OAKG;IACH,yBAkCC;IAED;;;;;;;OAOG;IACH,8BA6CC;IAED;;;OAGG;IACH,cAFW,MAAM,QAsChB;CACJ;uBA7jBsB,2BAA2B"}
@@ -5,7 +5,8 @@
5
5
  * @generated Generated from Java with JSweet 2.2.0-SNAPSHOT - http://www.jsweet.org
6
6
  */
7
7
 
8
- import {BitSet} from "../../../binary/BitSet.js";
8
+ import { assert } from "../../../assert.js";
9
+ import { BitSet } from "../../../binary/BitSet.js";
9
10
 
10
11
  export class Subspan {
11
12
  /**
@@ -15,101 +16,90 @@ export class Subspan {
15
16
  * @param {number} k
16
17
  */
17
18
  constructor(dim, s, k) {
19
+ assert.isNonNegativeInteger(dim, 'dim');
20
+ assert.defined(s, 's');
21
+ assert.isNonNegativeInteger(k, 'k');
22
+
18
23
  /**
19
24
  * @type {PointSet}
20
25
  */
21
- this.S = null;
26
+ this.S = s;
22
27
 
23
28
  /**
24
- *
29
+ * reserve bit-field size
25
30
  * @type {BitSet}
26
31
  */
27
- this.membership = null;
32
+ this.membership = BitSet.fixedSize(s.size());
28
33
 
29
34
  /**
30
35
  *
31
36
  * @type {number}
32
37
  */
33
- this.dim = 0;
38
+ this.dim = dim;
34
39
 
35
40
  /**
36
41
  *
37
42
  * @type {Int32Array}
38
43
  */
39
- this.members = null;
44
+ this.members = new Int32Array(dim + 1);
45
+
46
+
47
+ const Q = new Array(dim);
48
+ const R = new Array(dim);
49
+
50
+ for (let i = 0; i < dim; i++) {
51
+ Q[i] = new Array(dim);
52
+ R[i] = new Array(dim);
53
+ }
54
+
55
+ // initialize Q vector
56
+ for (let i = 0; i < dim; i++) {
57
+ for (let j = 0; j < dim; j++) {
58
+ // set diagonal to 1
59
+ Q[j][i] = (i === j) ? 1.0 : 0.0;
60
+ }
61
+ }
40
62
 
41
63
  /**
42
64
  * DxD square matrix, where D is number of dimensions
43
65
  * @type {number[][]}
44
66
  */
45
- this.Q = null;
67
+ this.Q = Q;
46
68
 
47
69
  /**
48
70
  * DxD square matrix, where D is number of dimensions
49
71
  * @type {number[][]}
50
72
  */
51
- this.R = null;
73
+ this.R = R;
52
74
 
53
75
  /**
54
76
  * D sized vector
55
77
  * @type {number[]}
56
78
  */
57
- this.u = null;
79
+ this.u = new Array(dim);
58
80
  /**
59
81
  * D sized vector
60
82
  * @type {number[]}
61
83
  */
62
- this.w = null;
84
+ this.w = new Array(dim);
63
85
 
64
86
  this.r = 0;
65
87
 
88
+ /**
89
+ * Givens C coefficient
90
+ * @type {number}
91
+ */
66
92
  this.c = 0;
67
- this.s = 0;
68
93
 
69
- this.initialize(dim, s, k);
70
- }
71
-
72
- /**
73
- *
74
- * @param {int} dim number of dimensions
75
- * @param {PointSet} s point set
76
- * @param {int} k index of the point in the point set
77
- */
78
- initialize(dim, s, k) {
79
- this.S = s;
80
- this.dim = dim;
81
-
82
- //reserve bit-field size
83
- this.membership = BitSet.fixedSize(s.size());
84
-
85
- this.members = new Int32Array(dim + 1);
86
-
87
- this.r = 0;
88
-
89
- const Q = new Array(dim);
90
- const R = new Array(dim);
91
-
92
- this.Q = Q;
93
- this.R = R;
94
-
95
- for (let i = 0; i < dim; i++) {
96
- Q[i] = new Array(dim);
97
- R[i] = new Array(dim);
98
- }
94
+ /**
95
+ * Givens S coefficient
96
+ * @type {number}
97
+ */
98
+ this.s = 0;
99
99
 
100
- this.u = new Array(dim);
101
- this.w = new Array(dim);
102
100
 
103
- // initialize Q vector
104
- for (let i = 0; i < dim; i++) {
105
- for (let j = 0; j < dim; j++) {
106
- // set diagonal to 1
107
- Q[j][i] = (i === j) ? 1.0 : 0.0;
108
- }
109
- }
110
-
111
- this.members[this.r] = k;
112
101
  this.membership.set(k, true);
102
+ this.members[this.r] = k;
113
103
  }
114
104
 
115
105
  dimension() {
@@ -1,10 +1,11 @@
1
1
  /**
2
+ * TODO untested
2
3
  * https://math.stackexchange.com/questions/1596513/find-the-bearing-angle-between-two-points-in-a-2d-space
3
- * @param {number} x0
4
- * @param {number} y0
5
- * @param {number} x1
6
- * @param {number} y1
7
- * @returns {number}
4
+ * @param {number} x0 first vector X
5
+ * @param {number} y0 first vector Y
6
+ * @param {number} x1 second vector X
7
+ * @param {number} y1 second vector Y
8
+ * @returns {number} in radians
8
9
  */
9
10
  export function v2_bearing_angle_towards(x0: number, y0: number, x1: number, y1: number): number;
10
11
  //# sourceMappingURL=v2_bearing_angle_towards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v2_bearing_angle_towards.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec2/v2_bearing_angle_towards.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,6CANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CASlB"}
1
+ {"version":3,"file":"v2_bearing_angle_towards.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec2/v2_bearing_angle_towards.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,6CANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CAOlB"}
@@ -1,16 +1,17 @@
1
+ import { normalize_angle_rad } from "../normalize_angle_rad.js";
2
+
1
3
  /**
4
+ * TODO untested
2
5
  * https://math.stackexchange.com/questions/1596513/find-the-bearing-angle-between-two-points-in-a-2d-space
3
- * @param {number} x0
4
- * @param {number} y0
5
- * @param {number} x1
6
- * @param {number} y1
7
- * @returns {number}
6
+ * @param {number} x0 first vector X
7
+ * @param {number} y0 first vector Y
8
+ * @param {number} x1 second vector X
9
+ * @param {number} y1 second vector Y
10
+ * @returns {number} in radians
8
11
  */
9
12
  export function v2_bearing_angle_towards(x0, y0, x1, y1) {
10
- const TWOPI = 6.2831853071795865;
11
- // if (a1 = b1 and a2 = b2) throw an error
12
- let theta = Math.atan2(x1 - x0, y0 - y1);
13
- if (theta < 0.0)
14
- theta += TWOPI;
15
- return theta;
13
+
14
+ const theta = Math.atan2(x1 - x0, y1 - y0 );
15
+
16
+ return normalize_angle_rad(theta);
16
17
  }
@@ -1,10 +1,10 @@
1
1
  /**
2
- *
3
- * @param {number} x0
4
- * @param {number} y0
5
- * @param {number} x1
6
- * @param {number} y1
7
- * @returns {number}
2
+ * Distance between two vectors
3
+ * @param {number} x0 first vector X
4
+ * @param {number} y0 first vector Y
5
+ * @param {number} x1 second vector X
6
+ * @param {number} y1 second vector Y
7
+ * @returns {number} euclidean distance between vectors
8
8
  */
9
9
  export function v2_distance(x0: number, y0: number, x1: number, y1: number): number;
10
10
  //# sourceMappingURL=v2_distance.d.ts.map
@@ -2,12 +2,12 @@ import { assert } from "../../assert.js";
2
2
  import { v2_length } from "./v2_length.js";
3
3
 
4
4
  /**
5
- *
6
- * @param {number} x0
7
- * @param {number} y0
8
- * @param {number} x1
9
- * @param {number} y1
10
- * @returns {number}
5
+ * Distance between two vectors
6
+ * @param {number} x0 first vector X
7
+ * @param {number} y0 first vector Y
8
+ * @param {number} x1 second vector X
9
+ * @param {number} y1 second vector Y
10
+ * @returns {number} euclidean distance between vectors
11
11
  */
12
12
  export function v2_distance(x0, y0, x1, y1) {
13
13
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3_compute_interior_angle.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_compute_interior_angle.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,6CALW;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,KAC9B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,KAC9B;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAC;IAAC,CAAC,EAAC,MAAM,CAAA;CAAC,GAC5B,MAAM,CAiBlB"}
@@ -1,4 +1,4 @@
1
- import { v3_angle_between } from "../vec3/v3_angle_between.js";
1
+ import { v3_angle_between } from "./v3_angle_between.js";
2
2
 
3
3
  /**
4
4
  * Compute interior angle between three points
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Orthogonal distance of a point to a plane, the distance is positive when the point lies above the plane and negative when the point is below
3
- * @param {number} x
4
- * @param {number} y
5
- * @param {number} z
6
- * @param {number} normalX
7
- * @param {number} normalY
8
- * @param {number} normalZ
9
- * @param {number} planeConstant
3
+ * @param {number} x Reference point, x coordinate
4
+ * @param {number} y Reference point, y coordinate
5
+ * @param {number} z Reference point, z coordinate
6
+ * @param {number} normal_x
7
+ * @param {number} normal_y
8
+ * @param {number} normal_z
9
+ * @param {number} plane_offset
10
10
  * @returns {number}
11
11
  */
12
- export function v3_distance_above_plane(x: number, y: number, z: number, normalX: number, normalY: number, normalZ: number, planeConstant: number): number;
12
+ export function v3_distance_above_plane(x: number, y: number, z: number, normal_x: number, normal_y: number, normal_z: number, plane_offset: number): number;
13
13
  //# sourceMappingURL=v3_distance_above_plane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v3_distance_above_plane.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_distance_above_plane.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,2CATW,MAAM,KACN,MAAM,KACN,MAAM,WACN,MAAM,WACN,MAAM,WACN,MAAM,iBACN,MAAM,GACJ,MAAM,CAQlB"}
1
+ {"version":3,"file":"v3_distance_above_plane.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_distance_above_plane.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,2CATW,MAAM,KACN,MAAM,KACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,gBACN,MAAM,GACJ,MAAM,CAQlB"}
@@ -2,19 +2,19 @@ import { v3_dot } from "./v3_dot.js";
2
2
 
3
3
  /**
4
4
  * Orthogonal distance of a point to a plane, the distance is positive when the point lies above the plane and negative when the point is below
5
- * @param {number} x
6
- * @param {number} y
7
- * @param {number} z
8
- * @param {number} normalX
9
- * @param {number} normalY
10
- * @param {number} normalZ
11
- * @param {number} planeConstant
5
+ * @param {number} x Reference point, x coordinate
6
+ * @param {number} y Reference point, y coordinate
7
+ * @param {number} z Reference point, z coordinate
8
+ * @param {number} normal_x
9
+ * @param {number} normal_y
10
+ * @param {number} normal_z
11
+ * @param {number} plane_offset
12
12
  * @returns {number}
13
13
  */
14
14
  export function v3_distance_above_plane(
15
15
  x, y, z,
16
- normalX, normalY, normalZ, planeConstant
16
+ normal_x, normal_y, normal_z, plane_offset
17
17
  ) {
18
18
  // this is the same as v4_dot(v4(x,y,z,1.0), v4(plane.normal, plane.constant));
19
- return v3_dot(normalX, normalY, normalZ, x, y, z) + planeConstant;
19
+ return v3_dot(normal_x, normal_y, normal_z, x, y, z) + plane_offset;
20
20
  }
@@ -2,14 +2,16 @@
2
2
  * Spherical linear interpolation
3
3
  * NOTE: vectors are assumed to be normalized
4
4
  * @see https://en.wikipedia.org/wiki/Slerp
5
- * @param {Vector3} result
6
- * @param {number} a_x
7
- * @param {number} a_y
8
- * @param {number} a_z
9
- * @param {number} b_x
10
- * @param {number} b_y
11
- * @param {number} b_z
12
- * @param {number} fraction
5
+ * @param {Vector3|{set(x:number,y:number,z:number)}} result Rotated vector is written here
6
+ * @param {number} a_x First vector
7
+ * @param {number} a_y First vector
8
+ * @param {number} a_z First vector
9
+ * @param {number} b_x Second vector
10
+ * @param {number} b_y Second vector
11
+ * @param {number} b_z Second vector
12
+ * @param {number} fraction Interpolation factor
13
13
  */
14
- export function v3_slerp(result: Vector3, a_x: number, a_y: number, a_z: number, b_x: number, b_y: number, b_z: number, fraction: number): void;
14
+ export function v3_slerp(result: Vector3 | {
15
+ set(x: number, y: number, z: number): any;
16
+ }, a_x: number, a_y: number, a_z: number, b_x: number, b_y: number, b_z: number, fraction: number): void;
15
17
  //# sourceMappingURL=v3_slerp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v3_slerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_slerp.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,iCATW,OAAO,OACP,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAkChB"}
1
+ {"version":3,"file":"v3_slerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_slerp.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,iCATW,OAAO,GAAC;IAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,OAAC;CAAC,OACzC,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAkChB"}
@@ -5,14 +5,14 @@ import { v3_lerp } from "./v3_lerp.js";
5
5
  * Spherical linear interpolation
6
6
  * NOTE: vectors are assumed to be normalized
7
7
  * @see https://en.wikipedia.org/wiki/Slerp
8
- * @param {Vector3} result
9
- * @param {number} a_x
10
- * @param {number} a_y
11
- * @param {number} a_z
12
- * @param {number} b_x
13
- * @param {number} b_y
14
- * @param {number} b_z
15
- * @param {number} fraction
8
+ * @param {Vector3|{set(x:number,y:number,z:number)}} result Rotated vector is written here
9
+ * @param {number} a_x First vector
10
+ * @param {number} a_y First vector
11
+ * @param {number} a_z First vector
12
+ * @param {number} b_x Second vector
13
+ * @param {number} b_y Second vector
14
+ * @param {number} b_z Second vector
15
+ * @param {number} fraction Interpolation factor
16
16
  */
17
17
  export function v3_slerp(
18
18
  result,
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Just a shortcut, use Math.PI instead if you prefer
3
+ * @type {number}
4
+ */
5
+ export const PI: number;
6
+ //# sourceMappingURL=PI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PI.d.ts","sourceRoot":"","sources":["../../../../src/core/math/PI.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,iBAFU,MAAM,CAEU"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Just a shortcut, use Math.PI instead if you prefer
3
+ * @type {number}
4
+ */
5
+ export const PI = Math.PI;