@woosh/meep-engine 2.113.7 → 2.113.9
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/build/meep.cjs +18 -18
- package/build/meep.min.js +1 -1
- package/build/meep.module.js +18 -18
- package/package.json +1 -1
- package/src/core/collection/KeyValuePair.d.ts +3 -4
- package/src/core/collection/KeyValuePair.d.ts.map +1 -1
- package/src/core/collection/KeyValuePair.js +0 -1
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +5 -5
- package/src/core/geom/3d/frustum/frustum_from_projection_matrix_array.d.ts +3 -2
- package/src/core/geom/3d/frustum/frustum_from_projection_matrix_array.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/frustum_from_projection_matrix_array.js +9 -33
- package/src/core/geom/3d/plane/plane3_normalize.d.ts +11 -0
- package/src/core/geom/3d/plane/plane3_normalize.d.ts.map +1 -0
- package/src/core/geom/3d/plane/plane3_normalize.js +26 -0
- package/src/core/geom/3d/plane/plane3_project_point.d.ts +13 -0
- package/src/core/geom/3d/plane/plane3_project_point.d.ts.map +1 -0
- package/src/core/geom/3d/plane/{plane3_projectPoint.js → plane3_project_point.js} +6 -2
- package/src/core/model/object/ImmutableObjectPool.d.ts.map +1 -1
- package/src/core/model/object/ImmutableObjectPool.js +18 -17
- package/src/core/bvh2/traversal/__process_point_if_within_planes.d.ts +0 -15
- package/src/core/bvh2/traversal/__process_point_if_within_planes.d.ts.map +0 -1
- package/src/core/bvh2/traversal/__process_point_if_within_planes.js +0 -56
- package/src/core/geom/3d/plane/plane3_projectPoint.d.ts +0 -13
- package/src/core/geom/3d/plane/plane3_projectPoint.d.ts.map +0 -1
package/build/meep.module.js
CHANGED
|
@@ -82495,7 +82495,6 @@ function readStyleToken(text, cursor, length) {
|
|
|
82495
82495
|
*/
|
|
82496
82496
|
class KeyValuePair {
|
|
82497
82497
|
/**
|
|
82498
|
-
* @template Key, Value
|
|
82499
82498
|
* @param {Key} key
|
|
82500
82499
|
* @param {Value} value
|
|
82501
82500
|
*/
|
|
@@ -97998,26 +97997,27 @@ class ImmutableObjectPool {
|
|
|
97998
97997
|
* @type {Signal<Key,Value>}
|
|
97999
97998
|
*/
|
|
98000
97999
|
onRemoved = new Signal()
|
|
98000
|
+
/**
|
|
98001
|
+
*
|
|
98002
|
+
* @type {HashMap<Key, CacheElement<Key,Value>[]>}
|
|
98003
|
+
*/
|
|
98004
|
+
data = new HashMap();
|
|
98005
|
+
|
|
98006
|
+
/**
|
|
98007
|
+
*
|
|
98008
|
+
* @type {CacheElement<Key,Value>|null}
|
|
98009
|
+
* @private
|
|
98010
|
+
*/
|
|
98011
|
+
__first = null;
|
|
98012
|
+
/**
|
|
98013
|
+
*
|
|
98014
|
+
* @type {CacheElement<Key,Value>|null}
|
|
98015
|
+
* @private
|
|
98016
|
+
*/
|
|
98017
|
+
__last = null;
|
|
98001
98018
|
|
|
98002
98019
|
constructor({ capacity = 100, perKeyCapacity = 10 } = {}) {
|
|
98003
|
-
/**
|
|
98004
|
-
*
|
|
98005
|
-
* @type {HashMap<Key, CacheElement<Key,Value>[]>}
|
|
98006
|
-
*/
|
|
98007
|
-
this.data = new HashMap();
|
|
98008
98020
|
|
|
98009
|
-
/**
|
|
98010
|
-
*
|
|
98011
|
-
* @type {CacheElement<Key,Value>|null}
|
|
98012
|
-
* @private
|
|
98013
|
-
*/
|
|
98014
|
-
this.__first = null;
|
|
98015
|
-
/**
|
|
98016
|
-
*
|
|
98017
|
-
* @type {CacheElement<Key,Value>|null}
|
|
98018
|
-
* @private
|
|
98019
|
-
*/
|
|
98020
|
-
this.__last = null;
|
|
98021
98021
|
|
|
98022
98022
|
/**
|
|
98023
98023
|
* How many items in total the pool can hold
|
package/package.json
CHANGED
|
@@ -3,21 +3,20 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export class KeyValuePair<Key, Value> {
|
|
5
5
|
/**
|
|
6
|
-
* @template Key, Value
|
|
7
6
|
* @param {Key} key
|
|
8
7
|
* @param {Value} value
|
|
9
8
|
*/
|
|
10
|
-
constructor(key:
|
|
9
|
+
constructor(key: Key, value: Value);
|
|
11
10
|
/**
|
|
12
11
|
*
|
|
13
12
|
* @type {Key}
|
|
14
13
|
*/
|
|
15
|
-
key:
|
|
14
|
+
key: Key;
|
|
16
15
|
/**
|
|
17
16
|
*
|
|
18
17
|
* @type {Value}
|
|
19
18
|
*/
|
|
20
|
-
value:
|
|
19
|
+
value: Value;
|
|
21
20
|
/**
|
|
22
21
|
*
|
|
23
22
|
* @param {KeyValuePair} other
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValuePair.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/KeyValuePair.js"],"names":[],"mappings":"AAAA;;GAEG;AACH;IACI
|
|
1
|
+
{"version":3,"file":"KeyValuePair.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/KeyValuePair.js"],"names":[],"mappings":"AAAA;;GAEG;AACH;IACI;;;OAGG;IACH,iBAHW,GAAG,SACH,KAAK,EAaf;IAVG;;;OAGG;IACH,KAFU,GAAG,CAEC;IACd;;;OAGG;IACH,OAFU,KAAK,CAEG;IAGtB;;;;OAIG;IACH,uCAFY,OAAO,CAKlB;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustum3_computeNearestPointToPoint.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js"],"names":[],"mappings":"AAyBA;;;;;;;;GAQG;AACH,4DAPW,OAAO,UACP,OAAO,YACP,MAAM,YACN,MAAM,YACN,MAAM,GACJ,OAAO,CA+EnB;
|
|
1
|
+
{"version":3,"file":"frustum3_computeNearestPointToPoint.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js"],"names":[],"mappings":"AAyBA;;;;;;;;GAQG;AACH,4DAPW,OAAO,UACP,OAAO,YACP,MAAM,YACN,MAAM,YACN,MAAM,GACJ,OAAO,CA+EnB;oBA9GmB,kBAAkB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import Vector3 from "../../Vector3.js";
|
|
2
|
-
import { plane3_projectPoint } from "../plane/plane3_projectPoint.js";
|
|
3
|
-
import { ray_computeNearestPointToPoint } from "../ray/ray_computeNearestPointToPoint.js";
|
|
4
1
|
import { v3_distance_above_plane } from "../../vec3/v3_distance_above_plane.js";
|
|
2
|
+
import Vector3 from "../../Vector3.js";
|
|
3
|
+
import { plane3_compute_plane_intersection } from "../plane/plane3_compute_plane_intersection.js";
|
|
4
|
+
import { plane3_project_point } from "../plane/plane3_project_point.js";
|
|
5
5
|
import {
|
|
6
6
|
plane3_three_compute_convex_3_plane_intersection
|
|
7
7
|
} from "../plane/plane3_three_compute_convex_3_plane_intersection.js";
|
|
8
|
-
import {
|
|
8
|
+
import { ray_computeNearestPointToPoint } from "../ray/ray_computeNearestPointToPoint.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
@@ -72,7 +72,7 @@ export function frustum3_computeNearestPointToPoint(result, planes, target_x, ta
|
|
|
72
72
|
const plane_0_index = scratch_outer_planes[0];
|
|
73
73
|
const plane_0 = planes[plane_0_index];
|
|
74
74
|
// point lies outside exactly one plane
|
|
75
|
-
|
|
75
|
+
plane3_project_point(result, target_x, target_y, target_z, plane_0.normal.z, plane_0.normal.y, plane_0.normal.z, plane_0.constant);
|
|
76
76
|
} else if (outside_plane_count === 2) {
|
|
77
77
|
// outside two planes, nearest point lies on the intersection line of two planes
|
|
78
78
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
+
*
|
|
2
3
|
* Set frustum from projection matrix
|
|
3
4
|
* NOTE: uses Gribb/Hartmann method
|
|
4
5
|
* @see "Fast Extraction of Viewing Frustum Planes from the WorldView-Projection Matrix", 2001 by Gribb & Hartmann
|
|
5
|
-
* @param {number[]|Float32Array} frustum_planes
|
|
6
|
-
* @param {number[]} m4
|
|
6
|
+
* @param {number[]|Float32Array} frustum_planes tuples of 4, where each tuple is a plane normal (x,y,z) followed by a planar offset constant [normal_x, normal_y, normal_z, constant]
|
|
7
|
+
* @param {number[]} m4 assumed to be view-projection matrix
|
|
7
8
|
*/
|
|
8
9
|
export function frustum_from_projection_matrix_array(frustum_planes: number[] | Float32Array, m4: number[]): void;
|
|
9
10
|
//# sourceMappingURL=frustum_from_projection_matrix_array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frustum_from_projection_matrix_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/frustum/frustum_from_projection_matrix_array.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frustum_from_projection_matrix_array.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/frustum/frustum_from_projection_matrix_array.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qEAHW,MAAM,EAAE,GAAC,YAAY,MACrB,MAAM,EAAE,QAkClB"}
|
|
@@ -1,36 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { plane3_normalize } from "../plane/plane3_normalize.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
*
|
|
5
|
-
* @param {number[]} destination
|
|
6
|
-
* @param {number} destination_offset
|
|
7
|
-
* @param {number} x
|
|
8
|
-
* @param {number} y
|
|
9
|
-
* @param {number} z
|
|
10
|
-
* @param {number} w
|
|
11
|
-
*/
|
|
12
|
-
function array_set_plane_normalized(
|
|
13
|
-
destination, destination_offset,
|
|
14
|
-
x, y, z, w
|
|
15
|
-
) {
|
|
16
|
-
// compute vector length
|
|
17
|
-
const length = v3_length(x, y, z);
|
|
18
|
-
|
|
19
|
-
const inverse_length = 1.0 / length;
|
|
20
|
-
|
|
21
|
-
// apply normalization
|
|
22
|
-
destination[destination_offset] = x * inverse_length;
|
|
23
|
-
destination[destination_offset + 1] = y * inverse_length;
|
|
24
|
-
destination[destination_offset + 2] = z * inverse_length;
|
|
25
|
-
destination[destination_offset + 3] = w * inverse_length;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
5
|
* Set frustum from projection matrix
|
|
30
6
|
* NOTE: uses Gribb/Hartmann method
|
|
31
7
|
* @see "Fast Extraction of Viewing Frustum Planes from the WorldView-Projection Matrix", 2001 by Gribb & Hartmann
|
|
32
|
-
* @param {number[]|Float32Array} frustum_planes
|
|
33
|
-
* @param {number[]} m4
|
|
8
|
+
* @param {number[]|Float32Array} frustum_planes tuples of 4, where each tuple is a plane normal (x,y,z) followed by a planar offset constant [normal_x, normal_y, normal_z, constant]
|
|
9
|
+
* @param {number[]} m4 assumed to be view-projection matrix
|
|
34
10
|
*/
|
|
35
11
|
export function frustum_from_projection_matrix_array(frustum_planes, m4) {
|
|
36
12
|
|
|
@@ -46,22 +22,22 @@ export function frustum_from_projection_matrix_array(frustum_planes, m4) {
|
|
|
46
22
|
const me12 = m4[12];
|
|
47
23
|
const me15 = m4[15];
|
|
48
24
|
|
|
49
|
-
|
|
50
|
-
|
|
25
|
+
plane3_normalize(frustum_planes, 0, me3 - me0, me7 - me4, me11 - me8, me15 - me12);
|
|
26
|
+
plane3_normalize(frustum_planes, 4, me3 + me0, me7 + me4, me11 + me8, me15 + me12);
|
|
51
27
|
|
|
52
28
|
const me1 = m4[1];
|
|
53
29
|
const me5 = m4[5];
|
|
54
30
|
const me9 = m4[9];
|
|
55
31
|
const me13 = m4[13];
|
|
56
32
|
|
|
57
|
-
|
|
58
|
-
|
|
33
|
+
plane3_normalize(frustum_planes, 8, me3 + me1, me7 + me5, me11 + me9, me15 + me13);
|
|
34
|
+
plane3_normalize(frustum_planes, 12, me3 - me1, me7 - me5, me11 - me9, me15 - me13);
|
|
59
35
|
|
|
60
36
|
const me2 = m4[2];
|
|
61
37
|
const me6 = m4[6];
|
|
62
38
|
const me10 = m4[10];
|
|
63
39
|
const me14 = m4[14];
|
|
64
40
|
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
plane3_normalize(frustum_planes, 16, me3 - me2, me7 - me6, me11 - me10, me15 - me14);
|
|
42
|
+
plane3_normalize(frustum_planes, 20, me3 + me2, me7 + me6, me11 + me10, me15 + me14);
|
|
67
43
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalizes plane representation
|
|
3
|
+
* @param {number[]} destination
|
|
4
|
+
* @param {number} destination_offset
|
|
5
|
+
* @param {number} x plane normal X
|
|
6
|
+
* @param {number} y plane normal Y
|
|
7
|
+
* @param {number} z plane normal Z
|
|
8
|
+
* @param {number} w planar offset constant
|
|
9
|
+
*/
|
|
10
|
+
export function plane3_normalize(destination: number[], destination_offset: number, x: number, y: number, z: number, w: number): void;
|
|
11
|
+
//# sourceMappingURL=plane3_normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane3_normalize.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/plane/plane3_normalize.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,8CAPW,MAAM,EAAE,sBACR,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,QAgBhB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { v3_length } from "../../vec3/v3_length.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes plane representation
|
|
5
|
+
* @param {number[]} destination
|
|
6
|
+
* @param {number} destination_offset
|
|
7
|
+
* @param {number} x plane normal X
|
|
8
|
+
* @param {number} y plane normal Y
|
|
9
|
+
* @param {number} z plane normal Z
|
|
10
|
+
* @param {number} w planar offset constant
|
|
11
|
+
*/
|
|
12
|
+
export function plane3_normalize(
|
|
13
|
+
destination, destination_offset,
|
|
14
|
+
x, y, z, w
|
|
15
|
+
) {
|
|
16
|
+
// compute vector length
|
|
17
|
+
const length = v3_length(x, y, z);
|
|
18
|
+
|
|
19
|
+
const inverse_length = 1.0 / length;
|
|
20
|
+
|
|
21
|
+
// apply normalization
|
|
22
|
+
destination[destination_offset] = x * inverse_length;
|
|
23
|
+
destination[destination_offset + 1] = y * inverse_length;
|
|
24
|
+
destination[destination_offset + 2] = z * inverse_length;
|
|
25
|
+
destination[destination_offset + 3] = w * inverse_length;
|
|
26
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project a point onto a plane
|
|
3
|
+
* @param {Vector3} result
|
|
4
|
+
* @param {number} point_x
|
|
5
|
+
* @param {number} point_y
|
|
6
|
+
* @param {number} point_z
|
|
7
|
+
* @param {number} normal_x
|
|
8
|
+
* @param {number} normal_y
|
|
9
|
+
* @param {number} normal_z
|
|
10
|
+
* @param {number} plane_offset
|
|
11
|
+
*/
|
|
12
|
+
export function plane3_project_point(result: Vector3, point_x: number, point_y: number, point_z: number, normal_x: number, normal_y: number, normal_z: number, plane_offset: number): void;
|
|
13
|
+
//# sourceMappingURL=plane3_project_point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plane3_project_point.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/plane/plane3_project_point.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,+DARW,MAAM,WACN,MAAM,WACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,gBACN,MAAM,QAgBhB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { v3_distance_above_plane } from "../../vec3/v3_distance_above_plane.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Project a point onto a plane
|
|
5
5
|
* @param {Vector3} result
|
|
6
6
|
* @param {number} point_x
|
|
7
7
|
* @param {number} point_y
|
|
@@ -11,7 +11,11 @@ import { v3_distance_above_plane } from "../../vec3/v3_distance_above_plane.js";
|
|
|
11
11
|
* @param {number} normal_z
|
|
12
12
|
* @param {number} plane_offset
|
|
13
13
|
*/
|
|
14
|
-
export function
|
|
14
|
+
export function plane3_project_point(
|
|
15
|
+
result,
|
|
16
|
+
point_x, point_y, point_z,
|
|
17
|
+
normal_x, normal_y, normal_z, plane_offset
|
|
18
|
+
) {
|
|
15
19
|
const distance = v3_distance_above_plane(point_x, point_y, point_z, normal_x, normal_y, normal_z, plane_offset);
|
|
16
20
|
|
|
17
21
|
const negative_distance = -distance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImmutableObjectPool.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/object/ImmutableObjectPool.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"ImmutableObjectPool.d.ts","sourceRoot":"","sources":["../../../../../src/core/model/object/ImmutableObjectPool.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAyBI;;;OAoBC;IA5CD;;;OAGG;IACH,oBAFU,OAAO,GAAG,EAAC,KAAK,CAAC,CAEH;IACxB;;;OAGG;IACH,MAFU,QAAQ,GAAG,EAAE,aAAa,GAAG,EAAC,KAAK,CAAC,EAAE,CAAC,CAE5B;IAErB;;;;OAIG;IACH,gBAAe;IACf;;;;OAIG;IACH,eAAc;IAKV;;;OAGG;IACH,UAFU,MAAM,CAEQ;IAExB;;;OAGG;IACH,gBAFU,MAAM,CAEoB;IAEpC;;;OAGG;IACH,MAFU,MAAM,CAEH;IAGjB,uBAuBC;IAED;;;OAGG;IACH,cAIC;IAED;;;;OAIG;IACH,wBA0BC;IAED,mCA2CC;CACJ;mBApKkB,+BAA+B;wBAD1B,iCAAiC;6BAD5B,6BAA6B"}
|
|
@@ -11,26 +11,27 @@ export class ImmutableObjectPool {
|
|
|
11
11
|
* @type {Signal<Key,Value>}
|
|
12
12
|
*/
|
|
13
13
|
onRemoved = new Signal()
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @type {HashMap<Key, CacheElement<Key,Value>[]>}
|
|
17
|
+
*/
|
|
18
|
+
data = new HashMap();
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @type {CacheElement<Key,Value>|null}
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
__first = null;
|
|
26
|
+
/**
|
|
27
|
+
*
|
|
28
|
+
* @type {CacheElement<Key,Value>|null}
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
__last = null;
|
|
14
32
|
|
|
15
33
|
constructor({ capacity = 100, perKeyCapacity = 10 } = {}) {
|
|
16
|
-
/**
|
|
17
|
-
*
|
|
18
|
-
* @type {HashMap<Key, CacheElement<Key,Value>[]>}
|
|
19
|
-
*/
|
|
20
|
-
this.data = new HashMap();
|
|
21
34
|
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
* @type {CacheElement<Key,Value>|null}
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
this.__first = null;
|
|
28
|
-
/**
|
|
29
|
-
*
|
|
30
|
-
* @type {CacheElement<Key,Value>|null}
|
|
31
|
-
* @private
|
|
32
|
-
*/
|
|
33
|
-
this.__last = null;
|
|
34
35
|
|
|
35
36
|
/**
|
|
36
37
|
* How many items in total the pool can hold
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {number} x
|
|
4
|
-
* @param {number} y
|
|
5
|
-
* @param {number} z
|
|
6
|
-
* @param {number} plane_mask
|
|
7
|
-
* @param {number[]} planes
|
|
8
|
-
* @param {number} plane_count
|
|
9
|
-
* @param {function} callback
|
|
10
|
-
* @param {*} [thisArg]
|
|
11
|
-
* @return {boolean}
|
|
12
|
-
* @private
|
|
13
|
-
*/
|
|
14
|
-
export function __process_point_if_within_planes(x: number, y: number, z: number, plane_mask: number, planes: number[], plane_count: number, callback: Function, thisArg?: any): boolean;
|
|
15
|
-
//# sourceMappingURL=__process_point_if_within_planes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"__process_point_if_within_planes.d.ts","sourceRoot":"","sources":["../../../../../src/core/bvh2/traversal/__process_point_if_within_planes.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,oDAXW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,UACN,MAAM,EAAE,eACR,MAAM,sCAGL,OAAO,CAyClB"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { v3_distance_above_plane } from "../../geom/vec3/v3_distance_above_plane.js";
|
|
2
|
-
import { EPSILON } from "../../math/EPSILON.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
* @param {number} x
|
|
7
|
-
* @param {number} y
|
|
8
|
-
* @param {number} z
|
|
9
|
-
* @param {number} plane_mask
|
|
10
|
-
* @param {number[]} planes
|
|
11
|
-
* @param {number} plane_count
|
|
12
|
-
* @param {function} callback
|
|
13
|
-
* @param {*} [thisArg]
|
|
14
|
-
* @return {boolean}
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
export function __process_point_if_within_planes(
|
|
18
|
-
x, y, z,
|
|
19
|
-
plane_mask,
|
|
20
|
-
planes,
|
|
21
|
-
plane_count,
|
|
22
|
-
callback,
|
|
23
|
-
thisArg
|
|
24
|
-
) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
for (let plane_index = 0; plane_index < plane_count; plane_index++) {
|
|
28
|
-
const plane_bit_mask = 1 << plane_index;
|
|
29
|
-
|
|
30
|
-
if ((plane_mask & plane_bit_mask) === 0) {
|
|
31
|
-
// non-intersecting plane, ignore
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const plane_address = plane_index * 4;
|
|
36
|
-
|
|
37
|
-
const nx = planes[plane_address];
|
|
38
|
-
const ny = planes[plane_address + 1];
|
|
39
|
-
const nz = planes[plane_address + 2];
|
|
40
|
-
const c = planes[plane_address + 3];
|
|
41
|
-
|
|
42
|
-
const distance_to_plane = v3_distance_above_plane(x, y, z, nx, ny, nz, c);
|
|
43
|
-
|
|
44
|
-
if (distance_to_plane < -EPSILON) {
|
|
45
|
-
// point is outside of one of the planes
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
callback.call(thisArg, x, y, z);
|
|
51
|
-
|
|
52
|
-
// ThreeClippingPlaneComputingBVHVisitor.DEBUG_POINTS_1.send3(x, y, z);
|
|
53
|
-
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {Vector3} result
|
|
4
|
-
* @param {number} point_x
|
|
5
|
-
* @param {number} point_y
|
|
6
|
-
* @param {number} point_z
|
|
7
|
-
* @param {number} normal_x
|
|
8
|
-
* @param {number} normal_y
|
|
9
|
-
* @param {number} normal_z
|
|
10
|
-
* @param {number} plane_offset
|
|
11
|
-
*/
|
|
12
|
-
export function plane3_projectPoint(result: Vector3, point_x: number, point_y: number, point_z: number, normal_x: number, normal_y: number, normal_z: number, plane_offset: number): void;
|
|
13
|
-
//# sourceMappingURL=plane3_projectPoint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plane3_projectPoint.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/plane/plane3_projectPoint.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,8DARW,MAAM,WACN,MAAM,WACN,MAAM,YACN,MAAM,YACN,MAAM,YACN,MAAM,gBACN,MAAM,QAYhB"}
|