@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.
- package/editor/tools/v2/BlenderCameraOrientationGizmo.js +1 -1
- package/package.json +1 -1
- package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/BVH.js +6 -29
- package/src/core/bvh2/bvh3/ebvh_build_for_geometry_morton.js +1 -1
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts +2 -2
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_optimize_treelet.js +11 -3
- package/src/core/collection/RingBuffer.d.ts +5 -0
- package/src/core/collection/RingBuffer.d.ts.map +1 -1
- package/src/core/collection/RingBuffer.js +12 -2
- package/src/core/collection/list/List.js +1 -1
- package/src/core/collection/map/HashMap.d.ts.map +1 -1
- package/src/core/collection/map/HashMap.js +13 -0
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +1 -2
- package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
- package/src/core/color/oklab/linear_srgb_to_okhsv.js +15 -4
- package/src/core/color/oklab/okhsv_to_linear_srgb.d.ts.map +1 -1
- package/src/core/color/oklab/okhsv_to_linear_srgb.js +8 -1
- package/src/core/color/operations/color_darken.d.ts.map +1 -1
- package/src/core/color/operations/color_darken.js +6 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_direction_v3_array.d.ts.map +1 -0
- package/src/core/geom/3d/{apply_mat4_transform_to_direction_v3_array.js → mat4/apply_mat4_transform_to_direction_v3_array.js} +1 -1
- package/src/core/geom/3d/mat4/apply_mat4_transform_to_v3_array.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/compose_matrix4_array.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/decompose_matrix_4_array.d.ts.map +1 -0
- package/src/core/geom/3d/{decompose_matrix_4_array.js → mat4/decompose_matrix_4_array.js} +1 -1
- package/src/core/geom/3d/mat4/eulerAnglesFromMatrix.d.ts.map +1 -0
- package/src/core/geom/3d/{eulerAnglesFromMatrix.js → mat4/eulerAnglesFromMatrix.js} +1 -1
- package/src/core/geom/3d/mat4/m4_extract_scale.d.ts.map +1 -0
- package/src/core/geom/3d/{m4_extract_scale.js → mat4/m4_extract_scale.js} +1 -1
- package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -0
- package/src/core/geom/3d/{Ray3.js → ray/Ray3.js} +8 -8
- package/src/core/geom/3d/shape/TransformedShape3D.js +1 -1
- package/src/core/geom/3d/sphere/compute_bounding_sphere_of_2_spheres.d.ts.map +1 -0
- package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.js → sphere/compute_bounding_sphere_of_2_spheres.js} +3 -3
- package/src/core/geom/3d/tetrahedra/triangle/trace_triangular_depth_map.js +1 -1
- package/src/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +1 -1
- package/src/core/geom/3d/topology/struct/TopoTriangle.js +1 -1
- package/src/core/geom/3d/topology/tm_face_normal.js +1 -1
- package/src/core/geom/3d/topology/tm_vertex_compute_normal.js +1 -1
- package/src/core/geom/3d/triangle/aabb3_compute_from_triangle.d.ts.map +1 -0
- package/src/core/geom/3d/{aabb3_compute_from_triangle.js → triangle/aabb3_compute_from_triangle.js} +2 -2
- package/src/core/geom/3d/triangle/compute_triangle_normal.d.ts.map +1 -0
- package/src/core/geom/3d/{compute_triangle_normal.js → triangle/compute_triangle_normal.js} +1 -1
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.d.ts +13 -13
- package/src/core/geom/3d/triangle/v3_compute_triangle_normal.js +21 -21
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +18 -3
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +3 -2
- package/src/core/geom/packing/miniball/Miniball.d.ts.map +1 -1
- package/src/core/geom/packing/miniball/Miniball.js +9 -5
- package/src/core/geom/packing/miniball/Subspan.d.ts +8 -7
- package/src/core/geom/packing/miniball/Subspan.d.ts.map +1 -1
- package/src/core/geom/packing/miniball/Subspan.js +42 -52
- package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts +6 -5
- package/src/core/geom/vec2/v2_bearing_angle_towards.d.ts.map +1 -1
- package/src/core/geom/vec2/v2_bearing_angle_towards.js +12 -11
- package/src/core/geom/vec2/v2_distance.d.ts +6 -6
- package/src/core/geom/vec2/v2_distance.js +6 -6
- package/src/core/geom/vec3/v3_compute_interior_angle.d.ts.map +1 -0
- package/src/core/geom/{3d → vec3}/v3_compute_interior_angle.js +1 -1
- package/src/core/geom/vec3/v3_distance_above_plane.d.ts +8 -8
- package/src/core/geom/vec3/v3_distance_above_plane.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_distance_above_plane.js +9 -9
- package/src/core/geom/vec3/v3_slerp.d.ts +11 -9
- package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
- package/src/core/geom/vec3/v3_slerp.js +8 -8
- package/src/core/math/PI.d.ts +6 -0
- package/src/core/math/PI.d.ts.map +1 -0
- package/src/core/math/PI.js +5 -0
- package/src/core/math/linalg/lu_factor_linear_system.d.ts +6 -6
- package/src/core/math/linalg/lu_factor_linear_system.d.ts.map +1 -1
- package/src/core/math/linalg/lu_factor_linear_system.js +11 -6
- package/src/core/math/linalg/lu_solve_linear_system.d.ts +8 -8
- package/src/core/math/linalg/lu_solve_linear_system.d.ts.map +1 -1
- package/src/core/math/linalg/lu_solve_linear_system.js +11 -9
- package/src/core/math/random/randomGaussian.d.ts +2 -2
- package/src/core/math/random/randomGaussian.d.ts.map +1 -1
- package/src/core/math/random/randomGaussian.js +1 -1
- package/src/engine/animation/Tween.d.ts +27 -0
- package/src/engine/animation/Tween.d.ts.map +1 -0
- package/src/engine/animation/Tween.js +61 -52
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts +7 -1
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundPlainNumericPropertyWriter.js +6 -0
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts +5 -1
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundQuaternionWriter.js +4 -0
- package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts +5 -1
- package/src/engine/animation/curve/binding/BoundVector3Writer.d.ts.map +1 -1
- package/src/engine/animation/curve/binding/BoundVector3Writer.js +4 -0
- package/src/engine/development/performance/MetricCollection.d.ts.map +1 -1
- package/src/engine/development/performance/MetricCollection.js +6 -7
- package/src/engine/ecs/System.d.ts +1 -0
- package/src/engine/ecs/animation/Animation.d.ts +5 -0
- package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
- package/src/engine/ecs/animation/Animation.js +14 -1
- package/src/engine/ecs/animation/AnimationClip.d.ts +6 -0
- package/src/engine/ecs/animation/AnimationClip.d.ts.map +1 -1
- package/src/engine/ecs/animation/AnimationClip.js +34 -22
- package/src/engine/ecs/guid/UUID.d.ts +4 -0
- package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
- package/src/engine/ecs/guid/UUID.js +4 -0
- package/src/engine/ecs/transform/Transform.js +2 -2
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +1 -1
- package/src/engine/graphics/ecs/highlight/Highlight.d.ts.map +1 -1
- package/src/engine/graphics/ecs/highlight/Highlight.js +4 -0
- package/src/engine/graphics/geometry/bvh/buffered/bvh32_set_leaf_from_triangle.js +1 -1
- package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.js +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1 -1
- package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.js +1 -1
- package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +1 -1
- package/src/engine/graphics/sh3/lpv/depth/sh3_bake_depth.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.js +2 -2
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracedScene.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.d.ts.map +1 -1
- package/src/engine/graphics/sh3/path_tracer/PathTracer.js +1 -1
- package/src/engine/graphics/sh3/path_tracer/prototypePathTracer.js +1 -1
- package/src/engine/graphics/sh3/prototypeSH3Probe.js +1 -1
- package/src/engine/graphics/util/composeMatrix4.js +1 -1
- package/src/engine/physics/computeInterceptPoint.d.ts +11 -1
- package/src/engine/physics/computeInterceptPoint.d.ts.map +1 -1
- package/src/engine/physics/computeInterceptPoint.js +29 -12
- package/src/engine/physics/gjk/expanding_polytope_algorithm.d.ts.map +1 -1
- package/src/engine/physics/gjk/expanding_polytope_algorithm.js +19 -59
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +3 -2
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -2
- package/src/engine/physics/inverse_kinematics/two_joint_ik.d.ts.map +1 -1
- package/src/engine/physics/inverse_kinematics/two_joint_ik.js +1 -1
- package/src/core/geom/3d/Ray3.d.ts.map +0 -1
- package/src/core/geom/3d/aabb3_compute_from_triangle.d.ts.map +0 -1
- package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/apply_mat4_transform_to_v3_array.d.ts.map +0 -1
- package/src/core/geom/3d/compose_matrix4_array.d.ts.map +0 -1
- package/src/core/geom/3d/compute_bounding_sphere_of_2_spheres.d.ts.map +0 -1
- package/src/core/geom/3d/compute_triangle_normal.d.ts.map +0 -1
- package/src/core/geom/3d/decompose_matrix_4_array.d.ts.map +0 -1
- package/src/core/geom/3d/eulerAnglesFromMatrix.d.ts.map +0 -1
- package/src/core/geom/3d/m4_extract_scale.d.ts.map +0 -1
- package/src/core/geom/3d/v3_compute_interior_angle.d.ts.map +0 -1
- /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
- /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.d.ts → mat4/apply_mat4_transform_to_v3_array.d.ts} +0 -0
- /package/src/core/geom/3d/{apply_mat4_transform_to_v3_array.js → mat4/apply_mat4_transform_to_v3_array.js} +0 -0
- /package/src/core/geom/3d/{compose_matrix4_array.d.ts → mat4/compose_matrix4_array.d.ts} +0 -0
- /package/src/core/geom/3d/{compose_matrix4_array.js → mat4/compose_matrix4_array.js} +0 -0
- /package/src/core/geom/3d/{decompose_matrix_4_array.d.ts → mat4/decompose_matrix_4_array.d.ts} +0 -0
- /package/src/core/geom/3d/{eulerAnglesFromMatrix.d.ts → mat4/eulerAnglesFromMatrix.d.ts} +0 -0
- /package/src/core/geom/3d/{m4_extract_scale.d.ts → mat4/m4_extract_scale.d.ts} +0 -0
- /package/src/core/geom/3d/{Ray3.d.ts → ray/Ray3.d.ts} +0 -0
- /package/src/core/geom/3d/{compute_bounding_sphere_of_2_spheres.d.ts → sphere/compute_bounding_sphere_of_2_spheres.d.ts} +0 -0
- /package/src/core/geom/3d/{aabb3_compute_from_triangle.d.ts → triangle/aabb3_compute_from_triangle.d.ts} +0 -0
- /package/src/core/geom/3d/{compute_triangle_normal.d.ts → triangle/compute_triangle_normal.d.ts} +0 -0
- /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}
|
|
8
|
-
* @param {number}
|
|
9
|
-
* @param {number}
|
|
10
|
-
* @param {number}
|
|
11
|
-
* @param {number}
|
|
12
|
-
* @param {number}
|
|
13
|
-
* @param {number}
|
|
14
|
-
* @param {number}
|
|
15
|
-
* @param {number}
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 =
|
|
26
|
-
const vCBy =
|
|
27
|
-
const vCBz =
|
|
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 =
|
|
30
|
-
const vABy =
|
|
31
|
-
const vABz =
|
|
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":";AAqBA;
|
|
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
|
|
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":";AAgBA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
|
package/src/core/geom/Vector3.js
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
* @
|
|
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
|
-
|
|
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":"
|
|
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 {
|
|
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 =
|
|
26
|
+
this.S = s;
|
|
22
27
|
|
|
23
28
|
/**
|
|
24
|
-
*
|
|
29
|
+
* reserve bit-field size
|
|
25
30
|
* @type {BitSet}
|
|
26
31
|
*/
|
|
27
|
-
this.membership =
|
|
32
|
+
this.membership = BitSet.fixedSize(s.size());
|
|
28
33
|
|
|
29
34
|
/**
|
|
30
35
|
*
|
|
31
36
|
* @type {number}
|
|
32
37
|
*/
|
|
33
|
-
this.dim =
|
|
38
|
+
this.dim = dim;
|
|
34
39
|
|
|
35
40
|
/**
|
|
36
41
|
*
|
|
37
42
|
* @type {Int32Array}
|
|
38
43
|
*/
|
|
39
|
-
this.members =
|
|
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 =
|
|
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 =
|
|
73
|
+
this.R = R;
|
|
52
74
|
|
|
53
75
|
/**
|
|
54
76
|
* D sized vector
|
|
55
77
|
* @type {number[]}
|
|
56
78
|
*/
|
|
57
|
-
this.u =
|
|
79
|
+
this.u = new Array(dim);
|
|
58
80
|
/**
|
|
59
81
|
* D sized vector
|
|
60
82
|
* @type {number[]}
|
|
61
83
|
*/
|
|
62
|
-
this.w =
|
|
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
|
-
|
|
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":"
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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,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}
|
|
7
|
-
* @param {number}
|
|
8
|
-
* @param {number}
|
|
9
|
-
* @param {number}
|
|
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,
|
|
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,
|
|
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}
|
|
9
|
-
* @param {number}
|
|
10
|
-
* @param {number}
|
|
11
|
-
* @param {number}
|
|
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
|
-
|
|
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(
|
|
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
|
|
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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"PI.d.ts","sourceRoot":"","sources":["../../../../src/core/math/PI.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,iBAFU,MAAM,CAEU"}
|