@shapediver/viewer.shared.math 3.16.8 → 3.16.10
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/dist/implementation/Box.d.ts +24 -24
- package/dist/implementation/Box.js +200 -200
- package/dist/implementation/Box.js.map +1 -1
- package/dist/implementation/Plane.d.ts +27 -27
- package/dist/implementation/Plane.js +102 -102
- package/dist/implementation/Plane.js.map +1 -1
- package/dist/implementation/Sphere.d.ts +19 -19
- package/dist/implementation/Sphere.js +95 -95
- package/dist/implementation/Sphere.js.map +1 -1
- package/dist/implementation/Spherical.d.ts +17 -17
- package/dist/implementation/Spherical.js +51 -51
- package/dist/implementation/Spherical.js.map +1 -1
- package/dist/implementation/Triangle.d.ts +12 -12
- package/dist/implementation/Triangle.js +50 -50
- package/dist/index.d.ts +7 -7
- package/dist/index.js +13 -13
- package/package.json +5 -5
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { IBox, ISphere } from "@shapediver/viewer.shared.types";
|
|
2
|
-
import { mat4, vec3 } from "gl-matrix";
|
|
3
|
-
export declare class Box implements IBox {
|
|
4
|
-
private _min;
|
|
5
|
-
private _max;
|
|
6
|
-
private _boundingSphere;
|
|
7
|
-
private _boundingSphereState;
|
|
8
|
-
constructor(_min?: vec3, _max?: vec3);
|
|
9
|
-
intersect(origin: vec3, direction: vec3): number | null;
|
|
10
|
-
intersects(origin: vec3, direction: vec3): boolean;
|
|
11
|
-
get boundingSphere(): ISphere;
|
|
12
|
-
get max(): vec3;
|
|
13
|
-
set max(value: vec3);
|
|
14
|
-
get min(): vec3;
|
|
15
|
-
set min(value: vec3);
|
|
16
|
-
applyMatrix(matrix: mat4): Box;
|
|
17
|
-
clone(): IBox;
|
|
18
|
-
containsPoint(point: vec3): boolean;
|
|
19
|
-
clampPoint(point: vec3): vec3;
|
|
20
|
-
setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array, stride?: number, bytes?: number, matrix?: mat4): IBox;
|
|
21
|
-
union(box: IBox): IBox;
|
|
22
|
-
isEmpty(): boolean;
|
|
23
|
-
reset(): void;
|
|
24
|
-
}
|
|
1
|
+
import { IBox, ISphere } from "@shapediver/viewer.shared.types";
|
|
2
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
3
|
+
export declare class Box implements IBox {
|
|
4
|
+
private _min;
|
|
5
|
+
private _max;
|
|
6
|
+
private _boundingSphere;
|
|
7
|
+
private _boundingSphereState;
|
|
8
|
+
constructor(_min?: vec3, _max?: vec3);
|
|
9
|
+
intersect(origin: vec3, direction: vec3): number | null;
|
|
10
|
+
intersects(origin: vec3, direction: vec3): boolean;
|
|
11
|
+
get boundingSphere(): ISphere;
|
|
12
|
+
get max(): vec3;
|
|
13
|
+
set max(value: vec3);
|
|
14
|
+
get min(): vec3;
|
|
15
|
+
set min(value: vec3);
|
|
16
|
+
applyMatrix(matrix: mat4): Box;
|
|
17
|
+
clone(): IBox;
|
|
18
|
+
containsPoint(point: vec3): boolean;
|
|
19
|
+
clampPoint(point: vec3): vec3;
|
|
20
|
+
setFromAttributeArray(array: Int8Array | Uint8Array | Int16Array | Uint16Array | Uint32Array | Float32Array, stride?: number, bytes?: number, matrix?: mat4): IBox;
|
|
21
|
+
union(box: IBox): IBox;
|
|
22
|
+
isEmpty(): boolean;
|
|
23
|
+
reset(): void;
|
|
24
|
+
}
|
|
25
25
|
//# sourceMappingURL=Box.d.ts.map
|
|
@@ -1,201 +1,201 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Box = void 0;
|
|
4
|
-
const gl_matrix_1 = require("gl-matrix");
|
|
5
|
-
const __1 = require("..");
|
|
6
|
-
class Box {
|
|
7
|
-
// #endregion Properties (2)
|
|
8
|
-
// #region Constructors (1)
|
|
9
|
-
constructor(_min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity), _max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity)) {
|
|
10
|
-
this._min = _min;
|
|
11
|
-
this._max = _max;
|
|
12
|
-
// #region Properties (2)
|
|
13
|
-
this._boundingSphere = new __1.Sphere();
|
|
14
|
-
this._boundingSphereState = {
|
|
15
|
-
min: gl_matrix_1.vec3.create(),
|
|
16
|
-
max: gl_matrix_1.vec3.create(),
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
// #endregion Constructors (1)
|
|
20
|
-
// #region Public Accessors (5)
|
|
21
|
-
intersect(origin, direction) {
|
|
22
|
-
let tmin, tmax, txmin, txmax, tymin, tymax, tzmin, tzmax;
|
|
23
|
-
const invdirx = 1 / direction[0], invdiry = 1 / direction[1], invdirz = 1 / direction[2];
|
|
24
|
-
txmin =
|
|
25
|
-
invdirx >= 0
|
|
26
|
-
? (this.min[0] - origin[0]) * invdirx
|
|
27
|
-
: (this.max[0] - origin[0]) * invdirx;
|
|
28
|
-
txmax =
|
|
29
|
-
invdirx >= 0
|
|
30
|
-
? (this.max[0] - origin[0]) * invdirx
|
|
31
|
-
: (this.min[0] - origin[0]) * invdirx;
|
|
32
|
-
tmin = txmin;
|
|
33
|
-
tmax = txmax;
|
|
34
|
-
tymin =
|
|
35
|
-
invdiry >= 0
|
|
36
|
-
? (this.min[1] - origin[1]) * invdiry
|
|
37
|
-
: (this.max[1] - origin[1]) * invdiry;
|
|
38
|
-
tymax =
|
|
39
|
-
invdiry >= 0
|
|
40
|
-
? (this.max[1] - origin[1]) * invdiry
|
|
41
|
-
: (this.min[1] - origin[1]) * invdiry;
|
|
42
|
-
if (tmin > tymax || tymin > tmax)
|
|
43
|
-
return null;
|
|
44
|
-
// These lines also handle the case where tmin or tmax is NaN
|
|
45
|
-
// (result of 0 * Infinity). x !== x returns true if x is NaN
|
|
46
|
-
if (tymin > tmin || tmin !== tmin)
|
|
47
|
-
tmin = tymin;
|
|
48
|
-
if (tymax < tmax || tmax !== tmax)
|
|
49
|
-
tmax = tymax;
|
|
50
|
-
tzmin =
|
|
51
|
-
invdirz >= 0
|
|
52
|
-
? (this.min[2] - origin[2]) * invdirz
|
|
53
|
-
: (this.max[2] - origin[2]) * invdirz;
|
|
54
|
-
tzmax =
|
|
55
|
-
invdirz >= 0
|
|
56
|
-
? (this.max[2] - origin[2]) * invdirz
|
|
57
|
-
: (this.min[2] - origin[2]) * invdirz;
|
|
58
|
-
if (tmin > tzmax || tzmin > tmax)
|
|
59
|
-
return null;
|
|
60
|
-
if (tzmin > tmin || tmin !== tmin)
|
|
61
|
-
tmin = tzmin;
|
|
62
|
-
if (tzmax < tmax || tmax !== tmax)
|
|
63
|
-
tmax = tzmax;
|
|
64
|
-
//return point closest to the ray (positive side)
|
|
65
|
-
if (tmax < 0)
|
|
66
|
-
return null;
|
|
67
|
-
return tmin >= 0 ? tmin : tmax;
|
|
68
|
-
}
|
|
69
|
-
intersects(origin, direction) {
|
|
70
|
-
return this.intersect(origin, direction) === null ? false : true;
|
|
71
|
-
}
|
|
72
|
-
get boundingSphere() {
|
|
73
|
-
if (!(this._boundingSphereState.min[0] === this.min[0] &&
|
|
74
|
-
this._boundingSphereState.min[1] === this.min[1] &&
|
|
75
|
-
this._boundingSphereState.min[2] === this.min[2] &&
|
|
76
|
-
this._boundingSphereState.max[0] === this.max[0] &&
|
|
77
|
-
this._boundingSphereState.max[1] === this.max[1] &&
|
|
78
|
-
this._boundingSphereState.max[2] === this.max[2])) {
|
|
79
|
-
this._boundingSphere.setFromBox(this);
|
|
80
|
-
this._boundingSphereState = {
|
|
81
|
-
min: gl_matrix_1.vec3.clone(this.min),
|
|
82
|
-
max: gl_matrix_1.vec3.clone(this.max),
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
return this._boundingSphere;
|
|
86
|
-
}
|
|
87
|
-
get max() {
|
|
88
|
-
return this._max;
|
|
89
|
-
}
|
|
90
|
-
set max(value) {
|
|
91
|
-
this._max = value;
|
|
92
|
-
}
|
|
93
|
-
get min() {
|
|
94
|
-
return this._min;
|
|
95
|
-
}
|
|
96
|
-
set min(value) {
|
|
97
|
-
this._min = value;
|
|
98
|
-
}
|
|
99
|
-
// #endregion Public Accessors (5)
|
|
100
|
-
// #region Public Methods (5)
|
|
101
|
-
applyMatrix(matrix) {
|
|
102
|
-
const points = [];
|
|
103
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.min[2]), matrix));
|
|
104
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.max[2]), matrix));
|
|
105
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.min[2]), matrix));
|
|
106
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.max[2]), matrix));
|
|
107
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.min[2]), matrix));
|
|
108
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.max[2]), matrix));
|
|
109
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.min[2]), matrix));
|
|
110
|
-
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.max[2]), matrix));
|
|
111
|
-
this.min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
|
|
112
|
-
this.max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
|
|
113
|
-
for (let i = 0, il = points.length; i < il; i++) {
|
|
114
|
-
this.min = gl_matrix_1.vec3.fromValues(Math.min(this.min[0], points[i][0]), Math.min(this.min[1], points[i][1]), Math.min(this.min[2], points[i][2]));
|
|
115
|
-
this.max = gl_matrix_1.vec3.fromValues(Math.max(this.max[0], points[i][0]), Math.max(this.max[1], points[i][1]), Math.max(this.max[2], points[i][2]));
|
|
116
|
-
}
|
|
117
|
-
return this;
|
|
118
|
-
}
|
|
119
|
-
clone() {
|
|
120
|
-
return new Box(gl_matrix_1.vec3.clone(this.min), gl_matrix_1.vec3.clone(this.max));
|
|
121
|
-
}
|
|
122
|
-
containsPoint(point) {
|
|
123
|
-
return point[0] < this.min[0] ||
|
|
124
|
-
point[0] > this.max[0] ||
|
|
125
|
-
point[1] < this.min[1] ||
|
|
126
|
-
point[1] > this.max[1] ||
|
|
127
|
-
point[2] < this.min[2] ||
|
|
128
|
-
point[2] > this.max[2]
|
|
129
|
-
? false
|
|
130
|
-
: true;
|
|
131
|
-
}
|
|
132
|
-
clampPoint(point) {
|
|
133
|
-
point[0] = Math.max(this.min[0], Math.min(this.max[0], point[0]));
|
|
134
|
-
point[1] = Math.max(this.min[1], Math.min(this.max[1], point[1]));
|
|
135
|
-
point[2] = Math.max(this.min[2], Math.min(this.max[2], point[2]));
|
|
136
|
-
return point;
|
|
137
|
-
}
|
|
138
|
-
setFromAttributeArray(array, stride, bytes, matrix) {
|
|
139
|
-
const length = Math.floor(array.length / 3) * 3;
|
|
140
|
-
const byteStride = stride && stride !== bytes ? +stride : 3;
|
|
141
|
-
const min = [Infinity, Infinity, Infinity];
|
|
142
|
-
const max = [-Infinity, -Infinity, -Infinity];
|
|
143
|
-
let x, y, z;
|
|
144
|
-
const point = gl_matrix_1.vec4.create();
|
|
145
|
-
for (let i = 0; i < length; i += byteStride) {
|
|
146
|
-
if (matrix) {
|
|
147
|
-
gl_matrix_1.vec4.transformMat4(point, [array[i], array[i + 1], array[i + 2], 1], matrix);
|
|
148
|
-
x = point[0] / point[3];
|
|
149
|
-
y = point[1] / point[3];
|
|
150
|
-
z = point[2] / point[3];
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
x = array[i];
|
|
154
|
-
y = array[i + 1];
|
|
155
|
-
z = array[i + 2];
|
|
156
|
-
}
|
|
157
|
-
min[0] = Math.min(min[0], x);
|
|
158
|
-
min[1] = Math.min(min[1], y);
|
|
159
|
-
min[2] = Math.min(min[2], z);
|
|
160
|
-
max[0] = Math.max(max[0], x);
|
|
161
|
-
max[1] = Math.max(max[1], y);
|
|
162
|
-
max[2] = Math.max(max[2], z);
|
|
163
|
-
}
|
|
164
|
-
this.min = gl_matrix_1.vec3.fromValues(min[0], min[1], min[2]);
|
|
165
|
-
this.max = gl_matrix_1.vec3.fromValues(max[0], max[1], max[2]);
|
|
166
|
-
return this;
|
|
167
|
-
}
|
|
168
|
-
union(box) {
|
|
169
|
-
if (box.min[0] < this.min[0])
|
|
170
|
-
this.min[0] = box.min[0];
|
|
171
|
-
if (box.min[1] < this.min[1])
|
|
172
|
-
this.min[1] = box.min[1];
|
|
173
|
-
if (box.min[2] < this.min[2])
|
|
174
|
-
this.min[2] = box.min[2];
|
|
175
|
-
if (box.max[0] > this.max[0])
|
|
176
|
-
this.max[0] = box.max[0];
|
|
177
|
-
if (box.max[1] > this.max[1])
|
|
178
|
-
this.max[1] = box.max[1];
|
|
179
|
-
if (box.max[2] > this.max[2])
|
|
180
|
-
this.max[2] = box.max[2];
|
|
181
|
-
return this;
|
|
182
|
-
}
|
|
183
|
-
isEmpty() {
|
|
184
|
-
return (this.min[0] === Infinity &&
|
|
185
|
-
this.min[1] === Infinity &&
|
|
186
|
-
this.min[2] === Infinity &&
|
|
187
|
-
this.max[0] === -Infinity &&
|
|
188
|
-
this.max[1] === -Infinity &&
|
|
189
|
-
this.max[2] === -Infinity);
|
|
190
|
-
}
|
|
191
|
-
reset() {
|
|
192
|
-
gl_matrix_1.vec3.zero(this._boundingSphere.center);
|
|
193
|
-
this._boundingSphere.radius = 0;
|
|
194
|
-
gl_matrix_1.vec3.zero(this._boundingSphereState.min);
|
|
195
|
-
gl_matrix_1.vec3.zero(this._boundingSphereState.max);
|
|
196
|
-
gl_matrix_1.vec3.set(this._min, Infinity, Infinity, Infinity);
|
|
197
|
-
gl_matrix_1.vec3.set(this._max, -Infinity, -Infinity, -Infinity);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
exports.Box = Box;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Box = void 0;
|
|
4
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
5
|
+
const __1 = require("..");
|
|
6
|
+
class Box {
|
|
7
|
+
// #endregion Properties (2)
|
|
8
|
+
// #region Constructors (1)
|
|
9
|
+
constructor(_min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity), _max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity)) {
|
|
10
|
+
this._min = _min;
|
|
11
|
+
this._max = _max;
|
|
12
|
+
// #region Properties (2)
|
|
13
|
+
this._boundingSphere = new __1.Sphere();
|
|
14
|
+
this._boundingSphereState = {
|
|
15
|
+
min: gl_matrix_1.vec3.create(),
|
|
16
|
+
max: gl_matrix_1.vec3.create(),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
// #endregion Constructors (1)
|
|
20
|
+
// #region Public Accessors (5)
|
|
21
|
+
intersect(origin, direction) {
|
|
22
|
+
let tmin, tmax, txmin, txmax, tymin, tymax, tzmin, tzmax;
|
|
23
|
+
const invdirx = 1 / direction[0], invdiry = 1 / direction[1], invdirz = 1 / direction[2];
|
|
24
|
+
txmin =
|
|
25
|
+
invdirx >= 0
|
|
26
|
+
? (this.min[0] - origin[0]) * invdirx
|
|
27
|
+
: (this.max[0] - origin[0]) * invdirx;
|
|
28
|
+
txmax =
|
|
29
|
+
invdirx >= 0
|
|
30
|
+
? (this.max[0] - origin[0]) * invdirx
|
|
31
|
+
: (this.min[0] - origin[0]) * invdirx;
|
|
32
|
+
tmin = txmin;
|
|
33
|
+
tmax = txmax;
|
|
34
|
+
tymin =
|
|
35
|
+
invdiry >= 0
|
|
36
|
+
? (this.min[1] - origin[1]) * invdiry
|
|
37
|
+
: (this.max[1] - origin[1]) * invdiry;
|
|
38
|
+
tymax =
|
|
39
|
+
invdiry >= 0
|
|
40
|
+
? (this.max[1] - origin[1]) * invdiry
|
|
41
|
+
: (this.min[1] - origin[1]) * invdiry;
|
|
42
|
+
if (tmin > tymax || tymin > tmax)
|
|
43
|
+
return null;
|
|
44
|
+
// These lines also handle the case where tmin or tmax is NaN
|
|
45
|
+
// (result of 0 * Infinity). x !== x returns true if x is NaN
|
|
46
|
+
if (tymin > tmin || tmin !== tmin)
|
|
47
|
+
tmin = tymin;
|
|
48
|
+
if (tymax < tmax || tmax !== tmax)
|
|
49
|
+
tmax = tymax;
|
|
50
|
+
tzmin =
|
|
51
|
+
invdirz >= 0
|
|
52
|
+
? (this.min[2] - origin[2]) * invdirz
|
|
53
|
+
: (this.max[2] - origin[2]) * invdirz;
|
|
54
|
+
tzmax =
|
|
55
|
+
invdirz >= 0
|
|
56
|
+
? (this.max[2] - origin[2]) * invdirz
|
|
57
|
+
: (this.min[2] - origin[2]) * invdirz;
|
|
58
|
+
if (tmin > tzmax || tzmin > tmax)
|
|
59
|
+
return null;
|
|
60
|
+
if (tzmin > tmin || tmin !== tmin)
|
|
61
|
+
tmin = tzmin;
|
|
62
|
+
if (tzmax < tmax || tmax !== tmax)
|
|
63
|
+
tmax = tzmax;
|
|
64
|
+
//return point closest to the ray (positive side)
|
|
65
|
+
if (tmax < 0)
|
|
66
|
+
return null;
|
|
67
|
+
return tmin >= 0 ? tmin : tmax;
|
|
68
|
+
}
|
|
69
|
+
intersects(origin, direction) {
|
|
70
|
+
return this.intersect(origin, direction) === null ? false : true;
|
|
71
|
+
}
|
|
72
|
+
get boundingSphere() {
|
|
73
|
+
if (!(this._boundingSphereState.min[0] === this.min[0] &&
|
|
74
|
+
this._boundingSphereState.min[1] === this.min[1] &&
|
|
75
|
+
this._boundingSphereState.min[2] === this.min[2] &&
|
|
76
|
+
this._boundingSphereState.max[0] === this.max[0] &&
|
|
77
|
+
this._boundingSphereState.max[1] === this.max[1] &&
|
|
78
|
+
this._boundingSphereState.max[2] === this.max[2])) {
|
|
79
|
+
this._boundingSphere.setFromBox(this);
|
|
80
|
+
this._boundingSphereState = {
|
|
81
|
+
min: gl_matrix_1.vec3.clone(this.min),
|
|
82
|
+
max: gl_matrix_1.vec3.clone(this.max),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return this._boundingSphere;
|
|
86
|
+
}
|
|
87
|
+
get max() {
|
|
88
|
+
return this._max;
|
|
89
|
+
}
|
|
90
|
+
set max(value) {
|
|
91
|
+
this._max = value;
|
|
92
|
+
}
|
|
93
|
+
get min() {
|
|
94
|
+
return this._min;
|
|
95
|
+
}
|
|
96
|
+
set min(value) {
|
|
97
|
+
this._min = value;
|
|
98
|
+
}
|
|
99
|
+
// #endregion Public Accessors (5)
|
|
100
|
+
// #region Public Methods (5)
|
|
101
|
+
applyMatrix(matrix) {
|
|
102
|
+
const points = [];
|
|
103
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.min[2]), matrix));
|
|
104
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.min[1], this.max[2]), matrix));
|
|
105
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.min[2]), matrix));
|
|
106
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.min[0], this.max[1], this.max[2]), matrix));
|
|
107
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.min[2]), matrix));
|
|
108
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.min[1], this.max[2]), matrix));
|
|
109
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.min[2]), matrix));
|
|
110
|
+
points.push(gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), gl_matrix_1.vec3.fromValues(this.max[0], this.max[1], this.max[2]), matrix));
|
|
111
|
+
this.min = gl_matrix_1.vec3.fromValues(Infinity, Infinity, Infinity);
|
|
112
|
+
this.max = gl_matrix_1.vec3.fromValues(-Infinity, -Infinity, -Infinity);
|
|
113
|
+
for (let i = 0, il = points.length; i < il; i++) {
|
|
114
|
+
this.min = gl_matrix_1.vec3.fromValues(Math.min(this.min[0], points[i][0]), Math.min(this.min[1], points[i][1]), Math.min(this.min[2], points[i][2]));
|
|
115
|
+
this.max = gl_matrix_1.vec3.fromValues(Math.max(this.max[0], points[i][0]), Math.max(this.max[1], points[i][1]), Math.max(this.max[2], points[i][2]));
|
|
116
|
+
}
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
clone() {
|
|
120
|
+
return new Box(gl_matrix_1.vec3.clone(this.min), gl_matrix_1.vec3.clone(this.max));
|
|
121
|
+
}
|
|
122
|
+
containsPoint(point) {
|
|
123
|
+
return point[0] < this.min[0] ||
|
|
124
|
+
point[0] > this.max[0] ||
|
|
125
|
+
point[1] < this.min[1] ||
|
|
126
|
+
point[1] > this.max[1] ||
|
|
127
|
+
point[2] < this.min[2] ||
|
|
128
|
+
point[2] > this.max[2]
|
|
129
|
+
? false
|
|
130
|
+
: true;
|
|
131
|
+
}
|
|
132
|
+
clampPoint(point) {
|
|
133
|
+
point[0] = Math.max(this.min[0], Math.min(this.max[0], point[0]));
|
|
134
|
+
point[1] = Math.max(this.min[1], Math.min(this.max[1], point[1]));
|
|
135
|
+
point[2] = Math.max(this.min[2], Math.min(this.max[2], point[2]));
|
|
136
|
+
return point;
|
|
137
|
+
}
|
|
138
|
+
setFromAttributeArray(array, stride, bytes, matrix) {
|
|
139
|
+
const length = Math.floor(array.length / 3) * 3;
|
|
140
|
+
const byteStride = stride && stride !== bytes ? +stride : 3;
|
|
141
|
+
const min = [Infinity, Infinity, Infinity];
|
|
142
|
+
const max = [-Infinity, -Infinity, -Infinity];
|
|
143
|
+
let x, y, z;
|
|
144
|
+
const point = gl_matrix_1.vec4.create();
|
|
145
|
+
for (let i = 0; i < length; i += byteStride) {
|
|
146
|
+
if (matrix) {
|
|
147
|
+
gl_matrix_1.vec4.transformMat4(point, [array[i], array[i + 1], array[i + 2], 1], matrix);
|
|
148
|
+
x = point[0] / point[3];
|
|
149
|
+
y = point[1] / point[3];
|
|
150
|
+
z = point[2] / point[3];
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
x = array[i];
|
|
154
|
+
y = array[i + 1];
|
|
155
|
+
z = array[i + 2];
|
|
156
|
+
}
|
|
157
|
+
min[0] = Math.min(min[0], x);
|
|
158
|
+
min[1] = Math.min(min[1], y);
|
|
159
|
+
min[2] = Math.min(min[2], z);
|
|
160
|
+
max[0] = Math.max(max[0], x);
|
|
161
|
+
max[1] = Math.max(max[1], y);
|
|
162
|
+
max[2] = Math.max(max[2], z);
|
|
163
|
+
}
|
|
164
|
+
this.min = gl_matrix_1.vec3.fromValues(min[0], min[1], min[2]);
|
|
165
|
+
this.max = gl_matrix_1.vec3.fromValues(max[0], max[1], max[2]);
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
union(box) {
|
|
169
|
+
if (box.min[0] < this.min[0])
|
|
170
|
+
this.min[0] = box.min[0];
|
|
171
|
+
if (box.min[1] < this.min[1])
|
|
172
|
+
this.min[1] = box.min[1];
|
|
173
|
+
if (box.min[2] < this.min[2])
|
|
174
|
+
this.min[2] = box.min[2];
|
|
175
|
+
if (box.max[0] > this.max[0])
|
|
176
|
+
this.max[0] = box.max[0];
|
|
177
|
+
if (box.max[1] > this.max[1])
|
|
178
|
+
this.max[1] = box.max[1];
|
|
179
|
+
if (box.max[2] > this.max[2])
|
|
180
|
+
this.max[2] = box.max[2];
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
183
|
+
isEmpty() {
|
|
184
|
+
return (this.min[0] === Infinity &&
|
|
185
|
+
this.min[1] === Infinity &&
|
|
186
|
+
this.min[2] === Infinity &&
|
|
187
|
+
this.max[0] === -Infinity &&
|
|
188
|
+
this.max[1] === -Infinity &&
|
|
189
|
+
this.max[2] === -Infinity);
|
|
190
|
+
}
|
|
191
|
+
reset() {
|
|
192
|
+
gl_matrix_1.vec3.zero(this._boundingSphere.center);
|
|
193
|
+
this._boundingSphere.radius = 0;
|
|
194
|
+
gl_matrix_1.vec3.zero(this._boundingSphereState.min);
|
|
195
|
+
gl_matrix_1.vec3.zero(this._boundingSphereState.max);
|
|
196
|
+
gl_matrix_1.vec3.set(this._min, Infinity, Infinity, Infinity);
|
|
197
|
+
gl_matrix_1.vec3.set(this._max, -Infinity, -Infinity, -Infinity);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
exports.Box = Box;
|
|
201
201
|
//# sourceMappingURL=Box.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Box.js","sourceRoot":"","sources":["../../src/implementation/Box.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
-
import { IPlane } from "@shapediver/viewer.shared.types";
|
|
3
|
-
export declare class Plane implements IPlane {
|
|
4
|
-
private _vector_u;
|
|
5
|
-
private _vector_v;
|
|
6
|
-
private _constant;
|
|
7
|
-
private _normal;
|
|
8
|
-
constructor(_vector_u?: vec3, _vector_v?: vec3, _constant?: number);
|
|
9
|
-
get constant(): number;
|
|
10
|
-
set constant(value: number);
|
|
11
|
-
get normal(): vec3;
|
|
12
|
-
set normal(value: vec3);
|
|
13
|
-
get vector_u(): vec3;
|
|
14
|
-
set vector_u(value: vec3);
|
|
15
|
-
get vector_v(): vec3;
|
|
16
|
-
set vector_v(value: vec3);
|
|
17
|
-
applyMatrix(matrix: mat4): IPlane;
|
|
18
|
-
clampPoint(point: vec3): vec3;
|
|
19
|
-
clone(): IPlane;
|
|
20
|
-
containsPoint(point: vec3): boolean;
|
|
21
|
-
convertFromLSToWS(point: vec3): vec3;
|
|
22
|
-
convertFromWSToLS(point: vec3, project?: boolean): vec3;
|
|
23
|
-
distanceToPoint(point: vec3): number;
|
|
24
|
-
intersect(origin: vec3, direction: vec3): number | null;
|
|
25
|
-
reset(): void;
|
|
26
|
-
setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
|
|
27
|
-
}
|
|
1
|
+
import { mat4, vec3 } from "gl-matrix";
|
|
2
|
+
import { IPlane } from "@shapediver/viewer.shared.types";
|
|
3
|
+
export declare class Plane implements IPlane {
|
|
4
|
+
private _vector_u;
|
|
5
|
+
private _vector_v;
|
|
6
|
+
private _constant;
|
|
7
|
+
private _normal;
|
|
8
|
+
constructor(_vector_u?: vec3, _vector_v?: vec3, _constant?: number);
|
|
9
|
+
get constant(): number;
|
|
10
|
+
set constant(value: number);
|
|
11
|
+
get normal(): vec3;
|
|
12
|
+
set normal(value: vec3);
|
|
13
|
+
get vector_u(): vec3;
|
|
14
|
+
set vector_u(value: vec3);
|
|
15
|
+
get vector_v(): vec3;
|
|
16
|
+
set vector_v(value: vec3);
|
|
17
|
+
applyMatrix(matrix: mat4): IPlane;
|
|
18
|
+
clampPoint(point: vec3): vec3;
|
|
19
|
+
clone(): IPlane;
|
|
20
|
+
containsPoint(point: vec3): boolean;
|
|
21
|
+
convertFromLSToWS(point: vec3): vec3;
|
|
22
|
+
convertFromWSToLS(point: vec3, project?: boolean): vec3;
|
|
23
|
+
distanceToPoint(point: vec3): number;
|
|
24
|
+
intersect(origin: vec3, direction: vec3): number | null;
|
|
25
|
+
reset(): void;
|
|
26
|
+
setFromNormalAndCoplanarPoint(normal: vec3, point: vec3): IPlane;
|
|
27
|
+
}
|
|
28
28
|
//# sourceMappingURL=Plane.d.ts.map
|