@mlightcad/geometry-engine 3.0.5 → 3.0.6
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/geometry-engine.js +519 -519
- package/dist/geometry-engine.umd.cjs +2 -2
- package/lib/geometry/AcGeCatmullRomCurve3d.js +1 -1
- package/lib/geometry/AcGeCatmullRomCurve3d.js.map +1 -1
- package/lib/geometry/AcGeCircArc3d.js +5 -5
- package/lib/geometry/AcGeCircArc3d.js.map +1 -1
- package/lib/geometry/AcGeLine3d.js +2 -2
- package/lib/geometry/AcGeLine3d.js.map +1 -1
- package/lib/math/AcGeBox3d.js +8 -8
- package/lib/math/AcGeBox3d.js.map +1 -1
- package/lib/math/AcGePlane.js +1 -1
- package/lib/math/AcGePlane.js.map +1 -1
- package/lib/math/AcGeVector3d.d.ts +1 -1
- package/lib/math/AcGeVector3d.d.ts.map +1 -1
- package/lib/math/AcGeVector3d.js +1 -1
- package/lib/math/AcGeVector3d.js.map +1 -1
- package/package.json +2 -2
package/dist/geometry-engine.js
CHANGED
|
@@ -875,8 +875,8 @@ const On = class On {
|
|
|
875
875
|
* @param n32 Input element in the third row and the second column
|
|
876
876
|
* @param n33 Input element in the third row and the third column
|
|
877
877
|
*/
|
|
878
|
-
constructor(e, i, a, u, _, g, y, x,
|
|
879
|
-
this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], e != null && i != null && a != null && u != null && _ != null && g != null && y != null && x != null &&
|
|
878
|
+
constructor(e, i, a, u, _, g, y, x, d) {
|
|
879
|
+
this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1], e != null && i != null && a != null && u != null && _ != null && g != null && y != null && x != null && d != null && this.set(e, i, a, u, _, g, y, x, d);
|
|
880
880
|
}
|
|
881
881
|
/**
|
|
882
882
|
* Set the 3x3 matrix values to the given row-major sequence of values.
|
|
@@ -892,9 +892,9 @@ const On = class On {
|
|
|
892
892
|
* @param n33 Input element in the third row and the third column
|
|
893
893
|
* @returns Return this matrix
|
|
894
894
|
*/
|
|
895
|
-
set(e, i, a, u, _, g, y, x,
|
|
895
|
+
set(e, i, a, u, _, g, y, x, d) {
|
|
896
896
|
const A = this.elements;
|
|
897
|
-
return A[0] = e, A[1] = u, A[2] = y, A[3] = i, A[4] = _, A[5] = x, A[6] = a, A[7] = g, A[8] =
|
|
897
|
+
return A[0] = e, A[1] = u, A[2] = y, A[3] = i, A[4] = _, A[5] = x, A[6] = a, A[7] = g, A[8] = d, this;
|
|
898
898
|
}
|
|
899
899
|
/**
|
|
900
900
|
* Reset this matrix to the 3x3 identity matrix:
|
|
@@ -954,8 +954,8 @@ const On = class On {
|
|
|
954
954
|
* @returns Return this matrix
|
|
955
955
|
*/
|
|
956
956
|
multiplyMatrices(e, i) {
|
|
957
|
-
const a = e.elements, u = i.elements, _ = this.elements, g = a[0], y = a[3], x = a[6],
|
|
958
|
-
return _[0] = g * K + y * yt + x * Z, _[3] = g * Y + y * Mt + x * ut, _[6] = g * W + y *
|
|
957
|
+
const a = e.elements, u = i.elements, _ = this.elements, g = a[0], y = a[3], x = a[6], d = a[1], A = a[4], p = a[7], N = a[2], k = a[5], U = a[8], K = u[0], Y = u[3], W = u[6], yt = u[1], Mt = u[4], dt = u[7], Z = u[2], ut = u[5], ht = u[8];
|
|
958
|
+
return _[0] = g * K + y * yt + x * Z, _[3] = g * Y + y * Mt + x * ut, _[6] = g * W + y * dt + x * ht, _[1] = d * K + A * yt + p * Z, _[4] = d * Y + A * Mt + p * ut, _[7] = d * W + A * dt + p * ht, _[2] = N * K + k * yt + U * Z, _[5] = N * Y + k * Mt + U * ut, _[8] = N * W + k * dt + U * ht, this;
|
|
959
959
|
}
|
|
960
960
|
/**
|
|
961
961
|
* Multiply every component of the matrix by the scalar value s.
|
|
@@ -971,8 +971,8 @@ const On = class On {
|
|
|
971
971
|
* @returns Return the determinant of this matrix
|
|
972
972
|
*/
|
|
973
973
|
determinant() {
|
|
974
|
-
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6],
|
|
975
|
-
return i * g * A - i * y *
|
|
974
|
+
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6], d = e[7], A = e[8];
|
|
975
|
+
return i * g * A - i * y * d - a * _ * A + a * y * x + u * _ * d - u * g * x;
|
|
976
976
|
}
|
|
977
977
|
/**
|
|
978
978
|
* Invert this matrix, using the analytic method. You can not invert with a determinant of zero.
|
|
@@ -980,10 +980,10 @@ const On = class On {
|
|
|
980
980
|
* @returns Return this matrix
|
|
981
981
|
*/
|
|
982
982
|
invert() {
|
|
983
|
-
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6],
|
|
983
|
+
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6], d = e[7], A = e[8], p = A * g - y * d, N = y * x - A * _, k = d * _ - g * x, U = i * p + a * N + u * k;
|
|
984
984
|
if (U === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
985
985
|
const K = 1 / U;
|
|
986
|
-
return e[0] = p * K, e[1] = (u *
|
|
986
|
+
return e[0] = p * K, e[1] = (u * d - A * a) * K, e[2] = (y * a - u * g) * K, e[3] = N * K, e[4] = (A * i - u * x) * K, e[5] = (u * _ - y * i) * K, e[6] = k * K, e[7] = (a * x - d * i) * K, e[8] = (g * i - a * _) * K, this;
|
|
987
987
|
}
|
|
988
988
|
/**
|
|
989
989
|
* Transpose this matrix in place.
|
|
@@ -1025,14 +1025,14 @@ const On = class On {
|
|
|
1025
1025
|
* @returns Return this matrix
|
|
1026
1026
|
*/
|
|
1027
1027
|
setUvTransform(e, i, a, u, _, g, y) {
|
|
1028
|
-
const x = Math.cos(_),
|
|
1028
|
+
const x = Math.cos(_), d = Math.sin(_);
|
|
1029
1029
|
return this.set(
|
|
1030
1030
|
a * x,
|
|
1031
|
-
a *
|
|
1032
|
-
-a * (x * g +
|
|
1033
|
-
-u *
|
|
1031
|
+
a * d,
|
|
1032
|
+
-a * (x * g + d * y) + g + e,
|
|
1033
|
+
-u * d,
|
|
1034
1034
|
u * x,
|
|
1035
|
-
-u * (-
|
|
1035
|
+
-u * (-d * g + x * y) + y + i,
|
|
1036
1036
|
0,
|
|
1037
1037
|
0,
|
|
1038
1038
|
1
|
|
@@ -1045,7 +1045,7 @@ const On = class On {
|
|
|
1045
1045
|
* @returns Return this matrix
|
|
1046
1046
|
*/
|
|
1047
1047
|
scale(e, i) {
|
|
1048
|
-
return this.premultiply(
|
|
1048
|
+
return this.premultiply(fr.makeScale(e, i)), this;
|
|
1049
1049
|
}
|
|
1050
1050
|
/**
|
|
1051
1051
|
* Rotate this matrix by the given angle (in radians).
|
|
@@ -1053,7 +1053,7 @@ const On = class On {
|
|
|
1053
1053
|
* @returns Return this matrix
|
|
1054
1054
|
*/
|
|
1055
1055
|
rotate(e) {
|
|
1056
|
-
return this.premultiply(
|
|
1056
|
+
return this.premultiply(fr.makeRotation(-e)), this;
|
|
1057
1057
|
}
|
|
1058
1058
|
/**
|
|
1059
1059
|
* Translate this matrix by the given scalar values.
|
|
@@ -1062,7 +1062,7 @@ const On = class On {
|
|
|
1062
1062
|
* @returns Return this matrix
|
|
1063
1063
|
*/
|
|
1064
1064
|
translate(e, i) {
|
|
1065
|
-
return this.premultiply(
|
|
1065
|
+
return this.premultiply(fr.makeTranslation(e, i)), this;
|
|
1066
1066
|
}
|
|
1067
1067
|
/**
|
|
1068
1068
|
* Set this matrix as a 2D translation transform:
|
|
@@ -1133,7 +1133,7 @@ const On = class On {
|
|
|
1133
1133
|
};
|
|
1134
1134
|
On.IDENTITY = Object.freeze(new On());
|
|
1135
1135
|
let Kn = On;
|
|
1136
|
-
const
|
|
1136
|
+
const fr = /* @__PURE__ */ new Kn(), dn = 1e-6, Xt = 2 * Math.PI, ns = {
|
|
1137
1137
|
x: 0,
|
|
1138
1138
|
y: 0
|
|
1139
1139
|
}, Yr = {
|
|
@@ -1146,7 +1146,7 @@ class Hr {
|
|
|
1146
1146
|
* Create tolerance class with default tolerance values
|
|
1147
1147
|
*/
|
|
1148
1148
|
constructor() {
|
|
1149
|
-
this.equalPointTol =
|
|
1149
|
+
this.equalPointTol = dn, this.equalVectorTol = dn;
|
|
1150
1150
|
}
|
|
1151
1151
|
/**
|
|
1152
1152
|
* Return true if two points are equal with the specified tolerance.
|
|
@@ -1169,7 +1169,7 @@ class Hr {
|
|
|
1169
1169
|
/**
|
|
1170
1170
|
* Return true if the value is equal to zero with the specified tolerance.
|
|
1171
1171
|
*/
|
|
1172
|
-
static equalToZero(e, i =
|
|
1172
|
+
static equalToZero(e, i = dn) {
|
|
1173
1173
|
return e < i && e > -i;
|
|
1174
1174
|
}
|
|
1175
1175
|
/**
|
|
@@ -1180,7 +1180,7 @@ class Hr {
|
|
|
1180
1180
|
* @param tol Input the tolerance value
|
|
1181
1181
|
* @returns Return true if two values are equal with the sepcified tolerance
|
|
1182
1182
|
*/
|
|
1183
|
-
static equal(e, i, a =
|
|
1183
|
+
static equal(e, i, a = dn) {
|
|
1184
1184
|
return Math.abs(e - i) < a;
|
|
1185
1185
|
}
|
|
1186
1186
|
/**
|
|
@@ -1193,7 +1193,7 @@ class Hr {
|
|
|
1193
1193
|
* @returns Return true if the first argument are greater than the second argument with the
|
|
1194
1194
|
* sepcified tolerance.
|
|
1195
1195
|
*/
|
|
1196
|
-
static great(e, i, a =
|
|
1196
|
+
static great(e, i, a = dn) {
|
|
1197
1197
|
return e - i > a;
|
|
1198
1198
|
}
|
|
1199
1199
|
/**
|
|
@@ -1206,7 +1206,7 @@ class Hr {
|
|
|
1206
1206
|
* @returns Return *true* if the first argument less than the second argument with the specified
|
|
1207
1207
|
* tolerance value
|
|
1208
1208
|
*/
|
|
1209
|
-
static less(e, i, a =
|
|
1209
|
+
static less(e, i, a = dn) {
|
|
1210
1210
|
return e - i < a;
|
|
1211
1211
|
}
|
|
1212
1212
|
}
|
|
@@ -1216,9 +1216,9 @@ function Jr(E, e, i = !1) {
|
|
|
1216
1216
|
let _ = !1;
|
|
1217
1217
|
const g = e.length;
|
|
1218
1218
|
for (let y = 0, x = g - 1; y < g; x = y++) {
|
|
1219
|
-
const
|
|
1219
|
+
const d = e[y].x, A = e[y].y, p = e[x].x, N = e[x].y;
|
|
1220
1220
|
let k = A > u != N > u;
|
|
1221
|
-
i && (k = A >= u != N >= u), k && a < (p -
|
|
1221
|
+
i && (k = A >= u != N >= u), k && a < (p - d) * (u - A) / (N - A) + d && (_ = !_);
|
|
1222
1222
|
}
|
|
1223
1223
|
return _;
|
|
1224
1224
|
}
|
|
@@ -1253,7 +1253,7 @@ function Ki(E, e) {
|
|
|
1253
1253
|
const i = e.length - 1, a = E, u = [0];
|
|
1254
1254
|
let _ = 0;
|
|
1255
1255
|
for (let y = 1; y <= i; y++) {
|
|
1256
|
-
const x = e[y][0] - e[y - 1][0],
|
|
1256
|
+
const x = e[y][0] - e[y - 1][0], d = e[y][1] - e[y - 1][1], A = e[y][2] - e[y - 1][2], p = Math.sqrt(x * x + d * d + A * A);
|
|
1257
1257
|
_ += p, u.push(_);
|
|
1258
1258
|
}
|
|
1259
1259
|
const g = [];
|
|
@@ -1271,7 +1271,7 @@ function Xi(E, e) {
|
|
|
1271
1271
|
const i = e.length - 1, a = E, u = [0];
|
|
1272
1272
|
let _ = 0;
|
|
1273
1273
|
for (let y = 1; y <= i; y++) {
|
|
1274
|
-
const x = e[y][0] - e[y - 1][0],
|
|
1274
|
+
const x = e[y][0] - e[y - 1][0], d = e[y][1] - e[y - 1][1], A = e[y][2] - e[y - 1][2], p = Math.sqrt(x * x + d * d + A * A), N = Math.sqrt(p);
|
|
1275
1275
|
_ += N, u.push(_);
|
|
1276
1276
|
}
|
|
1277
1277
|
const g = [];
|
|
@@ -1299,13 +1299,13 @@ function tr(E, e, i, a, u) {
|
|
|
1299
1299
|
return [...a[0]];
|
|
1300
1300
|
const y = [0, 0, 0];
|
|
1301
1301
|
let x = 0;
|
|
1302
|
-
for (let
|
|
1303
|
-
const A = yr(
|
|
1304
|
-
y[0] += a[
|
|
1302
|
+
for (let d = 0; d <= _; d++) {
|
|
1303
|
+
const A = yr(d, g, E, i), p = u[d] * A;
|
|
1304
|
+
y[0] += a[d][0] * p, y[1] += a[d][1] * p, y[2] += a[d][2] * p, x += p;
|
|
1305
1305
|
}
|
|
1306
1306
|
if (x < 1e-10) {
|
|
1307
|
-
const
|
|
1308
|
-
if (Math.abs(E -
|
|
1307
|
+
const d = i[i.length - g - 1];
|
|
1308
|
+
if (Math.abs(E - d) < 1e-8)
|
|
1309
1309
|
return [...a[_]];
|
|
1310
1310
|
if (Math.abs(E - i[g]) < 1e-8)
|
|
1311
1311
|
return [...a[0]];
|
|
@@ -1315,7 +1315,7 @@ function tr(E, e, i, a, u) {
|
|
|
1315
1315
|
function ji(E, e, i, a) {
|
|
1316
1316
|
const u = E, _ = e[u], g = e[e.length - u - 1];
|
|
1317
1317
|
let y = 0;
|
|
1318
|
-
const x = 1e3,
|
|
1318
|
+
const x = 1e3, d = (g - _) / x;
|
|
1319
1319
|
let A = tr(
|
|
1320
1320
|
_,
|
|
1321
1321
|
E,
|
|
@@ -1324,8 +1324,8 @@ function ji(E, e, i, a) {
|
|
|
1324
1324
|
a
|
|
1325
1325
|
);
|
|
1326
1326
|
for (let K = 1; K <= x; K++) {
|
|
1327
|
-
const Y = _ + K *
|
|
1328
|
-
y += Math.sqrt(yt * yt + Mt * Mt +
|
|
1327
|
+
const Y = _ + K * d, W = tr(Y, E, e, i, a), yt = W[0] - A[0], Mt = W[1] - A[1], dt = W[2] - A[2];
|
|
1328
|
+
y += Math.sqrt(yt * yt + Mt * Mt + dt * dt), A = W;
|
|
1329
1329
|
}
|
|
1330
1330
|
const p = tr(
|
|
1331
1331
|
g,
|
|
@@ -1361,30 +1361,30 @@ class ir {
|
|
|
1361
1361
|
* @param t Input normalized interpolation factor (between 0 and 1).
|
|
1362
1362
|
*/
|
|
1363
1363
|
static slerpFlat(e, i, a, u, _, g, y) {
|
|
1364
|
-
let x = a[u + 0],
|
|
1364
|
+
let x = a[u + 0], d = a[u + 1], A = a[u + 2], p = a[u + 3];
|
|
1365
1365
|
const N = _[g + 0], k = _[g + 1], U = _[g + 2], K = _[g + 3];
|
|
1366
1366
|
if (y === 0) {
|
|
1367
|
-
e[i + 0] = x, e[i + 1] =
|
|
1367
|
+
e[i + 0] = x, e[i + 1] = d, e[i + 2] = A, e[i + 3] = p;
|
|
1368
1368
|
return;
|
|
1369
1369
|
}
|
|
1370
1370
|
if (y === 1) {
|
|
1371
1371
|
e[i + 0] = N, e[i + 1] = k, e[i + 2] = U, e[i + 3] = K;
|
|
1372
1372
|
return;
|
|
1373
1373
|
}
|
|
1374
|
-
if (p !== K || x !== N ||
|
|
1374
|
+
if (p !== K || x !== N || d !== k || A !== U) {
|
|
1375
1375
|
let Y = 1 - y;
|
|
1376
|
-
const W = x * N +
|
|
1376
|
+
const W = x * N + d * k + A * U + p * K, yt = W >= 0 ? 1 : -1, Mt = 1 - W * W;
|
|
1377
1377
|
if (Mt > Number.EPSILON) {
|
|
1378
1378
|
const Z = Math.sqrt(Mt), ut = Math.atan2(Z, W * yt);
|
|
1379
1379
|
Y = Math.sin(Y * ut) / Z, y = Math.sin(y * ut) / Z;
|
|
1380
1380
|
}
|
|
1381
|
-
const
|
|
1382
|
-
if (x = x * Y + N *
|
|
1383
|
-
const Z = 1 / Math.sqrt(x * x +
|
|
1384
|
-
x *= Z,
|
|
1381
|
+
const dt = y * yt;
|
|
1382
|
+
if (x = x * Y + N * dt, d = d * Y + k * dt, A = A * Y + U * dt, p = p * Y + K * dt, Y === 1 - y) {
|
|
1383
|
+
const Z = 1 / Math.sqrt(x * x + d * d + A * A + p * p);
|
|
1384
|
+
x *= Z, d *= Z, A *= Z, p *= Z;
|
|
1385
1385
|
}
|
|
1386
1386
|
}
|
|
1387
|
-
e[i] = x, e[i + 1] =
|
|
1387
|
+
e[i] = x, e[i + 1] = d, e[i + 2] = A, e[i + 3] = p;
|
|
1388
1388
|
}
|
|
1389
1389
|
/**
|
|
1390
1390
|
* This multiplication implementation assumes the quaternion data are managed in flat arrays.
|
|
@@ -1397,8 +1397,8 @@ class ir {
|
|
|
1397
1397
|
* @returns Return an array
|
|
1398
1398
|
*/
|
|
1399
1399
|
static multiplyQuaternionsFlat(e, i, a, u, _, g) {
|
|
1400
|
-
const y = a[u], x = a[u + 1],
|
|
1401
|
-
return e[i] = y * U + A * p + x * k -
|
|
1400
|
+
const y = a[u], x = a[u + 1], d = a[u + 2], A = a[u + 3], p = _[g], N = _[g + 1], k = _[g + 2], U = _[g + 3];
|
|
1401
|
+
return e[i] = y * U + A * p + x * k - d * N, e[i + 1] = x * U + A * N + d * p - y * k, e[i + 2] = d * U + A * k + y * N - x * p, e[i + 3] = A * U - y * p - x * N - d * k, e;
|
|
1402
1402
|
}
|
|
1403
1403
|
/**
|
|
1404
1404
|
* X cooridinate
|
|
@@ -1469,25 +1469,25 @@ class ir {
|
|
|
1469
1469
|
* @returns Return this quaternion
|
|
1470
1470
|
*/
|
|
1471
1471
|
setFromEuler(e, i = !0) {
|
|
1472
|
-
const a = e.x, u = e.y, _ = e.z, g = e.order, y = Math.cos, x = Math.sin,
|
|
1472
|
+
const a = e.x, u = e.y, _ = e.z, g = e.order, y = Math.cos, x = Math.sin, d = y(a / 2), A = y(u / 2), p = y(_ / 2), N = x(a / 2), k = x(u / 2), U = x(_ / 2);
|
|
1473
1473
|
switch (g) {
|
|
1474
1474
|
case "XYZ":
|
|
1475
|
-
this._x = N * A * p +
|
|
1475
|
+
this._x = N * A * p + d * k * U, this._y = d * k * p - N * A * U, this._z = d * A * U + N * k * p, this._w = d * A * p - N * k * U;
|
|
1476
1476
|
break;
|
|
1477
1477
|
case "YXZ":
|
|
1478
|
-
this._x = N * A * p +
|
|
1478
|
+
this._x = N * A * p + d * k * U, this._y = d * k * p - N * A * U, this._z = d * A * U - N * k * p, this._w = d * A * p + N * k * U;
|
|
1479
1479
|
break;
|
|
1480
1480
|
case "ZXY":
|
|
1481
|
-
this._x = N * A * p -
|
|
1481
|
+
this._x = N * A * p - d * k * U, this._y = d * k * p + N * A * U, this._z = d * A * U + N * k * p, this._w = d * A * p - N * k * U;
|
|
1482
1482
|
break;
|
|
1483
1483
|
case "ZYX":
|
|
1484
|
-
this._x = N * A * p -
|
|
1484
|
+
this._x = N * A * p - d * k * U, this._y = d * k * p + N * A * U, this._z = d * A * U - N * k * p, this._w = d * A * p + N * k * U;
|
|
1485
1485
|
break;
|
|
1486
1486
|
case "YZX":
|
|
1487
|
-
this._x = N * A * p +
|
|
1487
|
+
this._x = N * A * p + d * k * U, this._y = d * k * p + N * A * U, this._z = d * A * U - N * k * p, this._w = d * A * p - N * k * U;
|
|
1488
1488
|
break;
|
|
1489
1489
|
case "XZY":
|
|
1490
|
-
this._x = N * A * p -
|
|
1490
|
+
this._x = N * A * p - d * k * U, this._y = d * k * p - N * A * U, this._z = d * A * U + N * k * p, this._w = d * A * p + N * k * U;
|
|
1491
1491
|
break;
|
|
1492
1492
|
default:
|
|
1493
1493
|
console.warn(
|
|
@@ -1513,19 +1513,19 @@ class ir {
|
|
|
1513
1513
|
* @returns Return this quaternion
|
|
1514
1514
|
*/
|
|
1515
1515
|
setFromRotationMatrix(e) {
|
|
1516
|
-
const i = e.elements, a = i[0], u = i[4], _ = i[8], g = i[1], y = i[5], x = i[9],
|
|
1516
|
+
const i = e.elements, a = i[0], u = i[4], _ = i[8], g = i[1], y = i[5], x = i[9], d = i[2], A = i[6], p = i[10], N = a + y + p;
|
|
1517
1517
|
if (N > 0) {
|
|
1518
1518
|
const k = 0.5 / Math.sqrt(N + 1);
|
|
1519
|
-
this._w = 0.25 / k, this._x = (A - x) * k, this._y = (_ -
|
|
1519
|
+
this._w = 0.25 / k, this._x = (A - x) * k, this._y = (_ - d) * k, this._z = (g - u) * k;
|
|
1520
1520
|
} else if (a > y && a > p) {
|
|
1521
1521
|
const k = 2 * Math.sqrt(1 + a - y - p);
|
|
1522
|
-
this._w = (A - x) / k, this._x = 0.25 * k, this._y = (u + g) / k, this._z = (_ +
|
|
1522
|
+
this._w = (A - x) / k, this._x = 0.25 * k, this._y = (u + g) / k, this._z = (_ + d) / k;
|
|
1523
1523
|
} else if (y > p) {
|
|
1524
1524
|
const k = 2 * Math.sqrt(1 + y - a - p);
|
|
1525
|
-
this._w = (_ -
|
|
1525
|
+
this._w = (_ - d) / k, this._x = (u + g) / k, this._y = 0.25 * k, this._z = (x + A) / k;
|
|
1526
1526
|
} else {
|
|
1527
1527
|
const k = 2 * Math.sqrt(1 + p - a - y);
|
|
1528
|
-
this._w = (g - u) / k, this._x = (_ +
|
|
1528
|
+
this._w = (g - u) / k, this._x = (_ + d) / k, this._y = (x + A) / k, this._z = 0.25 * k;
|
|
1529
1529
|
}
|
|
1530
1530
|
return this._onChangeCallback(), this;
|
|
1531
1531
|
}
|
|
@@ -1642,8 +1642,8 @@ class ir {
|
|
|
1642
1642
|
* @returns Return this quaternion
|
|
1643
1643
|
*/
|
|
1644
1644
|
multiplyQuaternions(e, i) {
|
|
1645
|
-
const a = e._x, u = e._y, _ = e._z, g = e._w, y = i._x, x = i._y,
|
|
1646
|
-
return this._x = a * A + g * y + u *
|
|
1645
|
+
const a = e._x, u = e._y, _ = e._z, g = e._w, y = i._x, x = i._y, d = i._z, A = i._w;
|
|
1646
|
+
return this._x = a * A + g * y + u * d - _ * x, this._y = u * A + g * x + _ * y - a * d, this._z = _ * A + g * d + a * x - u * y, this._w = g * A - a * y - u * x - _ * d, this._onChangeCallback(), this;
|
|
1647
1647
|
}
|
|
1648
1648
|
/**
|
|
1649
1649
|
* Handles the spherical linear interpolation between quaternions. t represents the amount of rotation
|
|
@@ -1664,7 +1664,7 @@ class ir {
|
|
|
1664
1664
|
const k = 1 - i;
|
|
1665
1665
|
return this._w = k * g + i * this._w, this._x = k * a + i * this._x, this._y = k * u + i * this._y, this._z = k * _ + i * this._z, this.normalize(), this;
|
|
1666
1666
|
}
|
|
1667
|
-
const
|
|
1667
|
+
const d = Math.sqrt(x), A = Math.atan2(d, y), p = Math.sin((1 - i) * A) / d, N = Math.sin(i * A) / d;
|
|
1668
1668
|
return this._w = g * p + this._w * N, this._x = a * p + this._x * N, this._y = u * p + this._y * N, this._z = _ * p + this._z * N, this._onChangeCallback(), this;
|
|
1669
1669
|
}
|
|
1670
1670
|
/**
|
|
@@ -1980,7 +1980,7 @@ const te = class te {
|
|
|
1980
1980
|
* @param m Input one 4x4 matrix
|
|
1981
1981
|
* @returns Return this vector
|
|
1982
1982
|
*/
|
|
1983
|
-
|
|
1983
|
+
applyMatrix4(e) {
|
|
1984
1984
|
const i = this.x, a = this.y, u = this.z, _ = e.elements, g = 1 / (_[3] * i + _[7] * a + _[11] * u + _[15]);
|
|
1985
1985
|
return this.x = (_[0] * i + _[4] * a + _[8] * u + _[12]) * g, this.y = (_[1] * i + _[5] * a + _[9] * u + _[13]) * g, this.z = (_[2] * i + _[6] * a + _[10] * u + _[14]) * g, this;
|
|
1986
1986
|
}
|
|
@@ -1990,8 +1990,8 @@ const te = class te {
|
|
|
1990
1990
|
* @returns Return this vector
|
|
1991
1991
|
*/
|
|
1992
1992
|
applyQuaternion(e) {
|
|
1993
|
-
const i = this.x, a = this.y, u = this.z, _ = e.x, g = e.y, y = e.z, x = e.w,
|
|
1994
|
-
return this.x = i + x *
|
|
1993
|
+
const i = this.x, a = this.y, u = this.z, _ = e.x, g = e.y, y = e.z, x = e.w, d = 2 * (g * u - y * a), A = 2 * (y * i - _ * u), p = 2 * (_ * a - g * i);
|
|
1994
|
+
return this.x = i + x * d + g * p - y * A, this.y = a + x * A + y * d - _ * p, this.z = u + x * p + _ * A - g * d, this;
|
|
1995
1995
|
}
|
|
1996
1996
|
/**
|
|
1997
1997
|
* Transforms the direction of this vector by a matrix (the upper left 3 x 3 subset of a m) and
|
|
@@ -2223,7 +2223,7 @@ const te = class te {
|
|
|
2223
2223
|
* @returns Return this vector
|
|
2224
2224
|
*/
|
|
2225
2225
|
projectOnPlane(e) {
|
|
2226
|
-
return
|
|
2226
|
+
return dr.copy(this).projectOnVector(e), this.sub(dr);
|
|
2227
2227
|
}
|
|
2228
2228
|
/**
|
|
2229
2229
|
* Reflect this vector off of plane orthogonal to normal. Normal is assumed to have unit length.
|
|
@@ -2231,7 +2231,7 @@ const te = class te {
|
|
|
2231
2231
|
* @returns Return this vector
|
|
2232
2232
|
*/
|
|
2233
2233
|
reflect(e) {
|
|
2234
|
-
return this.sub(
|
|
2234
|
+
return this.sub(dr.copy(e).multiplyScalar(2 * this.dot(e)));
|
|
2235
2235
|
}
|
|
2236
2236
|
/**
|
|
2237
2237
|
* Return the angle between this vector and vector v in radians.
|
|
@@ -2374,7 +2374,7 @@ const te = class te {
|
|
|
2374
2374
|
};
|
|
2375
2375
|
te.X_AXIS = Object.freeze(new te(1, 0, 0)), te.NEGATIVE_X_AXIS = Object.freeze(new te(-1, 0, 0)), te.Y_AXIS = Object.freeze(new te(0, 1, 0)), te.NEGATIVE_Y_AXIS = Object.freeze(new te(0, -1, 0)), te.Z_AXIS = Object.freeze(new te(0, 0, 1)), te.NEGATIVE_Z_AXIS = Object.freeze(new te(0, 0, -1));
|
|
2376
2376
|
let Q = te;
|
|
2377
|
-
const
|
|
2377
|
+
const dr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn {
|
|
2378
2378
|
/**
|
|
2379
2379
|
* Create a 4x4 matrix with the given arguments in row-major order. If no arguments are provided,
|
|
2380
2380
|
* the constructor initializes the Matrix4 to the 4x4 identity matrix.
|
|
@@ -2396,8 +2396,8 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2396
2396
|
* @param n43 Input element in the forth row and the third column
|
|
2397
2397
|
* @param n44 Input element in the forth row and the forth column
|
|
2398
2398
|
*/
|
|
2399
|
-
constructor(e, i, a, u, _, g, y, x,
|
|
2400
|
-
this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], e != null && i != null && a != null && u != null && _ != null && g != null && y != null && x != null &&
|
|
2399
|
+
constructor(e, i, a, u, _, g, y, x, d, A, p, N, k, U, K, Y) {
|
|
2400
|
+
this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], e != null && i != null && a != null && u != null && _ != null && g != null && y != null && x != null && d != null && A != null && p != null && N != null && k != null && U != null && K != null && Y != null && this.set(
|
|
2401
2401
|
e,
|
|
2402
2402
|
i,
|
|
2403
2403
|
a,
|
|
@@ -2406,7 +2406,7 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2406
2406
|
g,
|
|
2407
2407
|
y,
|
|
2408
2408
|
x,
|
|
2409
|
-
|
|
2409
|
+
d,
|
|
2410
2410
|
A,
|
|
2411
2411
|
p,
|
|
2412
2412
|
N,
|
|
@@ -2437,9 +2437,9 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2437
2437
|
* @param n44 Input element in the forth row and the forth column
|
|
2438
2438
|
* @returns Return this matrix
|
|
2439
2439
|
*/
|
|
2440
|
-
set(e, i, a, u, _, g, y, x,
|
|
2440
|
+
set(e, i, a, u, _, g, y, x, d, A, p, N, k, U, K, Y) {
|
|
2441
2441
|
const W = this.elements;
|
|
2442
|
-
return W[0] = e, W[4] = i, W[8] = a, W[12] = u, W[1] = _, W[5] = g, W[9] = y, W[13] = x, W[2] =
|
|
2442
|
+
return W[0] = e, W[4] = i, W[8] = a, W[12] = u, W[1] = _, W[5] = g, W[9] = y, W[13] = x, W[2] = d, W[6] = A, W[10] = p, W[14] = N, W[3] = k, W[7] = U, W[11] = K, W[15] = Y, this;
|
|
2443
2443
|
}
|
|
2444
2444
|
/**
|
|
2445
2445
|
* Reset this matrix to the identity matrix.
|
|
@@ -2723,8 +2723,8 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2723
2723
|
* @returns Return this matrix
|
|
2724
2724
|
*/
|
|
2725
2725
|
multiplyMatrices(e, i) {
|
|
2726
|
-
const a = e.elements, u = i.elements, _ = this.elements, g = a[0], y = a[4], x = a[8],
|
|
2727
|
-
return _[0] = g * ut + y * Tt + x * se +
|
|
2726
|
+
const a = e.elements, u = i.elements, _ = this.elements, g = a[0], y = a[4], x = a[8], d = a[12], A = a[1], p = a[5], N = a[9], k = a[13], U = a[2], K = a[6], Y = a[10], W = a[14], yt = a[3], Mt = a[7], dt = a[11], Z = a[15], ut = u[0], ht = u[4], Lt = u[8], Kt = u[12], Tt = u[1], Gt = u[5], Yt = u[9], ie = u[13], se = u[2], ae = u[6], Dt = u[10], jt = u[14], X = u[3], wt = u[7], Wt = u[11], Ae = u[15];
|
|
2727
|
+
return _[0] = g * ut + y * Tt + x * se + d * X, _[4] = g * ht + y * Gt + x * ae + d * wt, _[8] = g * Lt + y * Yt + x * Dt + d * Wt, _[12] = g * Kt + y * ie + x * jt + d * Ae, _[1] = A * ut + p * Tt + N * se + k * X, _[5] = A * ht + p * Gt + N * ae + k * wt, _[9] = A * Lt + p * Yt + N * Dt + k * Wt, _[13] = A * Kt + p * ie + N * jt + k * Ae, _[2] = U * ut + K * Tt + Y * se + W * X, _[6] = U * ht + K * Gt + Y * ae + W * wt, _[10] = U * Lt + K * Yt + Y * Dt + W * Wt, _[14] = U * Kt + K * ie + Y * jt + W * Ae, _[3] = yt * ut + Mt * Tt + dt * se + Z * X, _[7] = yt * ht + Mt * Gt + dt * ae + Z * wt, _[11] = yt * Lt + Mt * Yt + dt * Dt + Z * Wt, _[15] = yt * Kt + Mt * ie + dt * jt + Z * Ae, this;
|
|
2728
2728
|
}
|
|
2729
2729
|
/**
|
|
2730
2730
|
* Multiply every component of the matrix by a scalar value s.
|
|
@@ -2740,8 +2740,8 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2740
2740
|
* @returns Return the determinant of this matrix.
|
|
2741
2741
|
*/
|
|
2742
2742
|
determinant() {
|
|
2743
|
-
const e = this.elements, i = e[0], a = e[4], u = e[8], _ = e[12], g = e[1], y = e[5], x = e[9],
|
|
2744
|
-
return U * (+_ * x * p - u *
|
|
2743
|
+
const e = this.elements, i = e[0], a = e[4], u = e[8], _ = e[12], g = e[1], y = e[5], x = e[9], d = e[13], A = e[2], p = e[6], N = e[10], k = e[14], U = e[3], K = e[7], Y = e[11], W = e[15];
|
|
2744
|
+
return U * (+_ * x * p - u * d * p - _ * y * N + a * d * N + u * y * k - a * x * k) + K * (+i * x * k - i * d * N + _ * g * N - u * g * k + u * d * A - _ * x * A) + Y * (+i * d * p - i * y * k - _ * g * p + a * g * k + _ * y * A - a * d * A) + W * (-u * y * A - i * x * p + i * y * N + u * g * p - a * g * N + a * x * A);
|
|
2745
2745
|
}
|
|
2746
2746
|
/**
|
|
2747
2747
|
* Transposes this matrix.
|
|
@@ -2769,11 +2769,11 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2769
2769
|
* @returns Return this matrix
|
|
2770
2770
|
*/
|
|
2771
2771
|
invert() {
|
|
2772
|
-
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6],
|
|
2772
|
+
const e = this.elements, i = e[0], a = e[1], u = e[2], _ = e[3], g = e[4], y = e[5], x = e[6], d = e[7], A = e[8], p = e[9], N = e[10], k = e[11], U = e[12], K = e[13], Y = e[14], W = e[15], yt = p * Y * d - K * N * d + K * x * k - y * Y * k - p * x * W + y * N * W, Mt = U * N * d - A * Y * d - U * x * k + g * Y * k + A * x * W - g * N * W, dt = A * K * d - U * p * d + U * y * k - g * K * k - A * y * W + g * p * W, Z = U * p * x - A * K * x - U * y * N + g * K * N + A * y * Y - g * p * Y, ut = i * yt + a * Mt + u * dt + _ * Z;
|
|
2773
2773
|
if (ut === 0)
|
|
2774
2774
|
return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
|
2775
2775
|
const ht = 1 / ut;
|
|
2776
|
-
return e[0] = yt * ht, e[1] = (K * N * _ - p * Y * _ - K * u * k + a * Y * k + p * u * W - a * N * W) * ht, e[2] = (y * Y * _ - K * x * _ + K * u *
|
|
2776
|
+
return e[0] = yt * ht, e[1] = (K * N * _ - p * Y * _ - K * u * k + a * Y * k + p * u * W - a * N * W) * ht, e[2] = (y * Y * _ - K * x * _ + K * u * d - a * Y * d - y * u * W + a * x * W) * ht, e[3] = (p * x * _ - y * N * _ - p * u * d + a * N * d + y * u * k - a * x * k) * ht, e[4] = Mt * ht, e[5] = (A * Y * _ - U * N * _ + U * u * k - i * Y * k - A * u * W + i * N * W) * ht, e[6] = (U * x * _ - g * Y * _ - U * u * d + i * Y * d + g * u * W - i * x * W) * ht, e[7] = (g * N * _ - A * x * _ + A * u * d - i * N * d - g * u * k + i * x * k) * ht, e[8] = dt * ht, e[9] = (U * p * _ - A * K * _ - U * a * k + i * K * k + A * a * W - i * p * W) * ht, e[10] = (g * K * _ - U * y * _ + U * a * d - i * K * d - g * a * W + i * y * W) * ht, e[11] = (A * y * _ - g * p * _ - A * a * d + i * p * d + g * a * k - i * y * k) * ht, e[12] = Z * ht, e[13] = (A * K * u - U * p * u + U * a * N - i * K * N - A * a * Y + i * p * Y) * ht, e[14] = (U * y * u - g * K * u - U * a * x + i * K * x + g * a * Y - i * y * Y) * ht, e[15] = (g * p * u - A * y * u + A * a * x - i * p * x - g * a * N + i * y * N) * ht, this;
|
|
2777
2777
|
}
|
|
2778
2778
|
/**
|
|
2779
2779
|
* Multiply the columns of this matrix by vector v.
|
|
@@ -2836,17 +2836,17 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2836
2836
|
* @returns Return this matrix
|
|
2837
2837
|
*/
|
|
2838
2838
|
makeRotationAxis(e, i) {
|
|
2839
|
-
const a = Math.cos(i), u = Math.sin(i), _ = 1 - a, g = e.x, y = e.y, x = e.z,
|
|
2839
|
+
const a = Math.cos(i), u = Math.sin(i), _ = 1 - a, g = e.x, y = e.y, x = e.z, d = _ * g, A = _ * y;
|
|
2840
2840
|
return this.set(
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2841
|
+
d * g + a,
|
|
2842
|
+
d * y - u * x,
|
|
2843
|
+
d * x + u * y,
|
|
2844
2844
|
0,
|
|
2845
|
-
|
|
2845
|
+
d * y + u * x,
|
|
2846
2846
|
A * y + a,
|
|
2847
2847
|
A * x - u * g,
|
|
2848
2848
|
0,
|
|
2849
|
-
|
|
2849
|
+
d * x - u * y,
|
|
2850
2850
|
A * x + u * g,
|
|
2851
2851
|
_ * x * x + a,
|
|
2852
2852
|
0,
|
|
@@ -2887,8 +2887,8 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2887
2887
|
* @returns Return this matrix
|
|
2888
2888
|
*/
|
|
2889
2889
|
compose(e, i, a) {
|
|
2890
|
-
const u = this.elements, _ = i.x, g = i.y, y = i.z, x = i.w,
|
|
2891
|
-
return u[0] = (1 - (K + W)) * Z, u[1] = (k +
|
|
2890
|
+
const u = this.elements, _ = i.x, g = i.y, y = i.z, x = i.w, d = _ + _, A = g + g, p = y + y, N = _ * d, k = _ * A, U = _ * p, K = g * A, Y = g * p, W = y * p, yt = x * d, Mt = x * A, dt = x * p, Z = a.x, ut = a.y, ht = a.z;
|
|
2891
|
+
return u[0] = (1 - (K + W)) * Z, u[1] = (k + dt) * Z, u[2] = (U - Mt) * Z, u[3] = 0, u[4] = (k - dt) * ut, u[5] = (1 - (N + W)) * ut, u[6] = (Y + yt) * ut, u[7] = 0, u[8] = (U + Mt) * ht, u[9] = (Y - yt) * ht, u[10] = (1 - (N + K)) * ht, u[11] = 0, u[12] = e.x, u[13] = e.y, u[14] = e.z, u[15] = 1, this;
|
|
2892
2892
|
}
|
|
2893
2893
|
/**
|
|
2894
2894
|
* Decompose this matrix into its position, quaternion and scale components.
|
|
@@ -2906,8 +2906,8 @@ const fr = /* @__PURE__ */ new Q(), Rr = /* @__PURE__ */ new ir(), qn = class qn
|
|
|
2906
2906
|
let _ = mn.set(u[0], u[1], u[2]).length();
|
|
2907
2907
|
const g = mn.set(u[4], u[5], u[6]).length(), y = mn.set(u[8], u[9], u[10]).length();
|
|
2908
2908
|
this.determinant() < 0 && (_ = -_), e.x = u[12], e.y = u[13], e.z = u[14], xe.copy(this);
|
|
2909
|
-
const
|
|
2910
|
-
return xe.elements[0] *=
|
|
2909
|
+
const d = 1 / _, A = 1 / g, p = 1 / y;
|
|
2910
|
+
return xe.elements[0] *= d, xe.elements[1] *= d, xe.elements[2] *= d, xe.elements[4] *= A, xe.elements[5] *= A, xe.elements[6] *= A, xe.elements[8] *= p, xe.elements[9] *= p, xe.elements[10] *= p, i.setFromRotationMatrix(xe), a.x = _, a.y = g, a.z = y, this;
|
|
2911
2911
|
}
|
|
2912
2912
|
// makePerspective(
|
|
2913
2913
|
// left,
|
|
@@ -3264,7 +3264,7 @@ class Ue {
|
|
|
3264
3264
|
* @returns Return this box
|
|
3265
3265
|
*/
|
|
3266
3266
|
applyMatrix4(e) {
|
|
3267
|
-
return this.isEmpty() ? this : (Te[0].set(this.min.x, this.min.y, this.min.z).
|
|
3267
|
+
return this.isEmpty() ? this : (Te[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(e), Te[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(e), Te[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(e), Te[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(e), Te[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(e), Te[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(e), Te[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(e), Te[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(e), this.setFromPoints(Te), this);
|
|
3268
3268
|
}
|
|
3269
3269
|
/**
|
|
3270
3270
|
* Add offset to both the upper and lower bounds of this box, effectively moving this box offset units
|
|
@@ -3662,7 +3662,7 @@ class sr {
|
|
|
3662
3662
|
* @returns Return this plane
|
|
3663
3663
|
*/
|
|
3664
3664
|
applyMatrix4(e, i) {
|
|
3665
|
-
const a = i || Hi.getNormalMatrix(e), u = this.coplanarPoint(Dr).
|
|
3665
|
+
const a = i || Hi.getNormalMatrix(e), u = this.coplanarPoint(Dr).applyMatrix4(e), _ = this.normal.applyMatrix3(a).normalize();
|
|
3666
3666
|
return this.constant = -u.dot(_), this;
|
|
3667
3667
|
}
|
|
3668
3668
|
/**
|
|
@@ -3809,25 +3809,25 @@ const Fr = /* @__PURE__ */ new Xn(), Or = /* @__PURE__ */ new ir(), Gn = class G
|
|
|
3809
3809
|
* @returns Return this euler
|
|
3810
3810
|
*/
|
|
3811
3811
|
setFromRotationMatrix(e, i = this._order, a = !0) {
|
|
3812
|
-
const u = e.elements, _ = u[0], g = u[4], y = u[8], x = u[1],
|
|
3812
|
+
const u = e.elements, _ = u[0], g = u[4], y = u[8], x = u[1], d = u[5], A = u[9], p = u[2], N = u[6], k = u[10];
|
|
3813
3813
|
switch (i) {
|
|
3814
3814
|
case "XYZ":
|
|
3815
|
-
this._y = Math.asin(Ze(y, -1, 1)), Math.abs(y) < 0.9999999 ? (this._x = Math.atan2(-A, k), this._z = Math.atan2(-g, _)) : (this._x = Math.atan2(N,
|
|
3815
|
+
this._y = Math.asin(Ze(y, -1, 1)), Math.abs(y) < 0.9999999 ? (this._x = Math.atan2(-A, k), this._z = Math.atan2(-g, _)) : (this._x = Math.atan2(N, d), this._z = 0);
|
|
3816
3816
|
break;
|
|
3817
3817
|
case "YXZ":
|
|
3818
|
-
this._x = Math.asin(-Ze(A, -1, 1)), Math.abs(A) < 0.9999999 ? (this._y = Math.atan2(y, k), this._z = Math.atan2(x,
|
|
3818
|
+
this._x = Math.asin(-Ze(A, -1, 1)), Math.abs(A) < 0.9999999 ? (this._y = Math.atan2(y, k), this._z = Math.atan2(x, d)) : (this._y = Math.atan2(-p, _), this._z = 0);
|
|
3819
3819
|
break;
|
|
3820
3820
|
case "ZXY":
|
|
3821
|
-
this._x = Math.asin(Ze(N, -1, 1)), Math.abs(N) < 0.9999999 ? (this._y = Math.atan2(-p, k), this._z = Math.atan2(-g,
|
|
3821
|
+
this._x = Math.asin(Ze(N, -1, 1)), Math.abs(N) < 0.9999999 ? (this._y = Math.atan2(-p, k), this._z = Math.atan2(-g, d)) : (this._y = 0, this._z = Math.atan2(x, _));
|
|
3822
3822
|
break;
|
|
3823
3823
|
case "ZYX":
|
|
3824
|
-
this._y = Math.asin(-Ze(p, -1, 1)), Math.abs(p) < 0.9999999 ? (this._x = Math.atan2(N, k), this._z = Math.atan2(x, _)) : (this._x = 0, this._z = Math.atan2(-g,
|
|
3824
|
+
this._y = Math.asin(-Ze(p, -1, 1)), Math.abs(p) < 0.9999999 ? (this._x = Math.atan2(N, k), this._z = Math.atan2(x, _)) : (this._x = 0, this._z = Math.atan2(-g, d));
|
|
3825
3825
|
break;
|
|
3826
3826
|
case "YZX":
|
|
3827
|
-
this._z = Math.asin(Ze(x, -1, 1)), Math.abs(x) < 0.9999999 ? (this._x = Math.atan2(-A,
|
|
3827
|
+
this._z = Math.asin(Ze(x, -1, 1)), Math.abs(x) < 0.9999999 ? (this._x = Math.atan2(-A, d), this._y = Math.atan2(-p, _)) : (this._x = 0, this._y = Math.atan2(y, k));
|
|
3828
3828
|
break;
|
|
3829
3829
|
case "XZY":
|
|
3830
|
-
this._z = Math.asin(-Ze(g, -1, 1)), Math.abs(g) < 0.9999999 ? (this._x = Math.atan2(N,
|
|
3830
|
+
this._z = Math.asin(-Ze(g, -1, 1)), Math.abs(g) < 0.9999999 ? (this._x = Math.atan2(N, d), this._y = Math.atan2(y, _)) : (this._x = Math.atan2(-A, k), this._y = 0);
|
|
3831
3831
|
break;
|
|
3832
3832
|
default:
|
|
3833
3833
|
console.warn(
|
|
@@ -4003,7 +4003,7 @@ class is extends ti {
|
|
|
4003
4003
|
});
|
|
4004
4004
|
const g = { index: -1, children: [] };
|
|
4005
4005
|
for (let x = 0; x < _; x++) {
|
|
4006
|
-
const
|
|
4006
|
+
const d = a[x], A = e[d], p = i[d];
|
|
4007
4007
|
let N = x + 1;
|
|
4008
4008
|
for (; N < _; N++) {
|
|
4009
4009
|
const k = a[N], U = e[k];
|
|
@@ -4011,11 +4011,11 @@ class is extends ti {
|
|
|
4011
4011
|
A[It.randInt(0, A.length - 1)],
|
|
4012
4012
|
U
|
|
4013
4013
|
)) {
|
|
4014
|
-
(y = u.get(k)) == null || y.children.push(u.get(
|
|
4014
|
+
(y = u.get(k)) == null || y.children.push(u.get(d));
|
|
4015
4015
|
break;
|
|
4016
4016
|
}
|
|
4017
4017
|
}
|
|
4018
|
-
N === _ && g.children.push(u.get(
|
|
4018
|
+
N === _ && g.children.push(u.get(d));
|
|
4019
4019
|
}
|
|
4020
4020
|
return g;
|
|
4021
4021
|
}
|
|
@@ -4144,11 +4144,11 @@ class jn extends ti {
|
|
|
4144
4144
|
const _ = a.length;
|
|
4145
4145
|
let g;
|
|
4146
4146
|
i ? g = i : g = e * a[_ - 1];
|
|
4147
|
-
let y = 0, x = _ - 1,
|
|
4147
|
+
let y = 0, x = _ - 1, d;
|
|
4148
4148
|
for (; y <= x; )
|
|
4149
|
-
if (u = Math.floor(y + (x - y) / 2),
|
|
4149
|
+
if (u = Math.floor(y + (x - y) / 2), d = a[u] - g, d < 0)
|
|
4150
4150
|
y = u + 1;
|
|
4151
|
-
else if (
|
|
4151
|
+
else if (d > 0)
|
|
4152
4152
|
x = u - 1;
|
|
4153
4153
|
else {
|
|
4154
4154
|
x = u;
|
|
@@ -4214,12 +4214,12 @@ class nr extends jn {
|
|
|
4214
4214
|
const u = (ht, Lt) => ({
|
|
4215
4215
|
x: (ht.x + Lt.x) / 2,
|
|
4216
4216
|
y: (ht.y + Lt.y) / 2
|
|
4217
|
-
}), _ = (ht, Lt) => (Lt.y - ht.y) / (Lt.x - ht.x), g = (ht) => -1 / ht, y = u(e, i), x = u(i, a),
|
|
4217
|
+
}), _ = (ht, Lt) => (Lt.y - ht.y) / (Lt.x - ht.x), g = (ht) => -1 / ht, y = u(e, i), x = u(i, a), d = _(e, i), A = _(i, a), p = g(d), N = g(A), k = (ht, Lt, Kt, Tt) => {
|
|
4218
4218
|
const Gt = (Tt - Lt) / (ht - Kt), Yt = ht * Gt + Lt;
|
|
4219
4219
|
return { x: Gt, y: Yt };
|
|
4220
4220
|
}, U = y.y - p * y.x, K = x.y - N * x.x, Y = k(p, U, N, K), W = Math.sqrt(
|
|
4221
4221
|
Math.pow(e.x - Y.x, 2) + Math.pow(e.y - Y.y, 2)
|
|
4222
|
-
), yt = (ht, Lt) => Math.atan2(ht.y - Lt.y, ht.x - Lt.x), Mt = yt(e, Y),
|
|
4222
|
+
), yt = (ht, Lt) => Math.atan2(ht.y - Lt.y, ht.x - Lt.x), Mt = yt(e, Y), dt = yt(i, Y), Z = yt(a, Y), ut = Z > Mt && Z < dt || Mt > Z && Mt < dt || dt > Z && dt < Mt;
|
|
4223
4223
|
this.center = Y, this.radius = W, this._clockwise = !ut, this._startAngle = Mt, this._endAngle = Z;
|
|
4224
4224
|
}
|
|
4225
4225
|
/**
|
|
@@ -4236,20 +4236,20 @@ class nr extends jn {
|
|
|
4236
4236
|
createByStartEndPointsAndBulge(e, i, a) {
|
|
4237
4237
|
let u, _, g;
|
|
4238
4238
|
a < 0 ? (u = Math.atan(-a) * 4, _ = new Rt(e), g = new Rt(i)) : (u = Math.atan(a) * 4, _ = new Rt(i), g = new Rt(e));
|
|
4239
|
-
const y = new Rt().subVectors(g, _), x = y.length(),
|
|
4239
|
+
const y = new Rt().subVectors(g, _), x = y.length(), d = new Rt().addVectors(_, y.multiplyScalar(0.5)), A = Math.abs(x / 2 / Math.tan(u / 2)), p = y.normalize();
|
|
4240
4240
|
let N;
|
|
4241
4241
|
if (u < Math.PI) {
|
|
4242
4242
|
const k = new Rt(
|
|
4243
4243
|
p.x * Math.cos(Math.PI / 2) - p.y * Math.sin(Math.PI / 2),
|
|
4244
4244
|
p.y * Math.cos(Math.PI / 2) + p.x * Math.sin(Math.PI / 2)
|
|
4245
4245
|
);
|
|
4246
|
-
N =
|
|
4246
|
+
N = d.add(k.multiplyScalar(-A));
|
|
4247
4247
|
} else {
|
|
4248
4248
|
const k = new Rt(
|
|
4249
4249
|
p.x * Math.cos(Math.PI / 2) - p.y * Math.sin(Math.PI / 2),
|
|
4250
4250
|
p.y * Math.cos(Math.PI / 2) + p.x * Math.sin(Math.PI / 2)
|
|
4251
4251
|
);
|
|
4252
|
-
N =
|
|
4252
|
+
N = d.add(k.multiplyScalar(A));
|
|
4253
4253
|
}
|
|
4254
4254
|
a < 0 ? (this._startAngle = Math.atan2(_.y - N.y, _.x - N.x), this._endAngle = Math.atan2(g.y - N.y, g.x - N.x)) : (this._startAngle = Math.atan2(g.y - N.y, g.x - N.x), this._endAngle = Math.atan2(_.y - N.y, _.x - N.x)), this._clockwise = a < 0, this.center = N, this.radius = g.sub(N).length();
|
|
4255
4255
|
}
|
|
@@ -4635,7 +4635,7 @@ class rr extends Wn {
|
|
|
4635
4635
|
* @inheritdoc
|
|
4636
4636
|
*/
|
|
4637
4637
|
transform(e) {
|
|
4638
|
-
return this._start.
|
|
4638
|
+
return this._start.applyMatrix4(e), this._end.applyMatrix4(e), this._boundingBoxNeedsUpdate = !0, this;
|
|
4639
4639
|
}
|
|
4640
4640
|
/**
|
|
4641
4641
|
* @inheritdoc
|
|
@@ -4669,7 +4669,7 @@ class er extends Wn {
|
|
|
4669
4669
|
const u = new Q().addVectors(e, i).multiplyScalar(0.5), _ = new Q().addVectors(e, a).multiplyScalar(0.5), g = new Q().subVectors(i, e), y = new Q().subVectors(a, e), x = new Q().crossVectors(g, y).normalize();
|
|
4670
4670
|
if (x.lengthSq() === 0)
|
|
4671
4671
|
return console.error("Points are collinear and cannot form a valid arc."), null;
|
|
4672
|
-
const
|
|
4672
|
+
const d = new Q().crossVectors(g, x).normalize(), A = new Q().crossVectors(y, x).normalize(), p = d.clone().multiplyScalar(Number.MAX_SAFE_INTEGER), N = A.clone().multiplyScalar(Number.MAX_SAFE_INTEGER), k = new rr(u, u.clone().add(p)), U = new rr(_, _.clone().add(N)), K = new Q();
|
|
4673
4673
|
return k.closestPointToPoint(U.startPoint, !0, K) ? K : (console.error("Cannot find a valid center for the arc."), null);
|
|
4674
4674
|
}
|
|
4675
4675
|
/**
|
|
@@ -4685,12 +4685,12 @@ class er extends Wn {
|
|
|
4685
4685
|
a
|
|
4686
4686
|
);
|
|
4687
4687
|
if (u) {
|
|
4688
|
-
const _ = u.distanceTo(e), g = new Q().subVectors(e, u), y = new Q().subVectors(i, u), x = Math.atan2(g.y, g.x),
|
|
4688
|
+
const _ = u.distanceTo(e), g = new Q().subVectors(e, u), y = new Q().subVectors(i, u), x = Math.atan2(g.y, g.x), d = Math.atan2(y.y, y.x);
|
|
4689
4689
|
return new er(
|
|
4690
4690
|
u,
|
|
4691
4691
|
_,
|
|
4692
4692
|
x,
|
|
4693
|
-
|
|
4693
|
+
d,
|
|
4694
4694
|
Q.Z_AXIS
|
|
4695
4695
|
);
|
|
4696
4696
|
}
|
|
@@ -4807,8 +4807,8 @@ class er extends Wn {
|
|
|
4807
4807
|
It.isBetweenAngle(x, this.startAngle, this.endAngle) && e.push(x);
|
|
4808
4808
|
let i = 1 / 0, a = 1 / 0, u = 1 / 0, _ = -1 / 0, g = -1 / 0, y = -1 / 0;
|
|
4809
4809
|
for (const x of e) {
|
|
4810
|
-
const
|
|
4811
|
-
|
|
4810
|
+
const d = this.getPointAtAngle(x);
|
|
4811
|
+
d.x < i && (i = d.x), d.y < a && (a = d.y), d.z < u && (u = d.z), d.x > _ && (_ = d.x), d.y > g && (g = d.y), d.z > y && (y = d.z);
|
|
4812
4812
|
}
|
|
4813
4813
|
return new Ue(
|
|
4814
4814
|
{ x: i, y: a, z: u },
|
|
@@ -4842,7 +4842,7 @@ class er extends Wn {
|
|
|
4842
4842
|
*/
|
|
4843
4843
|
transform(e) {
|
|
4844
4844
|
const i = gr.copy(this.refVec).applyAxisAngle(this.normal, this.startAngle).multiplyScalar(this.radius), a = gr.copy(this.refVec).applyAxisAngle(this.normal, this.endAngle).multiplyScalar(this.radius);
|
|
4845
|
-
return this.center.
|
|
4845
|
+
return this.center.applyMatrix4(e), i.applyMatrix4(e), a.applyMatrix4(e), this.normal.applyMatrix4(e).normalize(), this.refVec.applyMatrix4(e).normalize(), this.startAngle = this.getAngle(i), this.endAngle = this.getAngle(a), this._boundingBoxNeedsUpdate = !0, this;
|
|
4846
4846
|
}
|
|
4847
4847
|
/**
|
|
4848
4848
|
* @inheritdoc
|
|
@@ -5026,8 +5026,8 @@ class ei extends jn {
|
|
|
5026
5026
|
const _ = this.startAngle + e * a;
|
|
5027
5027
|
let g = this.center.x + this.majorAxisRadius * Math.cos(_), y = this.center.y + this.minorAxisRadius * Math.sin(_);
|
|
5028
5028
|
if (this.rotation !== 0) {
|
|
5029
|
-
const x = Math.cos(this.rotation),
|
|
5030
|
-
g = A * x - p *
|
|
5029
|
+
const x = Math.cos(this.rotation), d = Math.sin(this.rotation), A = g - this.center.x, p = y - this.center.y;
|
|
5030
|
+
g = A * x - p * d + this.center.x, y = A * d + p * x + this.center.y;
|
|
5031
5031
|
}
|
|
5032
5032
|
return new Vt(g, y);
|
|
5033
5033
|
}
|
|
@@ -5195,8 +5195,8 @@ class ni extends Wn {
|
|
|
5195
5195
|
const e = 1e3, i = this.deltaAngle / e;
|
|
5196
5196
|
let a = 0, u = this.getPointAtAngle(this.startAngle);
|
|
5197
5197
|
for (let _ = 1; _ <= e; _++) {
|
|
5198
|
-
const g = this.startAngle + _ * i, y = this.getPointAtAngle(g), x = y.x - u.x,
|
|
5199
|
-
a += Math.sqrt(x * x +
|
|
5198
|
+
const g = this.startAngle + _ * i, y = this.getPointAtAngle(g), x = y.x - u.x, d = y.y - u.y, A = y.z - u.z;
|
|
5199
|
+
a += Math.sqrt(x * x + d * d + A * A), u = y;
|
|
5200
5200
|
}
|
|
5201
5201
|
return a;
|
|
5202
5202
|
}
|
|
@@ -5212,8 +5212,8 @@ class ni extends Wn {
|
|
|
5212
5212
|
It.isBetweenAngle(x, this.startAngle, this.endAngle) && e.push(x);
|
|
5213
5213
|
let i = 1 / 0, a = 1 / 0, u = 1 / 0, _ = -1 / 0, g = -1 / 0, y = -1 / 0;
|
|
5214
5214
|
for (const x of e) {
|
|
5215
|
-
const
|
|
5216
|
-
|
|
5215
|
+
const d = this.getPointAtAngle(x);
|
|
5216
|
+
d.x < i && (i = d.x), d.y < a && (a = d.y), d.z < u && (u = d.z), d.x > _ && (_ = d.x), d.y > g && (g = d.y), d.z > y && (y = d.z);
|
|
5217
5217
|
}
|
|
5218
5218
|
return new Ue(
|
|
5219
5219
|
{ x: i, y: a, z: u },
|
|
@@ -5222,7 +5222,7 @@ class ni extends Wn {
|
|
|
5222
5222
|
} else {
|
|
5223
5223
|
let i = 1 / 0, a = 1 / 0, u = 1 / 0, _ = -1 / 0, g = -1 / 0, y = -1 / 0;
|
|
5224
5224
|
for (let x = 0; x <= 100; x++) {
|
|
5225
|
-
const
|
|
5225
|
+
const d = this.startAngle + this.deltaAngle * (x / 100), A = this.getPointAtAngle(d);
|
|
5226
5226
|
i = Math.min(i, A.x), a = Math.min(a, A.y), u = Math.min(u, A.z), _ = Math.max(_, A.x), g = Math.max(g, A.y), y = Math.max(y, A.z);
|
|
5227
5227
|
}
|
|
5228
5228
|
return new Ue(
|
|
@@ -5428,8 +5428,8 @@ class ss extends jn {
|
|
|
5428
5428
|
if (_.bulge) {
|
|
5429
5429
|
let g = null;
|
|
5430
5430
|
if (u < a - 1 ? g = this._vertices[u + 1] : u == a - 1 && this.closed && (g = this._vertices[0]), g) {
|
|
5431
|
-
const x = new nr(_, g, _.bulge).getPoints(e),
|
|
5432
|
-
for (let A = 0; A <
|
|
5431
|
+
const x = new nr(_, g, _.bulge).getPoints(e), d = x.length;
|
|
5432
|
+
for (let A = 0; A < d; ++A) {
|
|
5433
5433
|
const p = x[A];
|
|
5434
5434
|
i.push(new Vt(p.x, p.y));
|
|
5435
5435
|
}
|
|
@@ -5615,24 +5615,24 @@ var ii = { exports: {} };
|
|
|
5615
5615
|
if (u() && _(), u() || _()) {
|
|
5616
5616
|
var g = a;
|
|
5617
5617
|
if (_()) {
|
|
5618
|
-
var y = function(x,
|
|
5618
|
+
var y = function(x, d) {
|
|
5619
5619
|
var A = a;
|
|
5620
5620
|
return x.split(".").forEach(function(p) {
|
|
5621
5621
|
A && (A = A[p]);
|
|
5622
|
-
}), A ? A[
|
|
5622
|
+
}), A ? A[d] : null;
|
|
5623
5623
|
};
|
|
5624
5624
|
onmessage = function(x) {
|
|
5625
5625
|
if (!(!x.data.className || !x.data.methodName)) {
|
|
5626
|
-
var
|
|
5627
|
-
if (!
|
|
5626
|
+
var d = y(x.data.className, x.data.methodName);
|
|
5627
|
+
if (!d)
|
|
5628
5628
|
return console.error("could not find " + x.data.className + "." + x.data.methodName);
|
|
5629
|
-
postMessage({ result:
|
|
5629
|
+
postMessage({ result: d.apply(null, x.data.args), id: x.data.id });
|
|
5630
5630
|
}
|
|
5631
5631
|
};
|
|
5632
5632
|
}
|
|
5633
5633
|
}
|
|
5634
|
-
return function(x,
|
|
5635
|
-
|
|
5634
|
+
return function(x, d, A) {
|
|
5635
|
+
d.geom = d.geom || {}, d.exe = d.exe || {}, d.eval = d.eval || {}, d.core = d.core || {}, d.promhx = d.promhx || {};
|
|
5636
5636
|
var p = {}, N = function() {
|
|
5637
5637
|
return wt.__string_rec(this, "");
|
|
5638
5638
|
};
|
|
@@ -5745,9 +5745,9 @@ var ii = { exports: {} };
|
|
|
5745
5745
|
},
|
|
5746
5746
|
__class__: Mt
|
|
5747
5747
|
};
|
|
5748
|
-
var
|
|
5748
|
+
var dt = function() {
|
|
5749
5749
|
};
|
|
5750
|
-
p.StringTools =
|
|
5750
|
+
p.StringTools = dt, dt.__name__ = ["StringTools"], dt.fastCodeAt = function(t, n) {
|
|
5751
5751
|
return t.charCodeAt(n);
|
|
5752
5752
|
};
|
|
5753
5753
|
var Z = p.ValueType = { __ename__: ["ValueType"], __constructs__: ["TNull", "TInt", "TFloat", "TBool", "TObject", "TFunction", "TClass", "TEnum", "TUnknown"] };
|
|
@@ -5884,8 +5884,8 @@ var ii = { exports: {} };
|
|
|
5884
5884
|
var h = 0;
|
|
5885
5885
|
this.buf.b += "a";
|
|
5886
5886
|
for (var c = t.length, v = 0; v < c; ) {
|
|
5887
|
-
var
|
|
5888
|
-
t[
|
|
5887
|
+
var f = v++;
|
|
5888
|
+
t[f] == null ? h++ : (h > 0 && (h == 1 ? this.buf.b += "n" : (this.buf.b += "u", h == null ? this.buf.b += "null" : this.buf.b += "" + h), h = 0), this.serialize(t[f]));
|
|
5889
5889
|
}
|
|
5890
5890
|
h > 0 && (h == 1 ? this.buf.b += "n" : (this.buf.b += "u", h == null ? this.buf.b += "null" : this.buf.b += "" + h)), this.buf.b += "h";
|
|
5891
5891
|
break;
|
|
@@ -6094,9 +6094,9 @@ var ii = { exports: {} };
|
|
|
6094
6094
|
if (v < 0 || v >= this.cache.length) throw new X("Invalid reference");
|
|
6095
6095
|
return this.cache[v];
|
|
6096
6096
|
case 82:
|
|
6097
|
-
var
|
|
6098
|
-
if (
|
|
6099
|
-
return this.scache[
|
|
6097
|
+
var f = this.readDigits();
|
|
6098
|
+
if (f < 0 || f >= this.scache.length) throw new X("Invalid string reference");
|
|
6099
|
+
return this.scache[f];
|
|
6100
6100
|
case 120:
|
|
6101
6101
|
throw new X(this.unserialize());
|
|
6102
6102
|
case 99:
|
|
@@ -6162,17 +6162,17 @@ var ii = { exports: {} };
|
|
|
6162
6162
|
var lt = this.pos, mt = tt & 3, kt;
|
|
6163
6163
|
kt = (tt >> 2) * 3 + (mt >= 2 ? mt - 1 : 0);
|
|
6164
6164
|
for (var Et = lt + (tt - mt), zt = ae.alloc(kt), Bt = 0; lt < Et; ) {
|
|
6165
|
-
var ne = O[
|
|
6166
|
-
zt.set(Bt++, ne << 2 |
|
|
6167
|
-
var $t = O[
|
|
6168
|
-
zt.set(Bt++,
|
|
6169
|
-
var Qt = O[
|
|
6165
|
+
var ne = O[dt.fastCodeAt(at, lt++)], fe = O[dt.fastCodeAt(at, lt++)];
|
|
6166
|
+
zt.set(Bt++, ne << 2 | fe >> 4);
|
|
6167
|
+
var $t = O[dt.fastCodeAt(at, lt++)];
|
|
6168
|
+
zt.set(Bt++, fe << 4 | $t >> 2);
|
|
6169
|
+
var Qt = O[dt.fastCodeAt(at, lt++)];
|
|
6170
6170
|
zt.set(Bt++, $t << 6 | Qt);
|
|
6171
6171
|
}
|
|
6172
6172
|
if (mt >= 2) {
|
|
6173
|
-
var re = O[
|
|
6173
|
+
var re = O[dt.fastCodeAt(at, lt++)], ue = O[dt.fastCodeAt(at, lt++)];
|
|
6174
6174
|
if (zt.set(Bt++, re << 2 | ue >> 4), mt == 3) {
|
|
6175
|
-
var pe = O[
|
|
6175
|
+
var pe = O[dt.fastCodeAt(at, lt++)];
|
|
6176
6176
|
zt.set(Bt++, ue << 4 | pe >> 2);
|
|
6177
6177
|
}
|
|
6178
6178
|
}
|
|
@@ -6346,13 +6346,13 @@ var ii = { exports: {} };
|
|
|
6346
6346
|
}
|
|
6347
6347
|
return s + ")";
|
|
6348
6348
|
}
|
|
6349
|
-
var v = t.length,
|
|
6349
|
+
var v = t.length, f = "[";
|
|
6350
6350
|
n += " ";
|
|
6351
6351
|
for (var m = 0; m < v; ) {
|
|
6352
6352
|
var b = m++;
|
|
6353
|
-
|
|
6353
|
+
f += (b > 0 ? "," : "") + wt.__string_rec(t[b], n);
|
|
6354
6354
|
}
|
|
6355
|
-
return
|
|
6355
|
+
return f += "]", f;
|
|
6356
6356
|
}
|
|
6357
6357
|
var w;
|
|
6358
6358
|
try {
|
|
@@ -6536,8 +6536,8 @@ var ii = { exports: {} };
|
|
|
6536
6536
|
} else if (t instanceof Array && t.__enum__ == null) {
|
|
6537
6537
|
var v = t;
|
|
6538
6538
|
if (v.length + n > r.byteLength) throw new X("set() outside of range");
|
|
6539
|
-
for (var
|
|
6540
|
-
var b =
|
|
6539
|
+
for (var f = 0, m = v.length; f < m; ) {
|
|
6540
|
+
var b = f++;
|
|
6541
6541
|
r[b + n] = v[b];
|
|
6542
6542
|
}
|
|
6543
6543
|
} else throw new X("TODO");
|
|
@@ -6566,23 +6566,23 @@ var ii = { exports: {} };
|
|
|
6566
6566
|
}, pt.linkAll = function(t, n) {
|
|
6567
6567
|
for (var r = function(h, c, v) {
|
|
6568
6568
|
if (h.length == 0 || pt.allFulfilled(h)) {
|
|
6569
|
-
for (var
|
|
6569
|
+
for (var f, m = [], b = ge(t)(); b.hasNext(); ) {
|
|
6570
6570
|
var w = b.next();
|
|
6571
6571
|
m.push(w == c ? v : w._val);
|
|
6572
6572
|
}
|
|
6573
|
-
|
|
6573
|
+
f = m, n.handleResolve(f);
|
|
6574
6574
|
}
|
|
6575
6575
|
}, s = ge(t)(); s.hasNext(); ) {
|
|
6576
6576
|
var o = s.next();
|
|
6577
6577
|
o._update.push({
|
|
6578
6578
|
async: n,
|
|
6579
6579
|
linkf: /* @__PURE__ */ function(h, c, v) {
|
|
6580
|
-
return function(
|
|
6581
|
-
h(c, v,
|
|
6580
|
+
return function(f) {
|
|
6581
|
+
h(c, v, f);
|
|
6582
6582
|
};
|
|
6583
6583
|
}(r, function(h) {
|
|
6584
|
-
for (var c, v = [],
|
|
6585
|
-
var m =
|
|
6584
|
+
for (var c, v = [], f = ge(t)(); f.hasNext(); ) {
|
|
6585
|
+
var m = f.next();
|
|
6586
6586
|
m != o && v.push(m);
|
|
6587
6587
|
}
|
|
6588
6588
|
return c = v, c;
|
|
@@ -6590,8 +6590,8 @@ var ii = { exports: {} };
|
|
|
6590
6590
|
});
|
|
6591
6591
|
}
|
|
6592
6592
|
pt.allFulfilled(t) && n.handleResolve(function(h) {
|
|
6593
|
-
for (var c, v = [],
|
|
6594
|
-
var m =
|
|
6593
|
+
for (var c, v = [], f = ge(t)(); f.hasNext(); ) {
|
|
6594
|
+
var m = f.next();
|
|
6595
6595
|
v.push(m._val);
|
|
6596
6596
|
}
|
|
6597
6597
|
return c = v, c;
|
|
@@ -6653,11 +6653,11 @@ var ii = { exports: {} };
|
|
|
6653
6653
|
},
|
|
6654
6654
|
_resolve: function(t) {
|
|
6655
6655
|
var n = this;
|
|
6656
|
-
this._pending ?
|
|
6656
|
+
this._pending ? ft.enqueue(/* @__PURE__ */ function(r, s) {
|
|
6657
6657
|
return function() {
|
|
6658
6658
|
r(s);
|
|
6659
6659
|
};
|
|
6660
|
-
}(le(this, this._resolve), t)) : (this._resolved = !0, this._pending = !0,
|
|
6660
|
+
}(le(this, this._resolve), t)) : (this._resolved = !0, this._pending = !0, ft.queue.add(function() {
|
|
6661
6661
|
n._val = t;
|
|
6662
6662
|
for (var r = 0, s = n._update; r < s.length; ) {
|
|
6663
6663
|
var o = s[r];
|
|
@@ -6669,7 +6669,7 @@ var ii = { exports: {} };
|
|
|
6669
6669
|
}
|
|
6670
6670
|
}
|
|
6671
6671
|
n._fulfilled = !0, n._pending = !1;
|
|
6672
|
-
}),
|
|
6672
|
+
}), ft.continueOnNextLoop());
|
|
6673
6673
|
},
|
|
6674
6674
|
handleError: function(t) {
|
|
6675
6675
|
this._handleError(t);
|
|
@@ -6682,21 +6682,21 @@ var ii = { exports: {} };
|
|
|
6682
6682
|
++o, c(s);
|
|
6683
6683
|
}
|
|
6684
6684
|
else if (n._update.length > 0)
|
|
6685
|
-
for (var v = 0,
|
|
6686
|
-
var m =
|
|
6685
|
+
for (var v = 0, f = n._update; v < f.length; ) {
|
|
6686
|
+
var m = f[v];
|
|
6687
6687
|
++v, m.async.handleError(s);
|
|
6688
6688
|
}
|
|
6689
6689
|
else throw new X(s);
|
|
6690
6690
|
n._errorPending = !1;
|
|
6691
6691
|
};
|
|
6692
|
-
this._errorPending || (this._errorPending = !0, this._errored = !0, this._errorVal = t,
|
|
6692
|
+
this._errorPending || (this._errorPending = !0, this._errored = !0, this._errorVal = t, ft.queue.add(function() {
|
|
6693
6693
|
if (n._errorMap != null) try {
|
|
6694
6694
|
n._resolve(n._errorMap(t));
|
|
6695
6695
|
} catch (s) {
|
|
6696
6696
|
s instanceof X && (s = s.val), r(s);
|
|
6697
6697
|
}
|
|
6698
6698
|
else r(t);
|
|
6699
|
-
}),
|
|
6699
|
+
}), ft.continueOnNextLoop());
|
|
6700
6700
|
},
|
|
6701
6701
|
then: function(t) {
|
|
6702
6702
|
var n = new pt(null);
|
|
@@ -6704,11 +6704,11 @@ var ii = { exports: {} };
|
|
|
6704
6704
|
},
|
|
6705
6705
|
unlink: function(t) {
|
|
6706
6706
|
var n = this;
|
|
6707
|
-
|
|
6707
|
+
ft.queue.add(function() {
|
|
6708
6708
|
n._update = n._update.filter(function(r) {
|
|
6709
6709
|
return r.async != t;
|
|
6710
6710
|
});
|
|
6711
|
-
}),
|
|
6711
|
+
}), ft.continueOnNextLoop();
|
|
6712
6712
|
},
|
|
6713
6713
|
isLinked: function(t) {
|
|
6714
6714
|
for (var n = !1, r = 0, s = this._update; r < s.length; ) {
|
|
@@ -6719,7 +6719,7 @@ var ii = { exports: {} };
|
|
|
6719
6719
|
},
|
|
6720
6720
|
__class__: pt
|
|
6721
6721
|
};
|
|
6722
|
-
var en =
|
|
6722
|
+
var en = d.promhx.Deferred = function() {
|
|
6723
6723
|
pt.call(this);
|
|
6724
6724
|
};
|
|
6725
6725
|
p["promhx.Deferred"] = en, en.__name__ = ["promhx", "Deferred"], en.__super__ = pt, en.prototype = k(pt.prototype, {
|
|
@@ -6740,7 +6740,7 @@ var ii = { exports: {} };
|
|
|
6740
6740
|
},
|
|
6741
6741
|
__class__: en
|
|
6742
6742
|
});
|
|
6743
|
-
var Ht =
|
|
6743
|
+
var Ht = d.promhx.Promise = function(t) {
|
|
6744
6744
|
pt.call(this, t), this._rejected = !1;
|
|
6745
6745
|
};
|
|
6746
6746
|
p["promhx.Promise"] = Ht, Ht.__name__ = ["promhx", "Promise"], Ht.whenAll = function(t) {
|
|
@@ -6769,7 +6769,7 @@ var ii = { exports: {} };
|
|
|
6769
6769
|
},
|
|
6770
6770
|
unlink: function(t) {
|
|
6771
6771
|
var n = this;
|
|
6772
|
-
|
|
6772
|
+
ft.queue.add(function() {
|
|
6773
6773
|
if (n._fulfilled)
|
|
6774
6774
|
n._update = n._update.filter(function(s) {
|
|
6775
6775
|
return s.async != t;
|
|
@@ -6778,7 +6778,7 @@ var ii = { exports: {} };
|
|
|
6778
6778
|
var r = "Downstream Promise is not fullfilled";
|
|
6779
6779
|
n.handleError(nn.DownstreamNotFullfilled(r));
|
|
6780
6780
|
}
|
|
6781
|
-
}),
|
|
6781
|
+
}), ft.continueOnNextLoop();
|
|
6782
6782
|
},
|
|
6783
6783
|
handleError: function(t) {
|
|
6784
6784
|
this._rejected = !0, this._handleError(t);
|
|
@@ -6796,7 +6796,7 @@ var ii = { exports: {} };
|
|
|
6796
6796
|
},
|
|
6797
6797
|
__class__: Ht
|
|
6798
6798
|
});
|
|
6799
|
-
var Nt =
|
|
6799
|
+
var Nt = d.promhx.Stream = function(t) {
|
|
6800
6800
|
pt.call(this, t), this._end_promise = new Ht();
|
|
6801
6801
|
};
|
|
6802
6802
|
p["promhx.Stream"] = Nt, Nt.__name__ = ["promhx", "Stream"], Nt.foreach = function(t) {
|
|
@@ -6871,7 +6871,7 @@ var ii = { exports: {} };
|
|
|
6871
6871
|
},
|
|
6872
6872
|
handleEnd: function() {
|
|
6873
6873
|
if (this._pending)
|
|
6874
|
-
|
|
6874
|
+
ft.queue.add(le(this, this.handleEnd)), ft.continueOnNextLoop();
|
|
6875
6875
|
else {
|
|
6876
6876
|
if (this._end_promise._resolved) return;
|
|
6877
6877
|
this._end = !0;
|
|
@@ -6880,7 +6880,7 @@ var ii = { exports: {} };
|
|
|
6880
6880
|
}
|
|
6881
6881
|
},
|
|
6882
6882
|
end: function() {
|
|
6883
|
-
return
|
|
6883
|
+
return ft.queue.add(le(this, this.handleEnd)), ft.continueOnNextLoop(), this;
|
|
6884
6884
|
},
|
|
6885
6885
|
endThen: function(t) {
|
|
6886
6886
|
return this._end_promise.then(t);
|
|
@@ -6918,7 +6918,7 @@ var ii = { exports: {} };
|
|
|
6918
6918
|
},
|
|
6919
6919
|
__class__: Nt
|
|
6920
6920
|
});
|
|
6921
|
-
var Re =
|
|
6921
|
+
var Re = d.promhx.PublicStream = function(t) {
|
|
6922
6922
|
Nt.call(this, t);
|
|
6923
6923
|
};
|
|
6924
6924
|
p["promhx.PublicStream"] = Re, Re.__name__ = ["promhx", "PublicStream"], Re.publicstream = function(t) {
|
|
@@ -6936,26 +6936,26 @@ var ii = { exports: {} };
|
|
|
6936
6936
|
},
|
|
6937
6937
|
__class__: Re
|
|
6938
6938
|
});
|
|
6939
|
-
var
|
|
6939
|
+
var ft = function() {
|
|
6940
6940
|
};
|
|
6941
|
-
p["promhx.base.EventLoop"] =
|
|
6942
|
-
|
|
6943
|
-
},
|
|
6944
|
-
if (
|
|
6945
|
-
return
|
|
6946
|
-
},
|
|
6947
|
-
return
|
|
6948
|
-
},
|
|
6941
|
+
p["promhx.base.EventLoop"] = ft, ft.__name__ = ["promhx", "base", "EventLoop"], ft.enqueue = function(t) {
|
|
6942
|
+
ft.queue.add(t), ft.continueOnNextLoop();
|
|
6943
|
+
}, ft.set_nextLoop = function(t) {
|
|
6944
|
+
if (ft.nextLoop != null) throw new X("nextLoop has already been set");
|
|
6945
|
+
return ft.nextLoop = t, ft.nextLoop;
|
|
6946
|
+
}, ft.queueEmpty = function() {
|
|
6947
|
+
return ft.queue.isEmpty();
|
|
6948
|
+
}, ft.finish = function(t) {
|
|
6949
6949
|
t == null && (t = 1e3);
|
|
6950
|
-
for (var n = null; t-- > 0 && (n =
|
|
6951
|
-
return
|
|
6952
|
-
},
|
|
6953
|
-
|
|
6954
|
-
},
|
|
6955
|
-
var t =
|
|
6956
|
-
t != null && t(),
|
|
6957
|
-
},
|
|
6958
|
-
|
|
6950
|
+
for (var n = null; t-- > 0 && (n = ft.queue.pop()) != null; ) n();
|
|
6951
|
+
return ft.queue.isEmpty();
|
|
6952
|
+
}, ft.clear = function() {
|
|
6953
|
+
ft.queue = new Y();
|
|
6954
|
+
}, ft.f = function() {
|
|
6955
|
+
var t = ft.queue.pop();
|
|
6956
|
+
t != null && t(), ft.queue.isEmpty() || ft.continueOnNextLoop();
|
|
6957
|
+
}, ft.continueOnNextLoop = function() {
|
|
6958
|
+
ft.nextLoop != null ? ft.nextLoop(ft.f) : setImmediate(ft.f);
|
|
6959
6959
|
};
|
|
6960
6960
|
var nn = p["promhx.error.PromiseError"] = { __ename__: ["promhx", "error", "PromiseError"], __constructs__: ["AlreadyResolved", "DownstreamNotFullfilled"] };
|
|
6961
6961
|
nn.AlreadyResolved = function(t) {
|
|
@@ -7041,15 +7041,15 @@ var ii = { exports: {} };
|
|
|
7041
7041
|
}, At.memoize = function(t, n, r) {
|
|
7042
7042
|
At.memo.h.hasOwnProperty(t) || At.memo.set(t, new Gt()), At.memo.h[t].h[n] = r;
|
|
7043
7043
|
};
|
|
7044
|
-
var oe =
|
|
7044
|
+
var oe = d.core.BoundingBox = function(t) {
|
|
7045
7045
|
this.max = null, this.min = null, this.dim = 3, this.initialized = !1, t != null && this.addRange(t);
|
|
7046
7046
|
};
|
|
7047
7047
|
p["verb.core.BoundingBox"] = oe, oe.__name__ = ["verb", "core", "BoundingBox"], oe.intervalsOverlap = function(t, n, r, s, o) {
|
|
7048
7048
|
o == null && (o = -1);
|
|
7049
7049
|
var h;
|
|
7050
7050
|
o < -0.5 ? h = $.TOLERANCE : h = o;
|
|
7051
|
-
var c = Math.min(t, n) - h, v = Math.max(t, n) + h,
|
|
7052
|
-
return c >=
|
|
7051
|
+
var c = Math.min(t, n) - h, v = Math.max(t, n) + h, f = Math.min(r, s) - h, m = Math.max(r, s) + h;
|
|
7052
|
+
return c >= f && c <= m || v >= f && v <= m || f >= c && f <= v || m >= c && m <= v;
|
|
7053
7053
|
}, oe.prototype = {
|
|
7054
7054
|
fromPoint: function(t) {
|
|
7055
7055
|
return new oe([t]);
|
|
@@ -7076,8 +7076,8 @@ var ii = { exports: {} };
|
|
|
7076
7076
|
intersects: function(t, n) {
|
|
7077
7077
|
if (n == null && (n = -1), !this.initialized || !t.initialized) return !1;
|
|
7078
7078
|
for (var r = this.min, s = this.max, o = t.min, h = t.max, c = 0, v = this.dim; c < v; ) {
|
|
7079
|
-
var
|
|
7080
|
-
if (!oe.intervalsOverlap(r[
|
|
7079
|
+
var f = c++;
|
|
7080
|
+
if (!oe.intervalsOverlap(r[f], s[f], o[f], h[f], n)) return !1;
|
|
7081
7081
|
}
|
|
7082
7082
|
return !0;
|
|
7083
7083
|
},
|
|
@@ -7098,18 +7098,18 @@ var ii = { exports: {} };
|
|
|
7098
7098
|
if (!this.initialized) return null;
|
|
7099
7099
|
var r = this.min, s = this.max, o = t.min, h = t.max;
|
|
7100
7100
|
if (!this.intersects(t, n)) return null;
|
|
7101
|
-
for (var c = [], v = [],
|
|
7102
|
-
var b =
|
|
7101
|
+
for (var c = [], v = [], f = 0, m = this.dim; f < m; ) {
|
|
7102
|
+
var b = f++;
|
|
7103
7103
|
c.push(Math.min(s[b], h[b])), v.push(Math.max(r[b], o[b]));
|
|
7104
7104
|
}
|
|
7105
7105
|
return new oe([v, c]);
|
|
7106
7106
|
},
|
|
7107
7107
|
__class__: oe
|
|
7108
7108
|
};
|
|
7109
|
-
var $ =
|
|
7109
|
+
var $ = d.core.Constants = function() {
|
|
7110
7110
|
};
|
|
7111
7111
|
p["verb.core.Constants"] = $, $.__name__ = ["verb", "core", "Constants"];
|
|
7112
|
-
var Ut =
|
|
7112
|
+
var Ut = d.core.SerializableBase = function() {
|
|
7113
7113
|
};
|
|
7114
7114
|
p["verb.core.SerializableBase"] = Ut, Ut.__name__ = ["verb", "core", "SerializableBase"], Ut.prototype = {
|
|
7115
7115
|
serialize: function() {
|
|
@@ -7118,99 +7118,99 @@ var ii = { exports: {} };
|
|
|
7118
7118
|
},
|
|
7119
7119
|
__class__: Ut
|
|
7120
7120
|
};
|
|
7121
|
-
var yn =
|
|
7121
|
+
var yn = d.core.Plane = function(t, n) {
|
|
7122
7122
|
this.origin = t, this.normal = n;
|
|
7123
7123
|
};
|
|
7124
7124
|
p["verb.core.Plane"] = yn, yn.__name__ = ["verb", "core", "Plane"], yn.__super__ = Ut, yn.prototype = k(Ut.prototype, {
|
|
7125
7125
|
__class__: yn
|
|
7126
7126
|
});
|
|
7127
|
-
var rn =
|
|
7127
|
+
var rn = d.core.Ray = function(t, n) {
|
|
7128
7128
|
this.origin = t, this.dir = n;
|
|
7129
7129
|
};
|
|
7130
7130
|
p["verb.core.Ray"] = rn, rn.__name__ = ["verb", "core", "Ray"], rn.__super__ = Ut, rn.prototype = k(Ut.prototype, {
|
|
7131
7131
|
__class__: rn
|
|
7132
7132
|
});
|
|
7133
|
-
var Ct =
|
|
7133
|
+
var Ct = d.core.NurbsCurveData = function(t, n, r) {
|
|
7134
7134
|
this.degree = t, this.controlPoints = r, this.knots = n;
|
|
7135
7135
|
};
|
|
7136
7136
|
p["verb.core.NurbsCurveData"] = Ct, Ct.__name__ = ["verb", "core", "NurbsCurveData"], Ct.__super__ = Ut, Ct.prototype = k(Ut.prototype, {
|
|
7137
7137
|
__class__: Ct
|
|
7138
7138
|
});
|
|
7139
|
-
var Ft =
|
|
7139
|
+
var Ft = d.core.NurbsSurfaceData = function(t, n, r, s, o) {
|
|
7140
7140
|
this.degreeU = t, this.degreeV = n, this.knotsU = r, this.knotsV = s, this.controlPoints = o;
|
|
7141
7141
|
};
|
|
7142
7142
|
p["verb.core.NurbsSurfaceData"] = Ft, Ft.__name__ = ["verb", "core", "NurbsSurfaceData"], Ft.__super__ = Ut, Ft.prototype = k(Ut.prototype, {
|
|
7143
7143
|
__class__: Ft
|
|
7144
7144
|
});
|
|
7145
|
-
var
|
|
7145
|
+
var de = d.core.MeshData = function(t, n, r, s) {
|
|
7146
7146
|
this.faces = t, this.points = n, this.normals = r, this.uvs = s;
|
|
7147
7147
|
};
|
|
7148
|
-
p["verb.core.MeshData"] =
|
|
7149
|
-
return new
|
|
7150
|
-
},
|
|
7151
|
-
__class__:
|
|
7148
|
+
p["verb.core.MeshData"] = de, de.__name__ = ["verb", "core", "MeshData"], de.empty = function() {
|
|
7149
|
+
return new de([], [], [], []);
|
|
7150
|
+
}, de.__super__ = Ut, de.prototype = k(Ut.prototype, {
|
|
7151
|
+
__class__: de
|
|
7152
7152
|
});
|
|
7153
|
-
var wn =
|
|
7153
|
+
var wn = d.core.PolylineData = function(t, n) {
|
|
7154
7154
|
this.points = t, this.params = n;
|
|
7155
7155
|
};
|
|
7156
7156
|
p["verb.core.PolylineData"] = wn, wn.__name__ = ["verb", "core", "PolylineData"], wn.__super__ = Ut, wn.prototype = k(Ut.prototype, {
|
|
7157
7157
|
__class__: wn
|
|
7158
7158
|
});
|
|
7159
|
-
var bn =
|
|
7159
|
+
var bn = d.core.VolumeData = function(t, n, r, s, o, h, c) {
|
|
7160
7160
|
this.degreeU = t, this.degreeV = n, this.degreeW = r, this.knotsU = s, this.knotsV = o, this.knotsW = h, this.controlPoints = c;
|
|
7161
7161
|
};
|
|
7162
7162
|
p["verb.core.VolumeData"] = bn, bn.__name__ = ["verb", "core", "VolumeData"], bn.__super__ = Ut, bn.prototype = k(Ut.prototype, {
|
|
7163
7163
|
__class__: bn
|
|
7164
7164
|
});
|
|
7165
|
-
var Ot =
|
|
7165
|
+
var Ot = d.core.Pair = function(t, n) {
|
|
7166
7166
|
this.item0 = t, this.item1 = n;
|
|
7167
7167
|
};
|
|
7168
7168
|
p["verb.core.Pair"] = Ot, Ot.__name__ = ["verb", "core", "Pair"], Ot.prototype = {
|
|
7169
7169
|
__class__: Ot
|
|
7170
7170
|
};
|
|
7171
|
-
var ee =
|
|
7171
|
+
var ee = d.core.Interval = function(t, n) {
|
|
7172
7172
|
this.min = t, this.max = n;
|
|
7173
7173
|
};
|
|
7174
7174
|
p["verb.core.Interval"] = ee, ee.__name__ = ["verb", "core", "Interval"], ee.prototype = {
|
|
7175
7175
|
__class__: ee
|
|
7176
7176
|
};
|
|
7177
|
-
var Ye =
|
|
7177
|
+
var Ye = d.core.CurveCurveIntersection = function(t, n, r, s) {
|
|
7178
7178
|
this.point0 = t, this.point1 = n, this.u0 = r, this.u1 = s;
|
|
7179
7179
|
};
|
|
7180
7180
|
p["verb.core.CurveCurveIntersection"] = Ye, Ye.__name__ = ["verb", "core", "CurveCurveIntersection"], Ye.prototype = {
|
|
7181
7181
|
__class__: Ye
|
|
7182
7182
|
};
|
|
7183
|
-
var xn =
|
|
7183
|
+
var xn = d.core.CurveSurfaceIntersection = function(t, n, r, s) {
|
|
7184
7184
|
this.u = t, this.uv = n, this.curvePoint = r, this.surfacePoint = s;
|
|
7185
7185
|
};
|
|
7186
7186
|
p["verb.core.CurveSurfaceIntersection"] = xn, xn.__name__ = ["verb", "core", "CurveSurfaceIntersection"], xn.prototype = {
|
|
7187
7187
|
__class__: xn
|
|
7188
7188
|
};
|
|
7189
|
-
var Ve =
|
|
7189
|
+
var Ve = d.core.MeshIntersectionPoint = function(t, n, r, s, o) {
|
|
7190
7190
|
this.visited = !1, this.adj = null, this.opp = null, this.uv0 = t, this.uv1 = n, this.point = r, this.faceIndex0, this.faceIndex1;
|
|
7191
7191
|
};
|
|
7192
7192
|
p["verb.core.MeshIntersectionPoint"] = Ve, Ve.__name__ = ["verb", "core", "MeshIntersectionPoint"], Ve.prototype = {
|
|
7193
7193
|
__class__: Ve
|
|
7194
7194
|
};
|
|
7195
|
-
var Mn =
|
|
7195
|
+
var Mn = d.core.PolylineMeshIntersection = function(t, n, r, s, o) {
|
|
7196
7196
|
this.point = t, this.u = n, this.uv = r, this.polylineIndex = s, this.faceIndex = o;
|
|
7197
7197
|
};
|
|
7198
7198
|
p["verb.core.PolylineMeshIntersection"] = Mn, Mn.__name__ = ["verb", "core", "PolylineMeshIntersection"], Mn.prototype = {
|
|
7199
7199
|
__class__: Mn
|
|
7200
7200
|
};
|
|
7201
|
-
var Pn =
|
|
7201
|
+
var Pn = d.core.SurfaceSurfaceIntersectionPoint = function(t, n, r, s) {
|
|
7202
7202
|
this.uv0 = t, this.uv1 = n, this.point = r, this.dist = s;
|
|
7203
7203
|
};
|
|
7204
7204
|
p["verb.core.SurfaceSurfaceIntersectionPoint"] = Pn, Pn.__name__ = ["verb", "core", "SurfaceSurfaceIntersectionPoint"], Pn.prototype = {
|
|
7205
7205
|
__class__: Pn
|
|
7206
7206
|
};
|
|
7207
|
-
var An =
|
|
7207
|
+
var An = d.core.TriSegmentIntersection = function(t, n, r, s) {
|
|
7208
7208
|
this.point = t, this.s = n, this.t = r, this.p = s;
|
|
7209
7209
|
};
|
|
7210
7210
|
p["verb.core.TriSegmentIntersection"] = An, An.__name__ = ["verb", "core", "TriSegmentIntersection"], An.prototype = {
|
|
7211
7211
|
__class__: An
|
|
7212
7212
|
};
|
|
7213
|
-
var sn =
|
|
7213
|
+
var sn = d.core.CurveTriPoint = function(t, n, r) {
|
|
7214
7214
|
this.u = t, this.point = n, this.uv = r;
|
|
7215
7215
|
};
|
|
7216
7216
|
p["verb.core.CurveTriPoint"] = sn, sn.__name__ = ["verb", "core", "CurveTriPoint"], sn.prototype = {
|
|
@@ -7224,21 +7224,21 @@ var ii = { exports: {} };
|
|
|
7224
7224
|
}, ve.prototype = {
|
|
7225
7225
|
__class__: ve
|
|
7226
7226
|
};
|
|
7227
|
-
var Yn =
|
|
7227
|
+
var Yn = d.core.CurvePoint = function(t, n) {
|
|
7228
7228
|
this.u = t, this.pt = n;
|
|
7229
7229
|
};
|
|
7230
7230
|
p["verb.core.CurvePoint"] = Yn, Yn.__name__ = ["verb", "core", "CurvePoint"], Yn.prototype = {
|
|
7231
7231
|
__class__: Yn
|
|
7232
7232
|
};
|
|
7233
|
-
var zn =
|
|
7233
|
+
var zn = d.core.KdTree = function(t, n) {
|
|
7234
7234
|
this.dim = 3, this.points = t, this.distanceFunction = n, this.dim = t[0].point.length, this.root = this.buildTree(t, 0, null);
|
|
7235
7235
|
};
|
|
7236
7236
|
p["verb.core.KdTree"] = zn, zn.__name__ = ["verb", "core", "KdTree"], zn.prototype = {
|
|
7237
7237
|
buildTree: function(t, n, r) {
|
|
7238
7238
|
var s = n % this.dim, o, h;
|
|
7239
7239
|
return t.length == 0 ? null : t.length == 1 ? new on(t[0], s, r) : (t.sort(function(c, v) {
|
|
7240
|
-
var
|
|
7241
|
-
return
|
|
7240
|
+
var f = c.point[s] - v.point[s];
|
|
7241
|
+
return f == 0 ? 0 : f > 0 ? 1 : -1;
|
|
7242
7242
|
}), o = Math.floor(t.length / 2), h = new on(t[o], s, r), h.left = this.buildTree(t.slice(0, o), n + 1, h), h.right = this.buildTree(t.slice(o + 1), n + 1, h), h);
|
|
7243
7243
|
},
|
|
7244
7244
|
nearest: function(t, n, r) {
|
|
@@ -7264,11 +7264,11 @@ var ii = { exports: {} };
|
|
|
7264
7264
|
for (var v = 0; v < n; )
|
|
7265
7265
|
v++, o.push(new Ot(null, r));
|
|
7266
7266
|
h(this.root);
|
|
7267
|
-
for (var
|
|
7267
|
+
for (var f = [], m = 0; m < n; ) {
|
|
7268
7268
|
var b = m++;
|
|
7269
|
-
o.content[b].item0 != null &&
|
|
7269
|
+
o.content[b].item0 != null && f.push(new Ot(o.content[b].item0.kdPoint, o.content[b].item1));
|
|
7270
7270
|
}
|
|
7271
|
-
return
|
|
7271
|
+
return f;
|
|
7272
7272
|
},
|
|
7273
7273
|
__class__: zn
|
|
7274
7274
|
};
|
|
@@ -7312,8 +7312,8 @@ var ii = { exports: {} };
|
|
|
7312
7312
|
for (var n = this.content.length, r = this.content[t], s = this.scoreFunction(r); ; ) {
|
|
7313
7313
|
var o = (t + 1) * 2, h = o - 1, c = -1, v = 0;
|
|
7314
7314
|
if (h < n) {
|
|
7315
|
-
var
|
|
7316
|
-
v = this.scoreFunction(
|
|
7315
|
+
var f = this.content[h];
|
|
7316
|
+
v = this.scoreFunction(f), v < s && (c = h);
|
|
7317
7317
|
}
|
|
7318
7318
|
if (o < n) {
|
|
7319
7319
|
var m = this.content[o], b = this.scoreFunction(m);
|
|
@@ -7326,13 +7326,13 @@ var ii = { exports: {} };
|
|
|
7326
7326
|
},
|
|
7327
7327
|
__class__: Sn
|
|
7328
7328
|
};
|
|
7329
|
-
var an =
|
|
7329
|
+
var an = d.core.KdPoint = function(t, n) {
|
|
7330
7330
|
this.point = t, this.obj = n;
|
|
7331
7331
|
};
|
|
7332
7332
|
p["verb.core.KdPoint"] = an, an.__name__ = ["verb", "core", "KdPoint"], an.prototype = {
|
|
7333
7333
|
__class__: an
|
|
7334
7334
|
};
|
|
7335
|
-
var on =
|
|
7335
|
+
var on = d.core.KdNode = function(t, n, r) {
|
|
7336
7336
|
this.kdPoint = t, this.left = null, this.right = null, this.parent = r, this.dimension = n;
|
|
7337
7337
|
};
|
|
7338
7338
|
p["verb.core.KdNode"] = on, on.__name__ = ["verb", "core", "KdNode"], on.prototype = {
|
|
@@ -7447,7 +7447,7 @@ var ii = { exports: {} };
|
|
|
7447
7447
|
},
|
|
7448
7448
|
__class__: De
|
|
7449
7449
|
};
|
|
7450
|
-
var xt =
|
|
7450
|
+
var xt = d.core.Mat = function() {
|
|
7451
7451
|
};
|
|
7452
7452
|
p["verb.core.Mat"] = xt, xt.__name__ = ["verb", "core", "Mat"], xt.mul = function(t, n) {
|
|
7453
7453
|
for (var r = [], s = 0, o = n.length; s < o; ) {
|
|
@@ -7456,13 +7456,13 @@ var ii = { exports: {} };
|
|
|
7456
7456
|
}
|
|
7457
7457
|
return r;
|
|
7458
7458
|
}, xt.mult = function(t, n) {
|
|
7459
|
-
var r, s, o, h, c, v,
|
|
7459
|
+
var r, s, o, h, c, v, f, m;
|
|
7460
7460
|
r = t.length, s = n.length, o = n[0].length, h = [];
|
|
7461
7461
|
for (var b = r - 1, w = 0, M = 0; b >= 0; ) {
|
|
7462
7462
|
for (c = [], v = t[b], M = o - 1; M >= 0; ) {
|
|
7463
|
-
for (
|
|
7464
|
-
m = w - 1,
|
|
7465
|
-
w == 0 && (
|
|
7463
|
+
for (f = v[s - 1] * n[s - 1][M], w = s - 2; w >= 1; )
|
|
7464
|
+
m = w - 1, f += v[w] * n[w][M] + v[m] * n[m][M], w -= 2;
|
|
7465
|
+
w == 0 && (f += v[0] * n[0][M]), c[M] = f, M--;
|
|
7466
7466
|
}
|
|
7467
7467
|
h[b] = c, b--;
|
|
7468
7468
|
}
|
|
@@ -7502,8 +7502,8 @@ var ii = { exports: {} };
|
|
|
7502
7502
|
for (var n = [], r = 0, s = t[0].length; r < s; ) {
|
|
7503
7503
|
var o = r++;
|
|
7504
7504
|
n.push(function(h) {
|
|
7505
|
-
for (var c, v = [],
|
|
7506
|
-
var b =
|
|
7505
|
+
for (var c, v = [], f = 0, m = t.length; f < m; ) {
|
|
7506
|
+
var b = f++;
|
|
7507
7507
|
v.push(t[b][o]);
|
|
7508
7508
|
}
|
|
7509
7509
|
return c = v, c;
|
|
@@ -7513,11 +7513,11 @@ var ii = { exports: {} };
|
|
|
7513
7513
|
}, xt.solve = function(t, n) {
|
|
7514
7514
|
return xt.LUsolve(xt.LU(t), n);
|
|
7515
7515
|
}, xt.LUsolve = function(t, n) {
|
|
7516
|
-
var r, s, o = t.LU, h = o.length, c = n.slice(), v = t.P,
|
|
7516
|
+
var r, s, o = t.LU, h = o.length, c = n.slice(), v = t.P, f, m, b;
|
|
7517
7517
|
for (r = h - 1; r != -1; )
|
|
7518
7518
|
c[r] = n[r], --r;
|
|
7519
7519
|
for (r = 0; r < h; ) {
|
|
7520
|
-
for (
|
|
7520
|
+
for (f = v[r], v[r] != r && (b = c[r], c[r] = c[f], c[f] = b), m = o[r], s = 0; s < r; )
|
|
7521
7521
|
c[r] -= c[s] * m[s], ++s;
|
|
7522
7522
|
++r;
|
|
7523
7523
|
}
|
|
@@ -7528,7 +7528,7 @@ var ii = { exports: {} };
|
|
|
7528
7528
|
}
|
|
7529
7529
|
return c;
|
|
7530
7530
|
}, xt.LU = function(t) {
|
|
7531
|
-
for (var n, r, s, o, h, c, v,
|
|
7531
|
+
for (var n, r, s, o, h, c, v, f, m, b = [], w = 0, M = t.length; w < M; ) {
|
|
7532
7532
|
var P = w++;
|
|
7533
7533
|
b.push(t[P].slice());
|
|
7534
7534
|
}
|
|
@@ -7540,9 +7540,9 @@ var ii = { exports: {} };
|
|
|
7540
7540
|
for (C[s] = v, v != s && (t[s] = t[v], t[v] = c, c = t[s]), h = c[s], n = s + 1; n < z; )
|
|
7541
7541
|
t[n][s] /= h, ++n;
|
|
7542
7542
|
for (n = s + 1; n < z; ) {
|
|
7543
|
-
for (
|
|
7544
|
-
|
|
7545
|
-
r == I && (
|
|
7543
|
+
for (f = t[n], r = s + 1; r < I; )
|
|
7544
|
+
f[r] -= f[s] * c[r], ++r, f[r] -= f[s] * c[r], ++r;
|
|
7545
|
+
r == I && (f[r] -= f[s] * c[r]), ++n;
|
|
7546
7546
|
}
|
|
7547
7547
|
++s;
|
|
7548
7548
|
}
|
|
@@ -7554,7 +7554,7 @@ var ii = { exports: {} };
|
|
|
7554
7554
|
p["verb.core._Mat.LUDecomp"] = Cn, Cn.__name__ = ["verb", "core", "_Mat", "LUDecomp"], Cn.prototype = {
|
|
7555
7555
|
__class__: Cn
|
|
7556
7556
|
};
|
|
7557
|
-
var qt =
|
|
7557
|
+
var qt = d.core.Mesh = function() {
|
|
7558
7558
|
};
|
|
7559
7559
|
p["verb.core.Mesh"] = qt, qt.__name__ = ["verb", "core", "Mesh"], qt.getTriangleNorm = function(t, n) {
|
|
7560
7560
|
var r = t[n[0]], s = t[n[1]], o = t[n[2]], h = l.sub(s, r), c = l.sub(o, r), v = l.cross(h, c);
|
|
@@ -7576,11 +7576,11 @@ var ii = { exports: {} };
|
|
|
7576
7576
|
var z = M.item0, I = P.item0;
|
|
7577
7577
|
return z == I ? 0 : z > I ? 1 : -1;
|
|
7578
7578
|
});
|
|
7579
|
-
for (var
|
|
7579
|
+
for (var f = [], m = 0, b = o.length; m < b; ) {
|
|
7580
7580
|
var w = m++;
|
|
7581
|
-
|
|
7581
|
+
f.push(o[w].item1);
|
|
7582
7582
|
}
|
|
7583
|
-
return
|
|
7583
|
+
return f;
|
|
7584
7584
|
}, qt.getMinCoordOnAxis = function(t, n, r) {
|
|
7585
7585
|
for (var s = 1 / 0, o = 0; o < 3; ) {
|
|
7586
7586
|
var h = o++, c = t[n[h]][r];
|
|
@@ -7594,13 +7594,13 @@ var ii = { exports: {} };
|
|
|
7594
7594
|
r[c] += t[n[o]][c];
|
|
7595
7595
|
}
|
|
7596
7596
|
for (var v = 0; v < 3; ) {
|
|
7597
|
-
var
|
|
7598
|
-
r[
|
|
7597
|
+
var f = v++;
|
|
7598
|
+
r[f] /= 3;
|
|
7599
7599
|
}
|
|
7600
7600
|
return r;
|
|
7601
7601
|
}, qt.triangleUVFromPoint = function(t, n, r) {
|
|
7602
|
-
var s = t.faces[n], o = t.points[s[0]], h = t.points[s[1]], c = t.points[s[2]], v = t.uvs[s[0]],
|
|
7603
|
-
return l.add(l.mul(z, v), l.add(l.mul(I,
|
|
7602
|
+
var s = t.faces[n], o = t.points[s[0]], h = t.points[s[1]], c = t.points[s[2]], v = t.uvs[s[0]], f = t.uvs[s[1]], m = t.uvs[s[2]], b = l.sub(o, r), w = l.sub(h, r), M = l.sub(c, r), P = l.norm(l.cross(l.sub(o, h), l.sub(o, c))), z = l.norm(l.cross(w, M)) / P, I = l.norm(l.cross(M, b)) / P, C = l.norm(l.cross(b, w)) / P;
|
|
7603
|
+
return l.add(l.mul(z, v), l.add(l.mul(I, f), l.mul(C, m)));
|
|
7604
7604
|
};
|
|
7605
7605
|
var Fe = function(t, n) {
|
|
7606
7606
|
if (this._empty = !1, this._face = -1, n == null) {
|
|
@@ -7617,8 +7617,8 @@ var ii = { exports: {} };
|
|
|
7617
7617
|
this._face = n[0];
|
|
7618
7618
|
return;
|
|
7619
7619
|
}
|
|
7620
|
-
var c = qt.sortTrianglesOnLongestAxis(this._boundingBox, t, n), v = G.left(c),
|
|
7621
|
-
this._children = new Ot(new Fe(t, v), new Fe(t,
|
|
7620
|
+
var c = qt.sortTrianglesOnLongestAxis(this._boundingBox, t, n), v = G.left(c), f = G.right(c);
|
|
7621
|
+
this._children = new Ot(new Fe(t, v), new Fe(t, f));
|
|
7622
7622
|
};
|
|
7623
7623
|
p["verb.core.MeshBoundingBoxTree"] = Fe, Fe.__name__ = ["verb", "core", "MeshBoundingBoxTree"], Fe.__interfaces__ = [Ne], Fe.prototype = {
|
|
7624
7624
|
split: function() {
|
|
@@ -7638,13 +7638,13 @@ var ii = { exports: {} };
|
|
|
7638
7638
|
},
|
|
7639
7639
|
__class__: Fe
|
|
7640
7640
|
};
|
|
7641
|
-
var me =
|
|
7641
|
+
var me = d.core.Minimizer = function() {
|
|
7642
7642
|
};
|
|
7643
7643
|
p["verb.core.Minimizer"] = me, me.__name__ = ["verb", "core", "Minimizer"], me.uncmin = function(t, n, r, s, o) {
|
|
7644
7644
|
r == null && (r = 1e-8), s == null && (s = function(j) {
|
|
7645
7645
|
return me.numericalGradient(t, j);
|
|
7646
7646
|
}), o == null && (o = 1e3), n = n.slice(0);
|
|
7647
|
-
var h = n.length, c = t(n), v = c,
|
|
7647
|
+
var h = n.length, c = t(n), v = c, f;
|
|
7648
7648
|
if (isNaN(c)) throw new X("uncmin: f(x0) is a NaN!");
|
|
7649
7649
|
r = Math.max(r, $.EPSILON);
|
|
7650
7650
|
var m, b, w, M = xt.identity(h), P = 0, z = [], I, C, L, B, T, R, F = "";
|
|
@@ -7661,8 +7661,8 @@ var ii = { exports: {} };
|
|
|
7661
7661
|
F = "Newton step smaller than tol";
|
|
7662
7662
|
break;
|
|
7663
7663
|
}
|
|
7664
|
-
for (T = 1,
|
|
7665
|
-
if (z = l.mul(T, m), I = l.add(n, z), v = t(I), v - c >= 0.1 * T *
|
|
7664
|
+
for (T = 1, f = l.dot(b, m), I = n; P < o && !(T * R < r); ) {
|
|
7665
|
+
if (z = l.mul(T, m), I = l.add(n, z), v = t(I), v - c >= 0.1 * T * f || isNaN(v)) {
|
|
7666
7666
|
T *= 0.5, ++P;
|
|
7667
7667
|
continue;
|
|
7668
7668
|
}
|
|
@@ -7682,24 +7682,24 @@ var ii = { exports: {} };
|
|
|
7682
7682
|
}, me.numericalGradient = function(t, n) {
|
|
7683
7683
|
var r = n.length, s = t(n);
|
|
7684
7684
|
if (s == NaN) throw new X("gradient: f(x) is a NaN!");
|
|
7685
|
-
for (var o = n.slice(0), h, c, v = [],
|
|
7685
|
+
for (var o = n.slice(0), h, c, v = [], f, m = 1e-3, b, w, M, P = 0, z, I, C, L = 0; L < r; )
|
|
7686
7686
|
for (var B = L++, T = Math.max(1e-6 * s, 1e-8); ; ) {
|
|
7687
7687
|
if (++P, P > 20) throw new X("Numerical gradient fails");
|
|
7688
7688
|
if (o[B] = n[B] + T, h = t(o), o[B] = n[B] - T, c = t(o), o[B] = n[B], isNaN(h) || isNaN(c)) {
|
|
7689
7689
|
T /= 16;
|
|
7690
7690
|
continue;
|
|
7691
7691
|
}
|
|
7692
|
-
if (v[B] = (h - c) / (2 * T), b = n[B] - T, w = n[B], M = n[B] + T, z = (h - s) / T, I = (s - c) / T, C = l.max([Math.abs(v[B]), Math.abs(s), Math.abs(h), Math.abs(c), Math.abs(b), Math.abs(w), Math.abs(M), 1e-8]),
|
|
7692
|
+
if (v[B] = (h - c) / (2 * T), b = n[B] - T, w = n[B], M = n[B] + T, z = (h - s) / T, I = (s - c) / T, C = l.max([Math.abs(v[B]), Math.abs(s), Math.abs(h), Math.abs(c), Math.abs(b), Math.abs(w), Math.abs(M), 1e-8]), f = Math.min(l.max([Math.abs(z - v[B]), Math.abs(I - v[B]), Math.abs(z - I)]) / C, T / C), f > m) T /= 16;
|
|
7693
7693
|
else break;
|
|
7694
7694
|
}
|
|
7695
7695
|
return v;
|
|
7696
7696
|
}, me.tensor = function(t, n) {
|
|
7697
7697
|
for (var r = t.length, s = n.length, o = [], h, c, v = r - 1; v >= 0; ) {
|
|
7698
7698
|
h = [], c = t[v];
|
|
7699
|
-
for (var
|
|
7700
|
-
h[
|
|
7701
|
-
for (;
|
|
7702
|
-
h[
|
|
7699
|
+
for (var f = s - 1; f >= 3; )
|
|
7700
|
+
h[f] = c * n[f], --f, h[f] = c * n[f], --f, h[f] = c * n[f], --f, h[f] = c * n[f], --f;
|
|
7701
|
+
for (; f >= 0; )
|
|
7702
|
+
h[f] = c * n[f], --f;
|
|
7703
7703
|
o[v] = h, v--;
|
|
7704
7704
|
}
|
|
7705
7705
|
return o;
|
|
@@ -7715,13 +7715,13 @@ var ii = { exports: {} };
|
|
|
7715
7715
|
p["verb.core.ISerializable"] = hn, hn.__name__ = ["verb", "core", "ISerializable"], hn.prototype = {
|
|
7716
7716
|
__class__: hn
|
|
7717
7717
|
};
|
|
7718
|
-
var ar =
|
|
7718
|
+
var ar = d.core.Deserializer = function() {
|
|
7719
7719
|
};
|
|
7720
7720
|
p["verb.core.Deserializer"] = ar, ar.__name__ = ["verb", "core", "Deserializer"], ar.deserialize = function(t) {
|
|
7721
7721
|
var n = new Tt(t), r = n.unserialize();
|
|
7722
7722
|
return r;
|
|
7723
7723
|
};
|
|
7724
|
-
var he =
|
|
7724
|
+
var he = d.core.Trig = function() {
|
|
7725
7725
|
};
|
|
7726
7726
|
p["verb.core.Trig"] = he, he.__name__ = ["verb", "core", "Trig"], he.isPointInPlane = function(t, n, r) {
|
|
7727
7727
|
return Math.abs(l.dot(l.sub(t, n.origin), n.normal)) < r;
|
|
@@ -7740,18 +7740,18 @@ var ii = { exports: {} };
|
|
|
7740
7740
|
}, he.segmentClosestPoint = function(t, n, r, s, o) {
|
|
7741
7741
|
var h = l.sub(r, n), c = l.norm(h);
|
|
7742
7742
|
if (c < $.EPSILON) return { u: s, pt: n };
|
|
7743
|
-
var v = n,
|
|
7744
|
-
return b < 0 ? { u: s, pt: n } : b > c ? { u: o, pt: r } : { u: s + (o - s) * b / c, pt: l.add(v, l.mul(b,
|
|
7743
|
+
var v = n, f = l.mul(1 / c, h), m = l.sub(t, v), b = l.dot(m, f);
|
|
7744
|
+
return b < 0 ? { u: s, pt: n } : b > c ? { u: o, pt: r } : { u: s + (o - s) * b / c, pt: l.add(v, l.mul(b, f)) };
|
|
7745
7745
|
};
|
|
7746
|
-
var l =
|
|
7746
|
+
var l = d.core.Vec = function() {
|
|
7747
7747
|
};
|
|
7748
7748
|
p["verb.core.Vec"] = l, l.__name__ = ["verb", "core", "Vec"], l.angleBetween = function(t, n) {
|
|
7749
7749
|
return Math.acos(l.dot(t, n) / (l.norm(t) * l.norm(n)));
|
|
7750
7750
|
}, l.positiveAngleBetween = function(t, n, r) {
|
|
7751
|
-
var s = l.cross(t, n), o = l.norm(t), h = l.norm(n), c = o * h, v = l.dot(t, n),
|
|
7751
|
+
var s = l.cross(t, n), o = l.norm(t), h = l.norm(n), c = o * h, v = l.dot(t, n), f = l.norm(s) / c, m = v / c, b = Math.atan2(f, m), w = l.dot(r, s);
|
|
7752
7752
|
return Math.abs(w) < $.EPSILON || w > 0 ? b : -b;
|
|
7753
7753
|
}, l.signedAngleBetween = function(t, n, r) {
|
|
7754
|
-
var s = l.cross(t, n), o = l.norm(t), h = l.norm(n), c = o * h, v = l.dot(t, n),
|
|
7754
|
+
var s = l.cross(t, n), o = l.norm(t), h = l.norm(n), c = o * h, v = l.dot(t, n), f = l.norm(s) / c, m = v / c, b = Math.atan2(f, m), w = l.dot(r, s);
|
|
7755
7755
|
return w > 0 ? b : 2 * Math.PI - b;
|
|
7756
7756
|
}, l.angleBetweenNormalized2d = function(t, n) {
|
|
7757
7757
|
var r = t[0] * n[1] - t[1] * n[0];
|
|
@@ -7937,7 +7937,7 @@ var ii = { exports: {} };
|
|
|
7937
7937
|
}
|
|
7938
7938
|
return r;
|
|
7939
7939
|
};
|
|
7940
|
-
var vt =
|
|
7940
|
+
var vt = d.eval.Analyze = function() {
|
|
7941
7941
|
};
|
|
7942
7942
|
p["verb.eval.Analyze"] = vt, vt.__name__ = ["verb", "eval", "Analyze"], vt.knotMultiplicities = function(t) {
|
|
7943
7943
|
for (var n = [new ln(t[0], 0)], r = n[0], s = 0; s < t.length; ) {
|
|
@@ -7958,21 +7958,21 @@ var ii = { exports: {} };
|
|
|
7958
7958
|
var r = vt.rationalSurfaceClosestParam(t, n);
|
|
7959
7959
|
return S.rationalSurfacePoint(t, r[0], r[1]);
|
|
7960
7960
|
}, vt.rationalSurfaceClosestParam = function(t, n) {
|
|
7961
|
-
for (var r = 5, s = 0, o, h = 1e-4, c = 5e-4, v,
|
|
7961
|
+
for (var r = 5, s = 0, o, h = 1e-4, c = 5e-4, v, f = t.knotsU[0], m = G.last(t.knotsU), b = t.knotsV[0], w = G.last(t.knotsV), M = vt.isRationalSurfaceClosed(t), P = vt.isRationalSurfaceClosed(t, !1), z, I = Pt.rationalSurfaceAdaptive(t, new Oe()), C = 1 / 0, L = 0, B = I.points.length; L < B; ) {
|
|
7962
7962
|
var T = L++, R = I.points[T], F = l.normSquared(l.sub(n, R));
|
|
7963
7963
|
F < C && (C = F, z = I.uvs[T]);
|
|
7964
7964
|
}
|
|
7965
7965
|
for (var j = function(kt) {
|
|
7966
7966
|
return S.rationalSurfaceDerivatives(t, kt[0], kt[1], 2);
|
|
7967
7967
|
}, D = function(kt, Et, zt) {
|
|
7968
|
-
var Bt = Et[1][0], ne = Et[0][1],
|
|
7968
|
+
var Bt = Et[1][0], ne = Et[0][1], fe = Et[2][0], $t = Et[0][2], Qt = Et[1][1], re = Et[1][1], ue = l.dot(Bt, zt), pe = l.dot(ne, zt), Ie = [-ue, -pe], ye = l.dot(Bt, Bt) + l.dot(fe, zt), we = l.dot(Bt, ne) + l.dot(Qt, zt), be = l.dot(Bt, ne) + l.dot(re, zt), Be = l.dot(ne, ne) + l.dot($t, zt), _n = [[ye, we], [be, Be]], Qe = xt.solve(_n, Ie);
|
|
7969
7969
|
return l.add(Qe, kt);
|
|
7970
7970
|
}; s < r; ) {
|
|
7971
7971
|
o = j(z), v = l.sub(o[0][0], n);
|
|
7972
7972
|
var V = l.norm(v), q = l.dot(o[1][0], v), H = l.norm(o[1][0]) * V, J = l.dot(o[0][1], v), et = l.norm(o[0][1]) * V, it = q / H, nt = J / et, st = V < h, tt = it < c, at = nt < c;
|
|
7973
7973
|
if (st && tt && at) return z;
|
|
7974
7974
|
var O = D(z, o, v);
|
|
7975
|
-
O[0] <
|
|
7975
|
+
O[0] < f ? M ? O = [m - (O[0] - f), O[1]] : O = [f + $.EPSILON, O[1]] : O[0] > m && (M ? O = [f + (O[0] - m), O[1]] : O = [m - $.EPSILON, O[1]]), O[1] < b ? P ? O = [O[0], w - (O[1] - b)] : O = [O[0], b + $.EPSILON] : O[1] > w && (P ? O = [O[0], b + (O[0] - w)] : O = [O[0], w - $.EPSILON]);
|
|
7976
7976
|
var lt = l.norm(l.mul(O[0] - z[0], o[1][0])), mt = l.norm(l.mul(O[1] - z[1], o[0][1]));
|
|
7977
7977
|
if (lt + mt < h) return z;
|
|
7978
7978
|
z = O, s++;
|
|
@@ -7982,7 +7982,7 @@ var ii = { exports: {} };
|
|
|
7982
7982
|
return S.rationalCurvePoint(t, vt.rationalCurveClosestParam(t, n));
|
|
7983
7983
|
}, vt.rationalCurveClosestParam = function(t, n) {
|
|
7984
7984
|
for (var r = 1 / 0, s = 0, o = Pt.rationalCurveRegularSample(t, t.controlPoints.length * t.degree, !0), h = 0, c = o.length - 1; h < c; ) {
|
|
7985
|
-
var v = h++,
|
|
7985
|
+
var v = h++, f = o[v][0], m = o[v + 1][0], b = o[v].slice(1), w = o[v + 1].slice(1), M = he.segmentClosestPoint(n, b, w, f, m), P = l.norm(l.sub(n, M.pt));
|
|
7986
7986
|
P < r && (r = P, s = M.u);
|
|
7987
7987
|
}
|
|
7988
7988
|
for (var z = 5, I = 0, C, L = 1e-4, B = 5e-4, T, R = t.knots[0], F = G.last(t.knots), j = l.normSquared(l.sub(t.controlPoints[0], G.last(t.controlPoints))) < $.EPSILON, D = s, V = function(O) {
|
|
@@ -8007,9 +8007,9 @@ var ii = { exports: {} };
|
|
|
8007
8007
|
s != null ? h = s : h = ct.decomposeCurveIntoBeziers(t);
|
|
8008
8008
|
var c = 0;
|
|
8009
8009
|
h[c];
|
|
8010
|
-
var v = -$.EPSILON,
|
|
8011
|
-
for (o != null ?
|
|
8012
|
-
if (c <
|
|
8010
|
+
var v = -$.EPSILON, f;
|
|
8011
|
+
for (o != null ? f = o : f = []; v < n && c < h.length; ) {
|
|
8012
|
+
if (c < f.length ? f[c] = f[c] : f[c] = vt.rationalBezierCurveArcLength(t), v += f[c], n < v + $.EPSILON) return vt.rationalBezierCurveParamAtArcLength(t, n, r, f[c]);
|
|
8013
8013
|
c++;
|
|
8014
8014
|
}
|
|
8015
8015
|
return -1;
|
|
@@ -8017,9 +8017,9 @@ var ii = { exports: {} };
|
|
|
8017
8017
|
if (n < 0) return t.knots[0];
|
|
8018
8018
|
var o;
|
|
8019
8019
|
if (s != null ? o = s : o = vt.rationalBezierCurveArcLength(t), n > o) return G.last(t.knots);
|
|
8020
|
-
var h = t.knots[0], c = 0, v = G.last(t.knots),
|
|
8021
|
-
for (r != null ? w = r : w = $.TOLERANCE * 2;
|
|
8022
|
-
m = (h + v) / 2, b = vt.rationalBezierCurveArcLength(t, m), b > n ? (v = m,
|
|
8020
|
+
var h = t.knots[0], c = 0, v = G.last(t.knots), f = o, m = 0, b = 0, w;
|
|
8021
|
+
for (r != null ? w = r : w = $.TOLERANCE * 2; f - c > w; )
|
|
8022
|
+
m = (h + v) / 2, b = vt.rationalBezierCurveArcLength(t, m), b > n ? (v = m, f = b) : (h = m, c = b);
|
|
8023
8023
|
return (h + v) / 2;
|
|
8024
8024
|
}, vt.rationalCurveArcLength = function(t, n, r) {
|
|
8025
8025
|
r == null && (r = 16), n == null ? n = G.last(t.knots) : n = n;
|
|
@@ -8032,13 +8032,13 @@ var ii = { exports: {} };
|
|
|
8032
8032
|
r == null && (r = 16);
|
|
8033
8033
|
var s;
|
|
8034
8034
|
n == null ? s = G.last(t.knots) : s = n;
|
|
8035
|
-
for (var o = (s - t.knots[0]) / 2, h = 0, c = t.degree + r, v,
|
|
8035
|
+
for (var o = (s - t.knots[0]) / 2, h = 0, c = t.degree + r, v, f, m = 0; m < c; ) {
|
|
8036
8036
|
var b = m++;
|
|
8037
|
-
v = o * vt.Tvalues[c][b] + o + t.knots[0],
|
|
8037
|
+
v = o * vt.Tvalues[c][b] + o + t.knots[0], f = S.rationalCurveDerivatives(t, v, 1), h += vt.Cvalues[c][b] * l.norm(f[1]);
|
|
8038
8038
|
}
|
|
8039
8039
|
return o * h;
|
|
8040
8040
|
};
|
|
8041
|
-
var ln =
|
|
8041
|
+
var ln = d.eval.KnotMultiplicity = function(t, n) {
|
|
8042
8042
|
this.knot = t, this.mult = n;
|
|
8043
8043
|
};
|
|
8044
8044
|
p["verb.eval.KnotMultiplicity"] = ln, ln.__name__ = ["verb", "eval", "KnotMultiplicity"], ln.prototype = {
|
|
@@ -8047,7 +8047,7 @@ var ii = { exports: {} };
|
|
|
8047
8047
|
},
|
|
8048
8048
|
__class__: ln
|
|
8049
8049
|
};
|
|
8050
|
-
var _e =
|
|
8050
|
+
var _e = d.eval.Check = function() {
|
|
8051
8051
|
};
|
|
8052
8052
|
p["verb.eval.Check"] = _e, _e.__name__ = ["verb", "eval", "Check"], _e.isValidKnotVector = function(t, n) {
|
|
8053
8053
|
if (t.length == 0 || t.length < (n + 1) * 2) return !1;
|
|
@@ -8057,8 +8057,8 @@ var ii = { exports: {} };
|
|
|
8057
8057
|
}
|
|
8058
8058
|
r = G.last(t);
|
|
8059
8059
|
for (var c = t.length - n - 1, v = t.length; c < v; ) {
|
|
8060
|
-
var
|
|
8061
|
-
if (Math.abs(t[
|
|
8060
|
+
var f = c++;
|
|
8061
|
+
if (Math.abs(t[f] - r) > $.EPSILON) return !1;
|
|
8062
8062
|
}
|
|
8063
8063
|
return _e.isNonDecreasing(t);
|
|
8064
8064
|
}, _e.isNonDecreasing = function(t) {
|
|
@@ -8089,14 +8089,14 @@ var ii = { exports: {} };
|
|
|
8089
8089
|
if (!_e.isValidKnotVector(t.knotsU, t.degreeU) || !_e.isValidKnotVector(t.knotsV, t.degreeV)) throw new X("Invalid knot vector format! Should begin with degree + 1 repeats and end with degree + 1 repeats!");
|
|
8090
8090
|
return t;
|
|
8091
8091
|
};
|
|
8092
|
-
var Zt =
|
|
8092
|
+
var Zt = d.eval.Divide = function() {
|
|
8093
8093
|
};
|
|
8094
8094
|
p["verb.eval.Divide"] = Zt, Zt.__name__ = ["verb", "eval", "Divide"], Zt.surfaceSplit = function(t, n, r) {
|
|
8095
8095
|
r == null && (r = !1);
|
|
8096
8096
|
var s, o, h;
|
|
8097
8097
|
r ? (h = t.controlPoints, s = t.knotsV, o = t.degreeV) : (h = xt.transpose(t.controlPoints), s = t.knotsU, o = t.degreeU);
|
|
8098
|
-
for (var c, v = [],
|
|
8099
|
-
|
|
8098
|
+
for (var c, v = [], f = 0, m = o + 1; f < m; )
|
|
8099
|
+
f++, v.push(n);
|
|
8100
8100
|
c = v;
|
|
8101
8101
|
for (var b = [], w = [], M = S.knotSpan(o, n, s), P = null, z = 0; z < h.length; ) {
|
|
8102
8102
|
var I = h[z];
|
|
@@ -8110,7 +8110,7 @@ var ii = { exports: {} };
|
|
|
8110
8110
|
for (var s = t.knots, o, h = [], c = 0, v = r + 1; c < v; )
|
|
8111
8111
|
c++, h.push(n);
|
|
8112
8112
|
o = h;
|
|
8113
|
-
var
|
|
8113
|
+
var f = ct.curveKnotRefine(t, o), m = S.knotSpan(r, n, s), b = f.knots.slice(0, m + r + 2), w = f.knots.slice(m + 1), M = f.controlPoints.slice(0, m + 1), P = f.controlPoints.slice(m + 1);
|
|
8114
8114
|
return [new Ct(r, b, M), new Ct(r, w, P)];
|
|
8115
8115
|
}, Zt.rationalCurveByEqualArcLength = function(t, n) {
|
|
8116
8116
|
var r = vt.rationalCurveArcLength(t), s = r / n;
|
|
@@ -8120,20 +8120,20 @@ var ii = { exports: {} };
|
|
|
8120
8120
|
return vt.rationalBezierCurveArcLength(M);
|
|
8121
8121
|
}), o = l.sum(s), h = [new un(t.knots[0], 0)];
|
|
8122
8122
|
if (n > o) return h;
|
|
8123
|
-
for (var c = n, v = 0,
|
|
8124
|
-
for (m += s[v];
|
|
8125
|
-
w = vt.rationalBezierCurveParamAtArcLength(r[v],
|
|
8123
|
+
for (var c = n, v = 0, f = c, m = 0, b = 0, w; v < r.length; ) {
|
|
8124
|
+
for (m += s[v]; f < m + $.EPSILON; )
|
|
8125
|
+
w = vt.rationalBezierCurveParamAtArcLength(r[v], f - b, $.TOLERANCE, s[v]), h.push(new un(w, f)), f += c;
|
|
8126
8126
|
b += s[v], v++;
|
|
8127
8127
|
}
|
|
8128
8128
|
return h;
|
|
8129
8129
|
};
|
|
8130
|
-
var un =
|
|
8130
|
+
var un = d.eval.CurveLengthSample = function(t, n) {
|
|
8131
8131
|
this.u = t, this.len = n;
|
|
8132
8132
|
};
|
|
8133
8133
|
p["verb.eval.CurveLengthSample"] = un, un.__name__ = ["verb", "eval", "CurveLengthSample"], un.prototype = {
|
|
8134
8134
|
__class__: un
|
|
8135
8135
|
};
|
|
8136
|
-
var S =
|
|
8136
|
+
var S = d.eval.Eval = function() {
|
|
8137
8137
|
};
|
|
8138
8138
|
p["verb.eval.Eval"] = S, S.__name__ = ["verb", "eval", "Eval"], S.rationalCurveTangent = function(t, n) {
|
|
8139
8139
|
var r = S.rationalCurveDerivatives(t, n, 1);
|
|
@@ -8143,7 +8143,7 @@ var ii = { exports: {} };
|
|
|
8143
8143
|
return l.cross(s[1][0], s[0][1]);
|
|
8144
8144
|
}, S.rationalSurfaceDerivatives = function(t, n, r, s) {
|
|
8145
8145
|
s == null && (s = 1);
|
|
8146
|
-
for (var o = S.surfaceDerivatives(t, n, r, s), h = S.rational2d(o), c = S.weight2d(o), v = [],
|
|
8146
|
+
for (var o = S.surfaceDerivatives(t, n, r, s), h = S.rational2d(o), c = S.weight2d(o), v = [], f = h[0][0].length, m = 0, b = s + 1; m < b; ) {
|
|
8147
8147
|
var w = m++;
|
|
8148
8148
|
v.push([]);
|
|
8149
8149
|
for (var M = 0, P = s - w + 1; M < P; ) {
|
|
@@ -8154,7 +8154,7 @@ var ii = { exports: {} };
|
|
|
8154
8154
|
for (var T = 1, R = w + 1; T < R; ) {
|
|
8155
8155
|
var F = T++;
|
|
8156
8156
|
l.subMulMutate(I, At.get(w, F) * c[F][0], v[w - F][z]);
|
|
8157
|
-
for (var j = l.zeros1d(
|
|
8157
|
+
for (var j = l.zeros1d(f), D = 1, V = z + 1; D < V; ) {
|
|
8158
8158
|
var q = D++;
|
|
8159
8159
|
l.addMulMutate(j, At.get(z, q) * c[F][q], v[w - F][z - q]);
|
|
8160
8160
|
}
|
|
@@ -8168,7 +8168,7 @@ var ii = { exports: {} };
|
|
|
8168
8168
|
return S.dehomogenize(S.surfacePoint(t, n, r));
|
|
8169
8169
|
}, S.rationalCurveDerivatives = function(t, n, r) {
|
|
8170
8170
|
r == null && (r = 1);
|
|
8171
|
-
for (var s = S.curveDerivatives(t, n, r), o = S.rational1d(s), h = S.weight1d(s), c = [], v = 0,
|
|
8171
|
+
for (var s = S.curveDerivatives(t, n, r), o = S.rational1d(s), h = S.weight1d(s), c = [], v = 0, f = r + 1; v < f; ) {
|
|
8172
8172
|
for (var m = v++, b = o[m], w = 1, M = m + 1; w < M; ) {
|
|
8173
8173
|
var P = w++;
|
|
8174
8174
|
l.subMulMutate(b, At.get(m, P) * h[P], c[m - P]);
|
|
@@ -8182,9 +8182,9 @@ var ii = { exports: {} };
|
|
|
8182
8182
|
var o = t.knotsU.length - t.degreeU - 2, h = t.knotsV.length - t.degreeV - 2;
|
|
8183
8183
|
return S.surfaceDerivativesGivenNM(o, h, t, n, r, s);
|
|
8184
8184
|
}, S.surfaceDerivativesGivenNM = function(t, n, r, s, o, h) {
|
|
8185
|
-
var c = r.degreeU, v = r.degreeV,
|
|
8186
|
-
if (!S.areValidRelations(c,
|
|
8187
|
-
var w =
|
|
8185
|
+
var c = r.degreeU, v = r.degreeV, f = r.controlPoints, m = r.knotsU, b = r.knotsV;
|
|
8186
|
+
if (!S.areValidRelations(c, f.length, m.length) || !S.areValidRelations(v, f[0].length, b.length)) throw new X("Invalid relations between control points, knot vector, and n");
|
|
8187
|
+
var w = f[0][0].length, M;
|
|
8188
8188
|
h < c ? M = h : M = c;
|
|
8189
8189
|
var P;
|
|
8190
8190
|
h < v ? P = h : P = v;
|
|
@@ -8194,7 +8194,7 @@ var ii = { exports: {} };
|
|
|
8194
8194
|
T[H] = l.zeros1d(w);
|
|
8195
8195
|
for (var J = 0, et = c + 1; J < et; ) {
|
|
8196
8196
|
var it = J++;
|
|
8197
|
-
l.addMulMutate(T[H], L[D][it],
|
|
8197
|
+
l.addMulMutate(T[H], L[D][it], f[I - c + it][C - v + H]);
|
|
8198
8198
|
}
|
|
8199
8199
|
}
|
|
8200
8200
|
var nt = h - D;
|
|
@@ -8213,9 +8213,9 @@ var ii = { exports: {} };
|
|
|
8213
8213
|
var s = t.knotsU.length - t.degreeU - 2, o = t.knotsV.length - t.degreeV - 2;
|
|
8214
8214
|
return S.surfacePointGivenNM(s, o, t, n, r);
|
|
8215
8215
|
}, S.surfacePointGivenNM = function(t, n, r, s, o) {
|
|
8216
|
-
var h = r.degreeU, c = r.degreeV, v = r.controlPoints,
|
|
8217
|
-
if (!S.areValidRelations(h, v.length,
|
|
8218
|
-
for (var b = v[0][0].length, w = S.knotSpanGivenN(t, h, s,
|
|
8216
|
+
var h = r.degreeU, c = r.degreeV, v = r.controlPoints, f = r.knotsU, m = r.knotsV;
|
|
8217
|
+
if (!S.areValidRelations(h, v.length, f.length) || !S.areValidRelations(c, v[0].length, m.length)) throw new X("Invalid relations between control points, knot vector, and n");
|
|
8218
|
+
for (var b = v[0][0].length, w = S.knotSpanGivenN(t, h, s, f), M = S.knotSpanGivenN(n, c, o, m), P = S.basisFunctionsGivenKnotSpanIndex(w, s, h, f), z = S.basisFunctionsGivenKnotSpanIndex(M, o, c, m), I = w - h, C = M, L = l.zeros1d(b), B = l.zeros1d(b), T = 0, R = c + 1; T < R; ) {
|
|
8219
8219
|
var F = T++;
|
|
8220
8220
|
B = l.zeros1d(b), C = M - c + F;
|
|
8221
8221
|
for (var j = 0, D = h + 1; j < D; ) {
|
|
@@ -8226,22 +8226,22 @@ var ii = { exports: {} };
|
|
|
8226
8226
|
}
|
|
8227
8227
|
return L;
|
|
8228
8228
|
}, S.curveRegularSamplePoints = function(t, n) {
|
|
8229
|
-
for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = l.mul(s, r[1]), v = l.mul(o * 0.5, r[2]),
|
|
8230
|
-
P++, M.push(S.dehomogenize(h)), l.addAllMutate([h, c, v, w]), l.addAllMutate([c, m,
|
|
8229
|
+
for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = l.mul(s, r[1]), v = l.mul(o * 0.5, r[2]), f = l.mul(o * s * 0.5, r[3]), m = l.add(v, v), b = l.add(f, f), w = l.mul(0.3333333333333333, f), M = [], P = 0, z = n + 1; P < z; )
|
|
8230
|
+
P++, M.push(S.dehomogenize(h)), l.addAllMutate([h, c, v, w]), l.addAllMutate([c, m, f]), l.addAllMutate([m, b]), l.addAllMutate([v, f]);
|
|
8231
8231
|
return M;
|
|
8232
8232
|
}, S.curveRegularSamplePoints2 = function(t, n) {
|
|
8233
|
-
for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = l.mul(s, r[1]), v = l.mul(o * 0.5, r[2]),
|
|
8234
|
-
P++, M.push(S.dehomogenize(h)), l.addAllMutate([h, c, v, w]), l.addAllMutate([c, m,
|
|
8233
|
+
for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = l.mul(s, r[1]), v = l.mul(o * 0.5, r[2]), f = l.mul(o * s * 0.5, r[3]), m = l.add(v, v), b = l.add(f, f), w = l.mul(0.3333333333333333, f), M = [], P = 0, z = n + 1; P < z; )
|
|
8234
|
+
P++, M.push(S.dehomogenize(h)), l.addAllMutate([h, c, v, w]), l.addAllMutate([c, m, f]), l.addAllMutate([m, b]), l.addAllMutate([v, f]);
|
|
8235
8235
|
return M;
|
|
8236
8236
|
}, S.rationalSurfaceRegularSampleDerivatives = function(t, n, r, s) {
|
|
8237
|
-
for (var o = S.surfaceRegularSampleDerivatives(t, n, r, s), h = [], c = n + 1, v = r + 1,
|
|
8237
|
+
for (var o = S.surfaceRegularSampleDerivatives(t, n, r, s), h = [], c = n + 1, v = r + 1, f = s + 1, m = 0; m < c; ) {
|
|
8238
8238
|
var b = m++, w = [];
|
|
8239
8239
|
h.push(w);
|
|
8240
8240
|
for (var M = 0; M < v; ) {
|
|
8241
|
-
for (var P = M++, z = o[b][P], I = S.rational2d(z), C = S.weight2d(z), L = [], B = I[0][0].length, T = 0; T <
|
|
8241
|
+
for (var P = M++, z = o[b][P], I = S.rational2d(z), C = S.weight2d(z), L = [], B = I[0][0].length, T = 0; T < f; ) {
|
|
8242
8242
|
var R = T++;
|
|
8243
8243
|
L.push([]);
|
|
8244
|
-
for (var F = 0, j =
|
|
8244
|
+
for (var F = 0, j = f - R; F < j; ) {
|
|
8245
8245
|
for (var D = F++, V = I[R][D], q = 1, H = D + 1; q < H; ) {
|
|
8246
8246
|
var J = q++;
|
|
8247
8247
|
l.subMulMutate(V, At.get(D, J) * C[0][J], L[R][D - J]);
|
|
@@ -8263,9 +8263,9 @@ var ii = { exports: {} };
|
|
|
8263
8263
|
}
|
|
8264
8264
|
return h;
|
|
8265
8265
|
}, S.surfaceRegularSampleDerivatives = function(t, n, r, s) {
|
|
8266
|
-
var o = t.degreeU, h = t.degreeV, c = t.controlPoints, v = t.knotsU,
|
|
8267
|
-
(G.last(v) - v[0]) / n, (G.last(
|
|
8268
|
-
for (var b = S.regularlySpacedDerivativeBasisFunctions(o, v, n), w = b.item0, M = b.item1, P = S.regularlySpacedDerivativeBasisFunctions(h,
|
|
8266
|
+
var o = t.degreeU, h = t.degreeV, c = t.controlPoints, v = t.knotsU, f = t.knotsV, m = c[0][0].length;
|
|
8267
|
+
(G.last(v) - v[0]) / n, (G.last(f) - f[0]) / r;
|
|
8268
|
+
for (var b = S.regularlySpacedDerivativeBasisFunctions(o, v, n), w = b.item0, M = b.item1, P = S.regularlySpacedDerivativeBasisFunctions(h, f, r), z = P.item0, I = P.item1, C = [], L = n + 1, B = r + 1, T = 0; T < L; ) {
|
|
8269
8269
|
var R = T++, F = [];
|
|
8270
8270
|
C.push(F);
|
|
8271
8271
|
for (var j = 0; j < B; ) {
|
|
@@ -8277,45 +8277,45 @@ var ii = { exports: {} };
|
|
|
8277
8277
|
}, S.rationalSurfaceRegularSamplePoints = function(t, n, r) {
|
|
8278
8278
|
return S.dehomogenize2d(S.surfaceRegularSamplePoints(t, n, r));
|
|
8279
8279
|
}, S.surfaceRegularSamplePoints = function(t, n, r) {
|
|
8280
|
-
var s = t.degreeU, o = t.degreeV, h = t.controlPoints, c = t.knotsU, v = t.knotsV,
|
|
8280
|
+
var s = t.degreeU, o = t.degreeV, h = t.controlPoints, c = t.knotsU, v = t.knotsV, f = h[0][0].length;
|
|
8281
8281
|
(G.last(c) - c[0]) / n, (G.last(v) - v[0]) / r;
|
|
8282
8282
|
for (var m = S.regularlySpacedBasisFunctions(s, c, n), b = m.item0, w = m.item1, M = S.regularlySpacedBasisFunctions(o, v, r), P = M.item0, z = M.item1, I = [], C = n + 1, L = r + 1, B = 0; B < C; ) {
|
|
8283
8283
|
var T = B++, R = [];
|
|
8284
8284
|
I.push(R);
|
|
8285
8285
|
for (var F = 0; F < L; ) {
|
|
8286
8286
|
var j = F++;
|
|
8287
|
-
R.push(S.surfacePointGivenBasesKnotSpans(s, o, h, b[T], P[j], w[T], z[j],
|
|
8287
|
+
R.push(S.surfacePointGivenBasesKnotSpans(s, o, h, b[T], P[j], w[T], z[j], f));
|
|
8288
8288
|
}
|
|
8289
8289
|
}
|
|
8290
8290
|
return I;
|
|
8291
8291
|
}, S.regularlySpacedBasisFunctions = function(t, n, r) {
|
|
8292
|
-
for (var s = n.length - t - 2, o = (G.last(n) - n[0]) / r, h = [], c = [], v = n[0],
|
|
8293
|
-
for (b++; v >= n[
|
|
8294
|
-
c.push(
|
|
8292
|
+
for (var s = n.length - t - 2, o = (G.last(n) - n[0]) / r, h = [], c = [], v = n[0], f = S.knotSpanGivenN(s, t, v, n), m = r + 1, b = 0; b < m; ) {
|
|
8293
|
+
for (b++; v >= n[f + 1]; ) f++;
|
|
8294
|
+
c.push(f), h.push(S.basisFunctionsGivenKnotSpanIndex(f, v, t, n)), v += o;
|
|
8295
8295
|
}
|
|
8296
8296
|
return new Ot(c, h);
|
|
8297
8297
|
}, S.regularlySpacedDerivativeBasisFunctions = function(t, n, r) {
|
|
8298
|
-
for (var s = n.length - t - 2, o = (G.last(n) - n[0]) / r, h = [], c = [], v = n[0],
|
|
8299
|
-
for (b++; v >= n[
|
|
8300
|
-
c.push(
|
|
8298
|
+
for (var s = n.length - t - 2, o = (G.last(n) - n[0]) / r, h = [], c = [], v = n[0], f = S.knotSpanGivenN(s, t, v, n), m = r + 1, b = 0; b < m; ) {
|
|
8299
|
+
for (b++; v >= n[f + 1]; ) f++;
|
|
8300
|
+
c.push(f), h.push(S.derivativeBasisFunctionsGivenNI(f, v, t, s, n)), v += o;
|
|
8301
8301
|
}
|
|
8302
8302
|
return new Ot(c, h);
|
|
8303
8303
|
}, S.surfacePointGivenBasesKnotSpans = function(t, n, r, s, o, h, c, v) {
|
|
8304
|
-
for (var
|
|
8304
|
+
for (var f = l.zeros1d(v), m, b = s - t, w = o - n, M = 0, P = n + 1; M < P; ) {
|
|
8305
8305
|
var z = M++;
|
|
8306
8306
|
m = l.zeros1d(v);
|
|
8307
8307
|
for (var I = 0, C = t + 1; I < C; ) {
|
|
8308
8308
|
var L = I++;
|
|
8309
8309
|
l.addMulMutate(m, h[L], r[b + L][w]);
|
|
8310
8310
|
}
|
|
8311
|
-
w++, l.addMulMutate(
|
|
8311
|
+
w++, l.addMulMutate(f, c[z], m);
|
|
8312
8312
|
}
|
|
8313
|
-
return
|
|
8314
|
-
}, S.surfaceDerivativesGivenBasesKnotSpans = function(t, n, r, s, o, h, c, v,
|
|
8313
|
+
return f;
|
|
8314
|
+
}, S.surfaceDerivativesGivenBasesKnotSpans = function(t, n, r, s, o, h, c, v, f) {
|
|
8315
8315
|
var m = r[0][0].length, b;
|
|
8316
|
-
|
|
8316
|
+
f < t ? b = f : b = t;
|
|
8317
8317
|
var w;
|
|
8318
|
-
|
|
8318
|
+
f < n ? w = f : w = n;
|
|
8319
8319
|
for (var M = l.zeros3d(b + 1, w + 1, m), P = l.zeros2d(n + 1, m), z = 0, I = 0, C = b + 1; I < C; ) {
|
|
8320
8320
|
for (var L = I++, B = 0, T = n + 1; B < T; ) {
|
|
8321
8321
|
var R = B++;
|
|
@@ -8325,7 +8325,7 @@ var ii = { exports: {} };
|
|
|
8325
8325
|
l.addMulMutate(P[R], h[L][D], r[s - t + D][o - n + R]);
|
|
8326
8326
|
}
|
|
8327
8327
|
}
|
|
8328
|
-
var V =
|
|
8328
|
+
var V = f - L;
|
|
8329
8329
|
V < w ? z = V : z = w;
|
|
8330
8330
|
for (var q = 0, H = z + 1; q < H; ) {
|
|
8331
8331
|
var J = q++;
|
|
@@ -8343,9 +8343,9 @@ var ii = { exports: {} };
|
|
|
8343
8343
|
}, S.curveDerivativesGivenN = function(t, n, r, s) {
|
|
8344
8344
|
var o = n.degree, h = n.controlPoints, c = n.knots;
|
|
8345
8345
|
if (!S.areValidRelations(o, h.length, c.length)) throw new X("Invalid relations between control points, knot vector, and n");
|
|
8346
|
-
var v = h[0].length,
|
|
8347
|
-
s < o ?
|
|
8348
|
-
for (var m = l.zeros2d(s + 1, v), b = S.knotSpanGivenN(t, o, r, c), w = S.derivativeBasisFunctionsGivenNI(b, r, o,
|
|
8346
|
+
var v = h[0].length, f;
|
|
8347
|
+
s < o ? f = s : f = o;
|
|
8348
|
+
for (var m = l.zeros2d(s + 1, v), b = S.knotSpanGivenN(t, o, r, c), w = S.derivativeBasisFunctionsGivenNI(b, r, o, f, c), M = 0, P = f + 1; M < P; )
|
|
8349
8349
|
for (var z = M++, I = 0, C = o + 1; I < C; ) {
|
|
8350
8350
|
var L = I++;
|
|
8351
8351
|
l.addMulMutate(m[z], w[z][L], h[b - o + L]);
|
|
@@ -8360,23 +8360,23 @@ var ii = { exports: {} };
|
|
|
8360
8360
|
var s = n.degree, o = n.controlPoints, h = n.knots;
|
|
8361
8361
|
if (!S.areValidRelations(s, o.length, h.length))
|
|
8362
8362
|
throw new X("Invalid relations between control points, knot Array, and n");
|
|
8363
|
-
for (var c = S.knotSpanGivenN(t, s, r, h), v = S.basisFunctionsGivenKnotSpanIndex(c, r, s, h),
|
|
8363
|
+
for (var c = S.knotSpanGivenN(t, s, r, h), v = S.basisFunctionsGivenKnotSpanIndex(c, r, s, h), f = l.zeros1d(o[0].length), m = 0, b = s + 1; m < b; ) {
|
|
8364
8364
|
var w = m++;
|
|
8365
|
-
l.addMulMutate(
|
|
8365
|
+
l.addMulMutate(f, v[w], o[c - s + w]);
|
|
8366
8366
|
}
|
|
8367
|
-
return
|
|
8367
|
+
return f;
|
|
8368
8368
|
}, S.volumePoint = function(t, n, r, s) {
|
|
8369
8369
|
var o = t.knotsU.length - t.degreeU - 2, h = t.knotsV.length - t.degreeV - 2, c = t.knotsW.length - t.degreeW - 2;
|
|
8370
8370
|
return S.volumePointGivenNML(t, o, h, c, n, r, s);
|
|
8371
8371
|
}, S.volumePointGivenNML = function(t, n, r, s, o, h, c) {
|
|
8372
8372
|
if (!S.areValidRelations(t.degreeU, t.controlPoints.length, t.knotsU.length) || !S.areValidRelations(t.degreeV, t.controlPoints[0].length, t.knotsV.length) || !S.areValidRelations(t.degreeW, t.controlPoints[0][0].length, t.knotsW.length)) throw new X("Invalid relations between control points and knot vector");
|
|
8373
|
-
for (var v = t.controlPoints,
|
|
8373
|
+
for (var v = t.controlPoints, f = t.degreeU, m = t.degreeV, b = t.degreeW, w = t.knotsU, M = t.knotsV, P = t.knotsW, z = v[0][0][0].length, I = S.knotSpanGivenN(n, f, o, w), C = S.knotSpanGivenN(r, m, h, M), L = S.knotSpanGivenN(s, b, c, P), B = S.basisFunctionsGivenKnotSpanIndex(I, o, f, w), T = S.basisFunctionsGivenKnotSpanIndex(C, h, m, M), R = S.basisFunctionsGivenKnotSpanIndex(L, c, b, P), F = I - f, j = l.zeros1d(z), D = l.zeros1d(z), V = l.zeros1d(z), q = 0, H = b + 1; q < H; ) {
|
|
8374
8374
|
var J = q++;
|
|
8375
8375
|
V = l.zeros1d(z);
|
|
8376
8376
|
for (var et = L - b + J, it = 0, nt = m + 1; it < nt; ) {
|
|
8377
8377
|
var st = it++;
|
|
8378
8378
|
D = l.zeros1d(z);
|
|
8379
|
-
for (var tt = C - m + st, at = 0, O =
|
|
8379
|
+
for (var tt = C - m + st, at = 0, O = f + 1; at < O; ) {
|
|
8380
8380
|
var lt = at++;
|
|
8381
8381
|
l.addMulMutate(D, B[lt], v[F + lt][tt][et]);
|
|
8382
8382
|
}
|
|
@@ -8389,16 +8389,16 @@ var ii = { exports: {} };
|
|
|
8389
8389
|
var s = S.knotSpan(n, t, r), o = r.length - 1, h = o - n - 1;
|
|
8390
8390
|
return S.derivativeBasisFunctionsGivenNI(s, t, n, h, r);
|
|
8391
8391
|
}, S.derivativeBasisFunctionsGivenNI = function(t, n, r, s, o) {
|
|
8392
|
-
var h = l.zeros2d(r + 1, r + 1), c = l.zeros1d(r + 1), v = l.zeros1d(r + 1),
|
|
8392
|
+
var h = l.zeros2d(r + 1, r + 1), c = l.zeros1d(r + 1), v = l.zeros1d(r + 1), f = 0, m = 0;
|
|
8393
8393
|
h[0][0] = 1;
|
|
8394
8394
|
for (var b = 1, w = r + 1; b < w; ) {
|
|
8395
8395
|
var M = b++;
|
|
8396
|
-
c[M] = n - o[t + 1 - M], v[M] = o[t + M] - n,
|
|
8396
|
+
c[M] = n - o[t + 1 - M], v[M] = o[t + M] - n, f = 0;
|
|
8397
8397
|
for (var P = 0; P < M; ) {
|
|
8398
8398
|
var z = P++;
|
|
8399
|
-
h[M][z] = v[z + 1] + c[M - z], m = h[z][M - 1] / h[M][z], h[z][M] =
|
|
8399
|
+
h[M][z] = v[z + 1] + c[M - z], m = h[z][M - 1] / h[M][z], h[z][M] = f + v[z + 1] * m, f = c[M - z] * m;
|
|
8400
8400
|
}
|
|
8401
|
-
h[M][M] =
|
|
8401
|
+
h[M][M] = f;
|
|
8402
8402
|
}
|
|
8403
8403
|
for (var I = l.zeros2d(s + 1, r + 1), C = l.zeros2d(2, r + 1), L = 0, B = 1, T = 0, R = 0, F = 0, j = 0, D = 0, V = 0, q = r + 1; V < q; ) {
|
|
8404
8404
|
var H = V++;
|
|
@@ -8420,7 +8420,7 @@ var ii = { exports: {} };
|
|
|
8420
8420
|
}
|
|
8421
8421
|
}
|
|
8422
8422
|
for (var kt = r, Et = 1, zt = s + 1; Et < zt; ) {
|
|
8423
|
-
for (var Bt = Et++, ne = 0,
|
|
8423
|
+
for (var Bt = Et++, ne = 0, fe = r + 1; ne < fe; ) {
|
|
8424
8424
|
var $t = ne++;
|
|
8425
8425
|
I[Bt][$t] *= kt;
|
|
8426
8426
|
}
|
|
@@ -8431,14 +8431,14 @@ var ii = { exports: {} };
|
|
|
8431
8431
|
var s = S.knotSpan(n, t, r);
|
|
8432
8432
|
return S.basisFunctionsGivenKnotSpanIndex(s, t, n, r);
|
|
8433
8433
|
}, S.basisFunctionsGivenKnotSpanIndex = function(t, n, r, s) {
|
|
8434
|
-
var o = l.zeros1d(r + 1), h = l.zeros1d(r + 1), c = l.zeros1d(r + 1), v = 0,
|
|
8434
|
+
var o = l.zeros1d(r + 1), h = l.zeros1d(r + 1), c = l.zeros1d(r + 1), v = 0, f = 0;
|
|
8435
8435
|
o[0] = 1;
|
|
8436
8436
|
for (var m = 1, b = r + 1; m < b; ) {
|
|
8437
8437
|
var w = m++;
|
|
8438
8438
|
h[w] = n - s[t + 1 - w], c[w] = s[t + w] - n, v = 0;
|
|
8439
8439
|
for (var M = 0; M < w; ) {
|
|
8440
8440
|
var P = M++;
|
|
8441
|
-
|
|
8441
|
+
f = o[P] / (c[P + 1] + h[w - P]), o[P] = v + c[P + 1] * f, v = h[w - P] * f;
|
|
8442
8442
|
}
|
|
8443
8443
|
o[w] = v;
|
|
8444
8444
|
}
|
|
@@ -8478,8 +8478,8 @@ var ii = { exports: {} };
|
|
|
8478
8478
|
}, S.homogenize1d = function(t, n) {
|
|
8479
8479
|
var r = t.length, s = t[0].length, o = [], h = 0, c = [], v;
|
|
8480
8480
|
n != null ? v = n : v = l.rep(t.length, 1);
|
|
8481
|
-
for (var
|
|
8482
|
-
var m =
|
|
8481
|
+
for (var f = 0; f < r; ) {
|
|
8482
|
+
var m = f++, b = [];
|
|
8483
8483
|
c = t[m], h = v[m];
|
|
8484
8484
|
for (var w = 0; w < s; ) {
|
|
8485
8485
|
var M = w++;
|
|
@@ -8497,31 +8497,31 @@ var ii = { exports: {} };
|
|
|
8497
8497
|
o = h;
|
|
8498
8498
|
}
|
|
8499
8499
|
for (var v = 0; v < r; ) {
|
|
8500
|
-
var
|
|
8501
|
-
s.push(S.homogenize1d(t[
|
|
8500
|
+
var f = v++;
|
|
8501
|
+
s.push(S.homogenize1d(t[f], o[f]));
|
|
8502
8502
|
}
|
|
8503
8503
|
return s;
|
|
8504
8504
|
};
|
|
8505
|
-
var rt =
|
|
8505
|
+
var rt = d.eval.Intersect = function() {
|
|
8506
8506
|
};
|
|
8507
8507
|
p["verb.eval.Intersect"] = rt, rt.__name__ = ["verb", "eval", "Intersect"], rt.surfaces = function(t, n, r) {
|
|
8508
8508
|
var s = Pt.rationalSurfaceAdaptive(t), o = Pt.rationalSurfaceAdaptive(n), h = rt.meshes(s, o), c = h.map(function(v) {
|
|
8509
|
-
return v.map(function(
|
|
8510
|
-
return rt.surfacesAtPointWithEstimate(t, n,
|
|
8509
|
+
return v.map(function(f) {
|
|
8510
|
+
return rt.surfacesAtPointWithEstimate(t, n, f.uv0, f.uv1, r);
|
|
8511
8511
|
});
|
|
8512
8512
|
});
|
|
8513
8513
|
return c.map(function(v) {
|
|
8514
|
-
return ot.rationalInterpCurve(v.map(function(
|
|
8515
|
-
return
|
|
8514
|
+
return ot.rationalInterpCurve(v.map(function(f) {
|
|
8515
|
+
return f.point;
|
|
8516
8516
|
}), 3);
|
|
8517
8517
|
});
|
|
8518
8518
|
}, rt.surfacesAtPointWithEstimate = function(t, n, r, s, o) {
|
|
8519
|
-
var h, c, v,
|
|
8519
|
+
var h, c, v, f, m, b, w, M, P, z, I, C, L, B = 5, T = 0;
|
|
8520
8520
|
do {
|
|
8521
|
-
if (h = S.rationalSurfaceDerivatives(t, r[0], r[1], 1), c = h[0][0],
|
|
8521
|
+
if (h = S.rationalSurfaceDerivatives(t, r[0], r[1], 1), c = h[0][0], f = h[1][0], m = h[0][1], v = l.normalized(l.cross(f, m)), b = l.dot(v, c), w = S.rationalSurfaceDerivatives(n, s[0], s[1], 1), M = w[0][0], z = w[1][0], I = w[0][1], P = l.normalized(l.cross(z, I)), C = l.dot(P, M), L = l.distSquared(c, M), L < o * o) break;
|
|
8522
8522
|
var R = l.normalized(l.cross(v, P)), F = l.dot(R, c), j = rt.threePlanes(v, b, P, C, R, F);
|
|
8523
8523
|
if (j == null) throw new X("panic!");
|
|
8524
|
-
var D = l.sub(j, c), V = l.sub(j, M), q = l.cross(
|
|
8524
|
+
var D = l.sub(j, c), V = l.sub(j, M), q = l.cross(f, v), H = l.cross(m, v), J = l.cross(z, P), et = l.cross(I, P), it = l.dot(H, D) / l.dot(H, f), nt = l.dot(q, D) / l.dot(q, m), st = l.dot(et, V) / l.dot(et, z), tt = l.dot(J, V) / l.dot(J, I);
|
|
8525
8525
|
r = l.add([it, nt], r), s = l.add([st, tt], s), T++;
|
|
8526
8526
|
} while (T < B);
|
|
8527
8527
|
return new Pn(r, s, c, L);
|
|
@@ -8534,15 +8534,15 @@ var ii = { exports: {} };
|
|
|
8534
8534
|
}).filter(function(c) {
|
|
8535
8535
|
return l.distSquared(c.min.point, c.max.point) > $.EPSILON;
|
|
8536
8536
|
}), function(c, v) {
|
|
8537
|
-
var
|
|
8537
|
+
var f = l.sub(c.min.uv0, v.min.uv0), m = l.dot(f, f), b = l.sub(c.max.uv0, v.max.uv0), w = l.dot(b, b), M = l.sub(c.min.uv0, v.max.uv0), P = l.dot(M, M), z = l.sub(c.max.uv0, v.min.uv0), I = l.dot(z, z);
|
|
8538
8538
|
return m < $.EPSILON && w < $.EPSILON || P < $.EPSILON && I < $.EPSILON;
|
|
8539
8539
|
});
|
|
8540
8540
|
return rt.makeMeshIntersectionPolylines(h);
|
|
8541
8541
|
}, rt.meshSlices = function(t, n, r, s) {
|
|
8542
|
-
for (var o = new Fe(t), h = o.boundingBox(), c = h.min[0], v = h.min[1],
|
|
8542
|
+
for (var o = new Fe(t), h = o.boundingBox(), c = h.min[0], v = h.min[1], f = h.max[0], m = h.max[1], b = l.span(n, r, s), w = [], M = 0; M < b.length; ) {
|
|
8543
8543
|
var P = b[M];
|
|
8544
8544
|
++M;
|
|
8545
|
-
var z = [[c, v, P], [
|
|
8545
|
+
var z = [[c, v, P], [f, v, P], [f, m, P], [c, m, P]], I = [[0, 0], [1, 0], [1, 1], [0, 1]], C = [[0, 1, 2], [0, 2, 3]], L = new de(C, z, null, I);
|
|
8546
8546
|
w.push(rt.meshes(t, L, o));
|
|
8547
8547
|
}
|
|
8548
8548
|
return w;
|
|
@@ -8557,10 +8557,10 @@ var ii = { exports: {} };
|
|
|
8557
8557
|
++h, o.push(c.min), o.push(c.max);
|
|
8558
8558
|
}
|
|
8559
8559
|
for (var v = 0; v < o.length; ) {
|
|
8560
|
-
var
|
|
8561
|
-
if (++v,
|
|
8562
|
-
var m = rt.lookupAdjacentSegment(
|
|
8563
|
-
m != null && m.adj == null && (
|
|
8560
|
+
var f = o[v];
|
|
8561
|
+
if (++v, f.adj == null) {
|
|
8562
|
+
var m = rt.lookupAdjacentSegment(f, s, t.length);
|
|
8563
|
+
m != null && m.adj == null && (f.adj = m, m.adj = f);
|
|
8564
8564
|
}
|
|
8565
8565
|
}
|
|
8566
8566
|
var b = o.filter(function(B) {
|
|
@@ -8598,8 +8598,8 @@ var ii = { exports: {} };
|
|
|
8598
8598
|
r == null && (r = 1e-3), s != null ? s = s : s = new Se(t), o != null ? o = o : o = new De(n);
|
|
8599
8599
|
var h = rt.boundingBoxTrees(s, o, r);
|
|
8600
8600
|
return G.unique(h.map(function(c) {
|
|
8601
|
-
var v = c.item0,
|
|
8602
|
-
return rt.curveAndSurfaceWithEstimate(v,
|
|
8601
|
+
var v = c.item0, f = c.item1, m = G.first(v.knots), b = G.last(v.knots), w = (m + b) / 2, M = G.first(f.knotsU), P = G.last(f.knotsU), z = G.first(f.knotsV), I = G.last(f.knotsV), C = [(M + P) / 2, (z + I) / 2];
|
|
8602
|
+
return rt.curveAndSurfaceWithEstimate(v, f, [w].concat(C), r);
|
|
8603
8603
|
}).filter(function(c) {
|
|
8604
8604
|
return l.distSquared(c.curvePoint, c.surfacePoint) < r * r;
|
|
8605
8605
|
}), function(c, v) {
|
|
@@ -8607,11 +8607,11 @@ var ii = { exports: {} };
|
|
|
8607
8607
|
});
|
|
8608
8608
|
}, rt.curveAndSurfaceWithEstimate = function(t, n, r, s) {
|
|
8609
8609
|
s == null && (s = 1e-3);
|
|
8610
|
-
var o = function(
|
|
8611
|
-
var m = S.rationalCurvePoint(t,
|
|
8610
|
+
var o = function(f) {
|
|
8611
|
+
var m = S.rationalCurvePoint(t, f[0]), b = S.rationalSurfacePoint(n, f[1], f[2]), w = l.sub(m, b);
|
|
8612
8612
|
return l.dot(w, w);
|
|
8613
|
-
}, h = function(
|
|
8614
|
-
var m = S.rationalCurveDerivatives(t,
|
|
8613
|
+
}, h = function(f) {
|
|
8614
|
+
var m = S.rationalCurveDerivatives(t, f[0], 1), b = S.rationalSurfaceDerivatives(n, f[1], f[2], 1), w = l.sub(b[0][0], m[0]), M = l.mul(-1, m[1]), P = b[1][0], z = b[0][1];
|
|
8615
8615
|
return [2 * l.dot(M, w), 2 * l.dot(P, w), 2 * l.dot(z, w)];
|
|
8616
8616
|
}, c = me.uncmin(o, r, s * s, h), v = c.solution;
|
|
8617
8617
|
return new xn(v[0], [v[1], v[2]], S.rationalCurvePoint(t, v[0]), S.rationalSurfacePoint(n, v[1], v[2]));
|
|
@@ -8619,10 +8619,10 @@ var ii = { exports: {} };
|
|
|
8619
8619
|
for (var s = rt.boundingBoxTrees(new ke(t), new Ce(n), r), o = [], h = 0; h < s.length; ) {
|
|
8620
8620
|
var c = s[h];
|
|
8621
8621
|
++h;
|
|
8622
|
-
var v = c.item0,
|
|
8622
|
+
var v = c.item0, f = c.item1, m = rt.segmentWithTriangle(t.points[v], t.points[v + 1], n.points, n.faces[f]);
|
|
8623
8623
|
if (m != null) {
|
|
8624
|
-
var b = m.point, w = l.lerp(m.p, [t.params[v]], [t.params[v + 1]])[0], M = qt.triangleUVFromPoint(n,
|
|
8625
|
-
o.push(new Mn(b, w, M, v,
|
|
8624
|
+
var b = m.point, w = l.lerp(m.p, [t.params[v]], [t.params[v + 1]])[0], M = qt.triangleUVFromPoint(n, f, b);
|
|
8625
|
+
o.push(new Mn(b, w, M, v, f));
|
|
8626
8626
|
}
|
|
8627
8627
|
}
|
|
8628
8628
|
return o;
|
|
@@ -8633,15 +8633,15 @@ var ii = { exports: {} };
|
|
|
8633
8633
|
for (var h = []; s.length > 0; ) {
|
|
8634
8634
|
var c = s.pop(), v = o.pop();
|
|
8635
8635
|
if (!(c.empty() || v.empty()) && c.boundingBox().intersects(v.boundingBox(), r)) {
|
|
8636
|
-
var
|
|
8637
|
-
if (
|
|
8636
|
+
var f = c.indivisible(r), m = v.indivisible(r);
|
|
8637
|
+
if (f && m) {
|
|
8638
8638
|
h.push(new Ot(c.yield(), v.yield()));
|
|
8639
8639
|
continue;
|
|
8640
|
-
} else if (
|
|
8640
|
+
} else if (f && !m) {
|
|
8641
8641
|
var b = v.split();
|
|
8642
8642
|
s.push(c), o.push(b.item1), s.push(c), o.push(b.item0);
|
|
8643
8643
|
continue;
|
|
8644
|
-
} else if (!
|
|
8644
|
+
} else if (!f && m) {
|
|
8645
8645
|
var w = c.split();
|
|
8646
8646
|
s.push(w.item1), o.push(v), s.push(w.item0), o.push(v);
|
|
8647
8647
|
continue;
|
|
@@ -8667,10 +8667,10 @@ var ii = { exports: {} };
|
|
|
8667
8667
|
}, c = function(M) {
|
|
8668
8668
|
var P = S.rationalCurveDerivatives(t, M[0], 1), z = S.rationalCurveDerivatives(n, M[1], 1), I = l.sub(P[0], z[0]), C = P[1], L = l.mul(-1, z[1]);
|
|
8669
8669
|
return [2 * l.dot(C, I), 2 * l.dot(L, I)];
|
|
8670
|
-
}, v = me.uncmin(h, [r, s], o * o, c),
|
|
8671
|
-
return new Ye(b, w,
|
|
8670
|
+
}, v = me.uncmin(h, [r, s], o * o, c), f = v.solution[0], m = v.solution[1], b = S.rationalCurvePoint(t, f), w = S.rationalCurvePoint(n, m);
|
|
8671
|
+
return new Ye(b, w, f, m);
|
|
8672
8672
|
}, rt.triangles = function(t, n, r, s) {
|
|
8673
|
-
var o = t.faces[n], h = r.faces[s], c = qt.getTriangleNorm(t.points, o), v = qt.getTriangleNorm(r.points, h),
|
|
8673
|
+
var o = t.faces[n], h = r.faces[s], c = qt.getTriangleNorm(t.points, o), v = qt.getTriangleNorm(r.points, h), f = t.points[o[0]], m = r.points[h[0]], b = rt.planes(f, c, m, v);
|
|
8674
8674
|
if (b == null) return null;
|
|
8675
8675
|
var w = rt.clipRayInCoplanarTriangle(b, t, n);
|
|
8676
8676
|
if (w == null) return null;
|
|
@@ -8679,8 +8679,8 @@ var ii = { exports: {} };
|
|
|
8679
8679
|
var P = rt.mergeTriangleClipIntervals(w, M, t, n, r, s);
|
|
8680
8680
|
return P == null ? null : new ee(new Ve(P.min.uv0, P.min.uv1, P.min.point, n, s), new Ve(P.max.uv0, P.max.uv1, P.max.point, n, s));
|
|
8681
8681
|
}, rt.clipRayInCoplanarTriangle = function(t, n, r) {
|
|
8682
|
-
for (var s = n.faces[r], o = [n.points[s[0]], n.points[s[1]], n.points[s[2]]], h = [n.uvs[s[0]], n.uvs[s[1]], n.uvs[s[2]]], c = [l.sub(h[1], h[0]), l.sub(h[2], h[1]), l.sub(h[0], h[2])], v = [l.sub(o[1], o[0]), l.sub(o[2], o[1]), l.sub(o[0], o[2])],
|
|
8683
|
-
var P = M++, z = o[P], I =
|
|
8682
|
+
for (var s = n.faces[r], o = [n.points[s[0]], n.points[s[1]], n.points[s[2]]], h = [n.uvs[s[0]], n.uvs[s[1]], n.uvs[s[2]]], c = [l.sub(h[1], h[0]), l.sub(h[2], h[1]), l.sub(h[0], h[2])], v = [l.sub(o[1], o[0]), l.sub(o[2], o[1]), l.sub(o[0], o[2])], f = v.map(l.normalized), m = v.map(l.norm), b = null, w = null, M = 0; M < 3; ) {
|
|
8683
|
+
var P = M++, z = o[P], I = f[P], C = rt.rays(z, I, t.origin, t.dir);
|
|
8684
8684
|
if (C != null) {
|
|
8685
8685
|
var L = C.u0, B = C.u1;
|
|
8686
8686
|
L < -$.EPSILON || L > m[P] + $.EPSILON || ((b == null || B < b.u) && (b = new sn(B, l.onRay(t.origin, t.dir, B), l.onRay(h[P], c[P], L / m[P]))), (w == null || B > w.u) && (w = new sn(B, l.onRay(t.origin, t.dir, B), l.onRay(h[P], c[P], L / m[P]))));
|
|
@@ -8693,13 +8693,13 @@ var ii = { exports: {} };
|
|
|
8693
8693
|
t.min.u > n.min.u ? c = new Ot(t.min, 0) : c = new Ot(n.min, 1);
|
|
8694
8694
|
var v;
|
|
8695
8695
|
t.max.u < n.max.u ? v = new Ot(t.max, 0) : v = new Ot(n.max, 1);
|
|
8696
|
-
var
|
|
8697
|
-
return c.item1 == 0 ? (
|
|
8696
|
+
var f = new ee(new Ve(null, null, c.item0.point, s, h), new Ve(null, null, v.item0.point, s, h));
|
|
8697
|
+
return c.item1 == 0 ? (f.min.uv0 = c.item0.uv, f.min.uv1 = qt.triangleUVFromPoint(o, h, c.item0.point)) : (f.min.uv0 = qt.triangleUVFromPoint(r, s, c.item0.point), f.min.uv1 = c.item0.uv), v.item1 == 0 ? (f.max.uv0 = v.item0.uv, f.max.uv1 = qt.triangleUVFromPoint(o, h, v.item0.point)) : (f.max.uv0 = qt.triangleUVFromPoint(r, s, v.item0.point), f.max.uv1 = v.item0.uv), f;
|
|
8698
8698
|
}, rt.planes = function(t, n, r, s) {
|
|
8699
8699
|
var o = l.cross(n, s);
|
|
8700
8700
|
if (l.dot(o, o) < $.EPSILON) return null;
|
|
8701
|
-
var h = 0, c = Math.abs(o[0]), v = Math.abs(o[1]),
|
|
8702
|
-
v > c && (h = 1, c = v),
|
|
8701
|
+
var h = 0, c = Math.abs(o[0]), v = Math.abs(o[1]), f = Math.abs(o[2]);
|
|
8702
|
+
v > c && (h = 1, c = v), f > c && (h = 2, c = f);
|
|
8703
8703
|
var m, b, w, M;
|
|
8704
8704
|
h == 0 ? (m = n[1], b = n[2], w = s[1], M = s[2]) : h == 1 ? (m = n[0], b = n[2], w = s[0], M = s[2]) : (m = n[0], b = n[1], w = s[0], M = s[1]);
|
|
8705
8705
|
var P = -l.dot(t, n), z = -l.dot(r, s), I = m * M - b * w, C = (b * z - P * M) / I, L = (P * w - m * z) / I, B;
|
|
@@ -8707,34 +8707,34 @@ var ii = { exports: {} };
|
|
|
8707
8707
|
}, rt.threePlanes = function(t, n, r, s, o, h) {
|
|
8708
8708
|
var c = l.cross(r, o), v = l.dot(t, c);
|
|
8709
8709
|
if (Math.abs(v) < $.EPSILON) return null;
|
|
8710
|
-
var
|
|
8710
|
+
var f = l.sub(l.mul(h, r), l.mul(s, o)), m = l.add(l.mul(n, c), l.cross(t, f));
|
|
8711
8711
|
return l.mul(1 / v, m);
|
|
8712
8712
|
}, rt.polylines = function(t, n, r) {
|
|
8713
8713
|
for (var s = rt.boundingBoxTrees(new ke(t), new ke(n), r), o = [], h = 0; h < s.length; ) {
|
|
8714
8714
|
var c = s[h];
|
|
8715
8715
|
++h;
|
|
8716
|
-
var v = c.item0,
|
|
8717
|
-
m != null && (m.u0 = l.lerp(m.u0, [t.params[v]], [t.params[v + 1]])[0], m.u1 = l.lerp(m.u1, [n.params[
|
|
8716
|
+
var v = c.item0, f = c.item1, m = rt.segments(t.points[v], t.points[v + 1], n.points[f], n.points[f + 1], r);
|
|
8717
|
+
m != null && (m.u0 = l.lerp(m.u0, [t.params[v]], [t.params[v + 1]])[0], m.u1 = l.lerp(m.u1, [n.params[f]], [n.params[f + 1]])[0], o.push(m));
|
|
8718
8718
|
}
|
|
8719
8719
|
return o;
|
|
8720
8720
|
}, rt.segments = function(t, n, r, s, o) {
|
|
8721
|
-
var h = l.sub(n, t), c = Math.sqrt(l.dot(h, h)), v = l.mul(1 / c, h),
|
|
8721
|
+
var h = l.sub(n, t), c = Math.sqrt(l.dot(h, h)), v = l.mul(1 / c, h), f = l.sub(s, r), m = Math.sqrt(l.dot(f, f)), b = l.mul(1 / m, f), w = rt.rays(t, v, r, b);
|
|
8722
8722
|
if (w != null) {
|
|
8723
|
-
var M = Math.min(Math.max(0, w.u0 / c), 1), P = Math.min(Math.max(0, w.u1 / m), 1), z = l.onRay(t, h, M), I = l.onRay(r,
|
|
8723
|
+
var M = Math.min(Math.max(0, w.u0 / c), 1), P = Math.min(Math.max(0, w.u1 / m), 1), z = l.onRay(t, h, M), I = l.onRay(r, f, P), C = l.distSquared(z, I);
|
|
8724
8724
|
if (C < o * o) return new Ye(z, I, M, P);
|
|
8725
8725
|
}
|
|
8726
8726
|
return null;
|
|
8727
8727
|
}, rt.rays = function(t, n, r, s) {
|
|
8728
|
-
var o = l.dot(n, s), h = l.dot(n, r), c = l.dot(n, t), v = l.dot(s, r),
|
|
8728
|
+
var o = l.dot(n, s), h = l.dot(n, r), c = l.dot(n, t), v = l.dot(s, r), f = l.dot(s, t), m = l.dot(n, n), b = l.dot(s, s), w = m * b - o * o;
|
|
8729
8729
|
if (Math.abs(w) < $.EPSILON) return null;
|
|
8730
|
-
var M = o * (h - c) - m * (v -
|
|
8730
|
+
var M = o * (h - c) - m * (v - f), P = M / w, z = (h - c + P * o) / m, I = l.onRay(t, n, z), C = l.onRay(r, s, P);
|
|
8731
8731
|
return new Ye(I, C, z, P);
|
|
8732
8732
|
}, rt.segmentWithTriangle = function(t, n, r, s) {
|
|
8733
|
-
var o = r[s[0]], h = r[s[1]], c = r[s[2]], v = l.sub(h, o),
|
|
8733
|
+
var o = r[s[0]], h = r[s[1]], c = r[s[2]], v = l.sub(h, o), f = l.sub(c, o), m = l.cross(v, f), b = l.sub(n, t), w = l.sub(t, o), M = -l.dot(m, w), P = l.dot(m, b);
|
|
8734
8734
|
if (Math.abs(P) < $.EPSILON) return null;
|
|
8735
8735
|
var z = M / P;
|
|
8736
8736
|
if (z < 0 || z > 1) return null;
|
|
8737
|
-
var I = l.add(t, l.mul(z, b)), C = l.dot(v,
|
|
8737
|
+
var I = l.add(t, l.mul(z, b)), C = l.dot(v, f), L = l.dot(v, v), B = l.dot(f, f), T = l.sub(I, o), R = l.dot(T, v), F = l.dot(T, f), j = C * C - L * B;
|
|
8738
8738
|
if (Math.abs(j) < $.EPSILON) return null;
|
|
8739
8739
|
var D = (C * F - B * R) / j, V = (C * R - L * F) / j;
|
|
8740
8740
|
return D > 1 + $.EPSILON || V > 1 + $.EPSILON || V < -$.EPSILON || D < -$.EPSILON || D + V > 1 + $.EPSILON ? null : new An(I, D, V, z);
|
|
@@ -8744,11 +8744,11 @@ var ii = { exports: {} };
|
|
|
8744
8744
|
var h = l.dot(s, l.sub(r, t)), c = h / o;
|
|
8745
8745
|
return c > 1 + $.EPSILON || c < -$.EPSILON ? null : { p: c };
|
|
8746
8746
|
};
|
|
8747
|
-
var ot =
|
|
8747
|
+
var ot = d.eval.Make = function() {
|
|
8748
8748
|
};
|
|
8749
8749
|
p["verb.eval.Make"] = ot, ot.__name__ = ["verb", "eval", "Make"], ot.rationalTranslationalSurface = function(t, n) {
|
|
8750
|
-
for (var r = S.rationalCurvePoint(n, G.first(n.knots)), s = G.first(n.knots), o = G.last(n.knots), h = 2 * n.controlPoints.length, c = (o - s) / (h - 1), v = [],
|
|
8751
|
-
var m =
|
|
8750
|
+
for (var r = S.rationalCurvePoint(n, G.first(n.knots)), s = G.first(n.knots), o = G.last(n.knots), h = 2 * n.controlPoints.length, c = (o - s) / (h - 1), v = [], f = 0; f < h; ) {
|
|
8751
|
+
var m = f++, b = l.sub(S.rationalCurvePoint(n, s + m * c), r), w = ct.rationalCurveTransform(t, [[1, 0, 0, b[0]], [0, 1, 0, b[1]], [0, 0, 1, b[2]], [0, 0, 0, 1]]);
|
|
8752
8752
|
v.push(w);
|
|
8753
8753
|
}
|
|
8754
8754
|
return ot.loftedSurface(v);
|
|
@@ -8761,7 +8761,7 @@ var ii = { exports: {} };
|
|
|
8761
8761
|
r ? s = t.knotsV : s = t.knotsU;
|
|
8762
8762
|
var o;
|
|
8763
8763
|
r ? o = t.degreeV : o = t.degreeU;
|
|
8764
|
-
for (var h = vt.knotMultiplicities(s), c = -1, v = 0,
|
|
8764
|
+
for (var h = vt.knotMultiplicities(s), c = -1, v = 0, f = h.length; v < f; ) {
|
|
8765
8765
|
var m = v++;
|
|
8766
8766
|
if (Math.abs(n - h[m].knot) < $.EPSILON) {
|
|
8767
8767
|
c = m;
|
|
@@ -8785,11 +8785,11 @@ var ii = { exports: {} };
|
|
|
8785
8785
|
var r = t[0].degree;
|
|
8786
8786
|
n == null && (n = 3), n > t.length - 1 && (n = t.length - 1);
|
|
8787
8787
|
for (var s = t[0].knots, o = [], h = [], c = 0, v = t[0].controlPoints.length; c < v; ) {
|
|
8788
|
-
var
|
|
8788
|
+
var f = [c++], m = t.map(/* @__PURE__ */ function(w) {
|
|
8789
8789
|
return function(M) {
|
|
8790
8790
|
return M.controlPoints[w[0]];
|
|
8791
8791
|
};
|
|
8792
|
-
}(
|
|
8792
|
+
}(f)), b = ot.rationalInterpCurve(m, n, !0);
|
|
8793
8793
|
h.push(b.controlPoints), o = b.knots;
|
|
8794
8794
|
}
|
|
8795
8795
|
return new Ft(r, n, s, o, h);
|
|
@@ -8805,7 +8805,7 @@ var ii = { exports: {} };
|
|
|
8805
8805
|
return n == null && (n = l.rep(t.length, 1)), new Ct(r, s, S.homogenize1d(t, n));
|
|
8806
8806
|
}, ot.fourPointSurface = function(t, n, r, s, o) {
|
|
8807
8807
|
o == null && (o = 3);
|
|
8808
|
-
for (var h = o, c = [], v = 0,
|
|
8808
|
+
for (var h = o, c = [], v = 0, f = o + 1; v < f; ) {
|
|
8809
8809
|
for (var m = v++, b = [], w = 0, M = o + 1; w < M; ) {
|
|
8810
8810
|
var P = w++, z = 1 - m / h, I = l.lerp(z, t, n), C = l.lerp(z, s, r), L = l.lerp(1 - P / h, I, C);
|
|
8811
8811
|
L.push(1), b.push(L);
|
|
@@ -8817,23 +8817,23 @@ var ii = { exports: {} };
|
|
|
8817
8817
|
}, ot.ellipseArc = function(t, n, r, s, o) {
|
|
8818
8818
|
var h = l.norm(n), c = l.norm(r);
|
|
8819
8819
|
n = l.normalized(n), r = l.normalized(r), o < s && (o = 2 * Math.PI + s);
|
|
8820
|
-
var v = o - s,
|
|
8821
|
-
v <= Math.PI / 2 ?
|
|
8822
|
-
var m = v /
|
|
8820
|
+
var v = o - s, f = 0;
|
|
8821
|
+
v <= Math.PI / 2 ? f = 1 : v <= Math.PI ? f = 2 : v <= 3 * Math.PI / 2 ? f = 3 : f = 4;
|
|
8822
|
+
var m = v / f, b = Math.cos(m / 2), w = l.add(t, l.add(l.mul(h * Math.cos(s), n), l.mul(c * Math.sin(s), r))), M = l.sub(l.mul(Math.cos(s), r), l.mul(Math.sin(s), n)), P = [], z = l.zeros1d(2 * f + 3), I = 0, C = s, L = l.zeros1d(f * 2);
|
|
8823
8823
|
P[0] = w, L[0] = 1;
|
|
8824
|
-
for (var B = 1, T =
|
|
8824
|
+
for (var B = 1, T = f + 1; B < T; ) {
|
|
8825
8825
|
var R = B++;
|
|
8826
8826
|
C += m;
|
|
8827
8827
|
var F = l.add(t, l.add(l.mul(h * Math.cos(C), n), l.mul(c * Math.sin(C), r)));
|
|
8828
8828
|
L[I + 2] = 1, P[I + 2] = F;
|
|
8829
8829
|
var j = l.sub(l.mul(Math.cos(C), r), l.mul(Math.sin(C), n)), D = rt.rays(w, l.mul(1 / l.norm(M), M), F, l.mul(1 / l.norm(j), j)), V = l.add(w, l.mul(D.u0, M));
|
|
8830
|
-
L[I + 1] = b, P[I + 1] = V, I += 2, R <
|
|
8830
|
+
L[I + 1] = b, P[I + 1] = V, I += 2, R < f && (w = F, M = j);
|
|
8831
8831
|
}
|
|
8832
|
-
for (var q = 2 *
|
|
8832
|
+
for (var q = 2 * f + 1, H = 0; H < 3; ) {
|
|
8833
8833
|
var J = H++;
|
|
8834
8834
|
z[J] = 0, z[J + q] = 1;
|
|
8835
8835
|
}
|
|
8836
|
-
switch (
|
|
8836
|
+
switch (f) {
|
|
8837
8837
|
case 2:
|
|
8838
8838
|
z[3] = z[4] = 0.5;
|
|
8839
8839
|
break;
|
|
@@ -8853,13 +8853,13 @@ var ii = { exports: {} };
|
|
|
8853
8853
|
r += l.dist(t[h], t[h + 1]), n.push(r);
|
|
8854
8854
|
}
|
|
8855
8855
|
n.push(r), n = l.mul(1 / r, n);
|
|
8856
|
-
for (var c, v = [],
|
|
8857
|
-
|
|
8856
|
+
for (var c, v = [], f = 0, m = t.length; f < m; )
|
|
8857
|
+
f++, v.push(1);
|
|
8858
8858
|
return c = v, new Ct(1, n, S.homogenize1d(t.slice(0), c));
|
|
8859
8859
|
}, ot.extrudedSurface = function(t, n, r) {
|
|
8860
|
-
for (var s = [[], [], []], o = [[], [], []], h = S.dehomogenize1d(r.controlPoints), c = S.weight1d(r.controlPoints), v = l.mul(n, t),
|
|
8860
|
+
for (var s = [[], [], []], o = [[], [], []], h = S.dehomogenize1d(r.controlPoints), c = S.weight1d(r.controlPoints), v = l.mul(n, t), f = l.mul(0.5 * n, t), m = 0, b = h.length; m < b; ) {
|
|
8861
8861
|
var w = m++;
|
|
8862
|
-
s[2][w] = h[w], s[1][w] = l.add(
|
|
8862
|
+
s[2][w] = h[w], s[1][w] = l.add(f, h[w]), s[0][w] = l.add(v, h[w]), o[0][w] = c[w], o[1][w] = c[w], o[2][w] = c[w];
|
|
8863
8863
|
}
|
|
8864
8864
|
return new Ft(2, r.degree, [0, 0, 0, 1, 1, 1], r.knots, S.homogenize2d(s, o));
|
|
8865
8865
|
}, ot.cylindricalSurface = function(t, n, r, s, o) {
|
|
@@ -8868,13 +8868,13 @@ var ii = { exports: {} };
|
|
|
8868
8868
|
}, ot.revolvedSurface = function(t, n, r, s) {
|
|
8869
8869
|
var o = S.dehomogenize1d(t.controlPoints), h = S.weight1d(t.controlPoints), c, v;
|
|
8870
8870
|
s <= Math.PI / 2 ? (c = 1, v = l.zeros1d(6 + 2 * (c - 1))) : s <= Math.PI ? (c = 2, v = l.zeros1d(6 + 2 * (c - 1)), v[3] = v[4] = 0.5) : s <= 3 * Math.PI / 2 ? (c = 3, v = l.zeros1d(6 + 2 * (c - 1)), v[3] = v[4] = 0.3333333333333333, v[5] = v[6] = 0.6666666666666666) : (c = 4, v = l.zeros1d(6 + 2 * (c - 1)), v[3] = v[4] = 0.25, v[5] = v[6] = 0.5, v[7] = v[8] = 0.75);
|
|
8871
|
-
for (var
|
|
8871
|
+
for (var f = s / c, m = 3 + 2 * (c - 1), b = 0; b < 3; ) {
|
|
8872
8872
|
var w = b++;
|
|
8873
8873
|
v[w] = 0, v[m + w] = 1;
|
|
8874
8874
|
}
|
|
8875
|
-
for (var M = Math.cos(
|
|
8875
|
+
for (var M = Math.cos(f / 2), P = 0, z = l.zeros1d(c + 1), I = l.zeros1d(c + 1), C = l.zeros3d(2 * c + 1, o.length, 3), L = l.zeros2d(2 * c + 1, o.length), B = 1, T = c + 1; B < T; ) {
|
|
8876
8876
|
var R = B++;
|
|
8877
|
-
P +=
|
|
8877
|
+
P += f, I[R] = Math.cos(P), z[R] = Math.sin(P);
|
|
8878
8878
|
}
|
|
8879
8879
|
for (var F = 0, j = o.length; F < j; ) {
|
|
8880
8880
|
var D = F++, V = he.rayClosestPoint(o[D], n, r), q = l.sub(o[D], V), H = l.norm(q), J = l.cross(r, q);
|
|
@@ -8898,12 +8898,12 @@ var ii = { exports: {} };
|
|
|
8898
8898
|
var o = ot.arc(t, l.mul(-1, n), r, s, 0, Math.PI);
|
|
8899
8899
|
return ot.revolvedSurface(o, t, n, 2 * Math.PI);
|
|
8900
8900
|
}, ot.conicalSurface = function(t, n, r, s, o) {
|
|
8901
|
-
var h = 2 * Math.PI, c = 1, v = [l.add(r, l.mul(s, t)), l.add(r, l.mul(o, n))],
|
|
8901
|
+
var h = 2 * Math.PI, c = 1, v = [l.add(r, l.mul(s, t)), l.add(r, l.mul(o, n))], f = [0, 0, 1, 1], m = [1, 1], b = new Ct(c, f, S.homogenize1d(v, m));
|
|
8902
8902
|
return ot.revolvedSurface(b, r, t, h);
|
|
8903
8903
|
}, ot.rationalInterpCurve = function(t, n, r, s, o) {
|
|
8904
8904
|
if (r == null && (r = !1), n == null && (n = 3), t.length < n + 1) throw new X("You need to supply at least degree + 1 points! You only supplied " + t.length + " points.");
|
|
8905
8905
|
for (var h = [0], c = 1, v = t.length; c < v; ) {
|
|
8906
|
-
var
|
|
8906
|
+
var f = c++, m = l.norm(l.sub(t[f], t[f - 1])), b = h[h.length - 1];
|
|
8907
8907
|
h.push(b + m);
|
|
8908
8908
|
}
|
|
8909
8909
|
for (var w = h[h.length - 1], M = 0, P = h.length; M < P; ) {
|
|
@@ -8935,8 +8935,8 @@ var ii = { exports: {} };
|
|
|
8935
8935
|
var lt = q[0].length - 2, mt = [-1, 1].concat(l.zeros1d(lt)), kt = l.zeros1d(lt).concat([-1, 1]);
|
|
8936
8936
|
G.spliceAndInsert(q, 1, 0, mt), G.spliceAndInsert(q, q.length - 1, 0, kt);
|
|
8937
8937
|
}
|
|
8938
|
-
for (var Et = t[0].length, zt = [], Bt = (1 - V[V.length - n - 2]) / n, ne = V[n + 1] / n,
|
|
8939
|
-
var $t = [
|
|
8938
|
+
for (var Et = t[0].length, zt = [], Bt = (1 - V[V.length - n - 2]) / n, ne = V[n + 1] / n, fe = 0; fe < Et; ) {
|
|
8939
|
+
var $t = [fe++], Qt;
|
|
8940
8940
|
if (!C) Qt = t.map(/* @__PURE__ */ function(be) {
|
|
8941
8941
|
return function(Be) {
|
|
8942
8942
|
return Be[be[0]];
|
|
@@ -8960,7 +8960,7 @@ var ii = { exports: {} };
|
|
|
8960
8960
|
}
|
|
8961
8961
|
return new Ct(n, V, ye);
|
|
8962
8962
|
};
|
|
8963
|
-
var ct =
|
|
8963
|
+
var ct = d.eval.Modify = function() {
|
|
8964
8964
|
};
|
|
8965
8965
|
p["verb.eval.Modify"] = ct, ct.__name__ = ["verb", "eval", "Modify"], ct.curveReverse = function(t) {
|
|
8966
8966
|
return new Ct(t.degree, ct.knotsReverse(t.knots), G.reversed(t.controlPoints));
|
|
@@ -8989,8 +8989,8 @@ var ii = { exports: {} };
|
|
|
8989
8989
|
t[o].degree < n && (t[o] = ct.curveElevateDegree(t[o], n));
|
|
8990
8990
|
}
|
|
8991
8991
|
for (var h, c = [], v = 0; v < t.length; ) {
|
|
8992
|
-
var
|
|
8993
|
-
++v, c.push(new ee(G.first(
|
|
8992
|
+
var f = t[v];
|
|
8993
|
+
++v, c.push(new ee(G.first(f.knots), G.last(f.knots)));
|
|
8994
8994
|
}
|
|
8995
8995
|
h = c;
|
|
8996
8996
|
for (var m = 0, b = t.length; m < b; ) {
|
|
@@ -9026,17 +9026,17 @@ var ii = { exports: {} };
|
|
|
9026
9026
|
return t > n ? t : n;
|
|
9027
9027
|
}, ct.curveElevateDegree = function(t, n) {
|
|
9028
9028
|
if (n <= t.degree) return t;
|
|
9029
|
-
var r = t.knots.length - t.degree - 2, s = t.degree, o = t.knots, h = t.controlPoints, c = n - t.degree, v = t.controlPoints[0].length,
|
|
9030
|
-
|
|
9029
|
+
var r = t.knots.length - t.degree - 2, s = t.degree, o = t.knots, h = t.controlPoints, c = n - t.degree, v = t.controlPoints[0].length, f = l.zeros2d(s + c + 1, s + 1), m = [], b = [], w = [], M = r + s + 1, P = n, z = Math.floor(P / 2), I = [], C = [];
|
|
9030
|
+
f[0][0] = 1, f[P][s] = 1;
|
|
9031
9031
|
for (var L = 1, B = z + 1; L < B; )
|
|
9032
9032
|
for (var T = L++, R = 1 / At.get(P, T), F = ct.imin(s, T), j = ct.imax(0, T - c), D = F + 1; j < D; ) {
|
|
9033
9033
|
var V = j++;
|
|
9034
|
-
|
|
9034
|
+
f[T][V] = R * At.get(s, V) * At.get(c, T - V);
|
|
9035
9035
|
}
|
|
9036
9036
|
for (var q = z + 1; q < P; )
|
|
9037
9037
|
for (var H = q++, J = ct.imin(s, H), et = ct.imax(0, H - c), it = J + 1; et < it; ) {
|
|
9038
9038
|
var nt = et++;
|
|
9039
|
-
|
|
9039
|
+
f[H][nt] = f[P - H][s - nt];
|
|
9040
9040
|
}
|
|
9041
9041
|
var st = P + 1, tt = -1, at = s, O = s + 1, lt = 1, mt = o[0];
|
|
9042
9042
|
I[0] = h[0];
|
|
@@ -9045,8 +9045,8 @@ var ii = { exports: {} };
|
|
|
9045
9045
|
C[zt] = mt;
|
|
9046
9046
|
}
|
|
9047
9047
|
for (var Bt = 0, ne = s + 1; Bt < ne; ) {
|
|
9048
|
-
var
|
|
9049
|
-
m[
|
|
9048
|
+
var fe = Bt++;
|
|
9049
|
+
m[fe] = h[fe];
|
|
9050
9050
|
}
|
|
9051
9051
|
for (; O < M; ) {
|
|
9052
9052
|
for (var $t = O; O < M && o[O] == o[O + 1]; ) O = O + 1;
|
|
@@ -9065,24 +9065,24 @@ var ii = { exports: {} };
|
|
|
9065
9065
|
}
|
|
9066
9066
|
}
|
|
9067
9067
|
for (var Pr = pe, ui = P + 1; Pr < ui; ) {
|
|
9068
|
-
var
|
|
9069
|
-
b[
|
|
9070
|
-
for (var ci = ct.imin(s,
|
|
9068
|
+
var fn = Pr++;
|
|
9069
|
+
b[fn] = l.zeros1d(v);
|
|
9070
|
+
for (var ci = ct.imin(s, fn), Ar = ct.imax(0, fn - c), vi = ci + 1; Ar < vi; ) {
|
|
9071
9071
|
var zr = Ar++;
|
|
9072
|
-
b[
|
|
9072
|
+
b[fn] = l.add(b[fn], l.mul(f[fn][zr], m[zr]));
|
|
9073
9073
|
}
|
|
9074
9074
|
}
|
|
9075
9075
|
if (ue > 1)
|
|
9076
9076
|
for (var cr = st - 2, vr = st, Sr = re - mt, _i = (re - C[st - 1]) / Sr, Cr = 1; Cr < ue; ) {
|
|
9077
9077
|
for (var _r = Cr++, Le = cr, $e = vr, je = $e - st + 1; $e - Le > _r; ) {
|
|
9078
9078
|
if (Le < lt) {
|
|
9079
|
-
var
|
|
9080
|
-
I[Le] = l.lerp(
|
|
9079
|
+
var fi = (re - C[Le]) / (mt - C[Le]);
|
|
9080
|
+
I[Le] = l.lerp(fi, I[Le], I[Le - 1]);
|
|
9081
9081
|
}
|
|
9082
9082
|
if ($e >= pe) {
|
|
9083
9083
|
if ($e - _r <= st - P + ue) {
|
|
9084
|
-
var
|
|
9085
|
-
b[je] = l.lerp(
|
|
9084
|
+
var di = (re - C[$e - _r]) / Sr;
|
|
9085
|
+
b[je] = l.lerp(di, b[je], b[je + 1]);
|
|
9086
9086
|
}
|
|
9087
9087
|
} else b[je] = l.lerp(_i, b[je], b[je + 1]);
|
|
9088
9088
|
Le = Le + 1, $e = $e - 1, je = je - 1;
|
|
@@ -9116,8 +9116,8 @@ var ii = { exports: {} };
|
|
|
9116
9116
|
}, ct.rationalSurfaceTransform = function(t, n) {
|
|
9117
9117
|
for (var r = S.dehomogenize2d(t.controlPoints), s = 0, o = r.length; s < o; )
|
|
9118
9118
|
for (var h = s++, c = 0, v = r[h].length; c < v; ) {
|
|
9119
|
-
var
|
|
9120
|
-
m.push(1), r[h][
|
|
9119
|
+
var f = c++, m = r[h][f];
|
|
9120
|
+
m.push(1), r[h][f] = xt.dot(n, m).slice(0, m.length - 1);
|
|
9121
9121
|
}
|
|
9122
9122
|
return new Ft(t.degreeU, t.degreeV, t.knotsU.slice(), t.knotsV.slice(), S.homogenize2d(r, S.weight2d(t.controlPoints)));
|
|
9123
9123
|
}, ct.rationalCurveTransform = function(t, n) {
|
|
@@ -9129,9 +9129,9 @@ var ii = { exports: {} };
|
|
|
9129
9129
|
}, ct.surfaceKnotRefine = function(t, n, r) {
|
|
9130
9130
|
var s = [], o, h, c;
|
|
9131
9131
|
r ? (c = t.controlPoints, o = t.knotsV, h = t.degreeV) : (c = xt.transpose(t.controlPoints), o = t.knotsU, h = t.degreeU);
|
|
9132
|
-
for (var v = null,
|
|
9133
|
-
var m = c[
|
|
9134
|
-
++
|
|
9132
|
+
for (var v = null, f = 0; f < c.length; ) {
|
|
9133
|
+
var m = c[f];
|
|
9134
|
+
++f, v = ct.curveKnotRefine(new Ct(h, o, m), n), s.push(v.controlPoints);
|
|
9135
9135
|
}
|
|
9136
9136
|
var b = v.knots;
|
|
9137
9137
|
return r ? new Ft(t.degreeU, t.degreeV, t.knotsU.slice(), b, s) : (s = xt.transpose(s), new Ft(t.degreeU, t.degreeV, b, t.knotsV.slice(), s));
|
|
@@ -9139,7 +9139,7 @@ var ii = { exports: {} };
|
|
|
9139
9139
|
for (var n = t.degree, r = t.controlPoints, s = t.knots, o = vt.knotMultiplicities(s), h = n + 1, c = 0; c < o.length; ) {
|
|
9140
9140
|
var v = o[c];
|
|
9141
9141
|
if (++c, v.mult < h) {
|
|
9142
|
-
var
|
|
9142
|
+
var f = l.rep(h - v.mult, v.knot), m = ct.curveKnotRefine(new Ct(n, s, r), f);
|
|
9143
9143
|
s = m.knots, r = m.controlPoints;
|
|
9144
9144
|
}
|
|
9145
9145
|
}
|
|
@@ -9151,7 +9151,7 @@ var ii = { exports: {} };
|
|
|
9151
9151
|
return w;
|
|
9152
9152
|
}, ct.curveKnotRefine = function(t, n) {
|
|
9153
9153
|
if (n.length == 0) return ot.clonedCurve(t);
|
|
9154
|
-
for (var r = t.degree, s = t.controlPoints, o = t.knots, h = s.length - 1, c = h + r + 1, v = n.length - 1,
|
|
9154
|
+
for (var r = t.degree, s = t.controlPoints, o = t.knots, h = s.length - 1, c = h + r + 1, v = n.length - 1, f = S.knotSpan(r, n[0], o), m = S.knotSpan(r, n[v], o), b = [], w = [], M = 0, P = f - r + 1; M < P; ) {
|
|
9155
9155
|
var z = M++;
|
|
9156
9156
|
b[z] = s[z];
|
|
9157
9157
|
}
|
|
@@ -9159,7 +9159,7 @@ var ii = { exports: {} };
|
|
|
9159
9159
|
var L = I++;
|
|
9160
9160
|
b[L + v + 1] = s[L];
|
|
9161
9161
|
}
|
|
9162
|
-
for (var B = 0, T =
|
|
9162
|
+
for (var B = 0, T = f + 1; B < T; ) {
|
|
9163
9163
|
var R = B++;
|
|
9164
9164
|
w[R] = o[R];
|
|
9165
9165
|
}
|
|
@@ -9168,7 +9168,7 @@ var ii = { exports: {} };
|
|
|
9168
9168
|
w[D + v + 1] = o[D];
|
|
9169
9169
|
}
|
|
9170
9170
|
for (var V = m + r - 1, q = m + r + v, H = v; H >= 0; ) {
|
|
9171
|
-
for (; n[H] <= o[V] && V >
|
|
9171
|
+
for (; n[H] <= o[V] && V > f; )
|
|
9172
9172
|
b[q - r - 1] = s[V - r - 1], w[q] = o[V], q = q - 1, V = V - 1;
|
|
9173
9173
|
b[q - r - 1] = b[q - r];
|
|
9174
9174
|
for (var J = 1, et = r + 1; J < et; ) {
|
|
@@ -9179,53 +9179,53 @@ var ii = { exports: {} };
|
|
|
9179
9179
|
}
|
|
9180
9180
|
return new Ct(r, w, b);
|
|
9181
9181
|
}, ct.curveKnotInsert = function(t, n, r) {
|
|
9182
|
-
for (var s = t.degree, o = t.controlPoints, h = t.knots, c = 0, v = o.length,
|
|
9182
|
+
for (var s = t.degree, o = t.controlPoints, h = t.knots, c = 0, v = o.length, f = S.knotSpan(s, n, h), m = [], b = [], w = [], M = 1, P = f + 1; M < P; ) {
|
|
9183
9183
|
var z = M++;
|
|
9184
9184
|
b[z] = h[z];
|
|
9185
9185
|
}
|
|
9186
9186
|
for (var I = 1, C = r + 1; I < C; ) {
|
|
9187
9187
|
var L = I++;
|
|
9188
|
-
b[
|
|
9188
|
+
b[f + L] = n;
|
|
9189
9189
|
}
|
|
9190
|
-
for (var B =
|
|
9190
|
+
for (var B = f + 1, T = h.length; B < T; ) {
|
|
9191
9191
|
var R = B++;
|
|
9192
9192
|
b[R + r] = h[R];
|
|
9193
9193
|
}
|
|
9194
|
-
for (var F = 0, j =
|
|
9194
|
+
for (var F = 0, j = f - s + 1; F < j; ) {
|
|
9195
9195
|
var D = F++;
|
|
9196
9196
|
w[D] = o[D];
|
|
9197
9197
|
}
|
|
9198
|
-
for (var V =
|
|
9198
|
+
for (var V = f - c; V < v; ) {
|
|
9199
9199
|
var q = V++;
|
|
9200
9200
|
w[q + r] = o[q];
|
|
9201
9201
|
}
|
|
9202
9202
|
for (var H = 0, J = s - c + 1; H < J; ) {
|
|
9203
9203
|
var et = H++;
|
|
9204
|
-
m[et] = o[
|
|
9204
|
+
m[et] = o[f - s + et];
|
|
9205
9205
|
}
|
|
9206
9206
|
for (var it = 0, nt = 0, st = 1, tt = r + 1; st < tt; ) {
|
|
9207
9207
|
var at = st++;
|
|
9208
|
-
it =
|
|
9208
|
+
it = f - s + at;
|
|
9209
9209
|
for (var O = 0, lt = s - at - c + 1; O < lt; ) {
|
|
9210
9210
|
var mt = O++;
|
|
9211
|
-
nt = (n - h[it + mt]) / (h[mt +
|
|
9211
|
+
nt = (n - h[it + mt]) / (h[mt + f + 1] - h[it + mt]), m[mt] = l.add(l.mul(nt, m[mt + 1]), l.mul(1 - nt, m[mt]));
|
|
9212
9212
|
}
|
|
9213
|
-
w[it] = m[0], w[
|
|
9213
|
+
w[it] = m[0], w[f + r - at - c] = m[s - at - c];
|
|
9214
9214
|
}
|
|
9215
|
-
for (var kt = it + 1, Et =
|
|
9215
|
+
for (var kt = it + 1, Et = f - c; kt < Et; ) {
|
|
9216
9216
|
var zt = kt++;
|
|
9217
9217
|
w[zt] = m[zt - it];
|
|
9218
9218
|
}
|
|
9219
9219
|
return new Ct(s, b, w);
|
|
9220
9220
|
};
|
|
9221
|
-
var Pt =
|
|
9221
|
+
var Pt = d.eval.Tess = function() {
|
|
9222
9222
|
};
|
|
9223
9223
|
p["verb.eval.Tess"] = Pt, Pt.__name__ = ["verb", "eval", "Tess"], Pt.rationalCurveRegularSample = function(t, n, r) {
|
|
9224
9224
|
return Pt.rationalCurveRegularSampleRange(t, t.knots[0], G.last(t.knots), n, r);
|
|
9225
9225
|
}, Pt.rationalCurveRegularSampleRange = function(t, n, r, s, o) {
|
|
9226
9226
|
s < 1 && (s = 2);
|
|
9227
|
-
for (var h = [], c = (r - n) / (s - 1), v = 0,
|
|
9228
|
-
var m =
|
|
9227
|
+
for (var h = [], c = (r - n) / (s - 1), v = 0, f = 0; f < s; ) {
|
|
9228
|
+
var m = f++;
|
|
9229
9229
|
v = n + c * m, o ? h.push([v].concat(S.rationalCurvePoint(t, v))) : h.push(S.rationalCurvePoint(t, v));
|
|
9230
9230
|
}
|
|
9231
9231
|
return h;
|
|
@@ -9241,16 +9241,16 @@ var ii = { exports: {} };
|
|
|
9241
9241
|
return t.controlPoints.map(S.dehomogenize);
|
|
9242
9242
|
return Pt.rationalCurveAdaptiveSampleRange(t, t.knots[0], G.last(t.knots), n, r);
|
|
9243
9243
|
}, Pt.rationalCurveAdaptiveSampleRange = function(t, n, r, s, o) {
|
|
9244
|
-
var h = S.rationalCurvePoint(t, n), c = S.rationalCurvePoint(t, r), v = 0.5 + 0.2 * Math.random(),
|
|
9244
|
+
var h = S.rationalCurvePoint(t, n), c = S.rationalCurvePoint(t, r), v = 0.5 + 0.2 * Math.random(), f = n + (r - n) * v, m = S.rationalCurvePoint(t, f), b = l.sub(h, c), w = l.sub(h, m);
|
|
9245
9245
|
if (l.dot(b, b) < s && l.dot(w, w) > s || !he.threePointsAreFlat(h, m, c, s)) {
|
|
9246
9246
|
var M = n + (r - n) * 0.5, P = Pt.rationalCurveAdaptiveSampleRange(t, n, M, s, o), z = Pt.rationalCurveAdaptiveSampleRange(t, M, r, s, o);
|
|
9247
9247
|
return P.slice(0, -1).concat(z);
|
|
9248
9248
|
} else return o ? [[n].concat(h), [r].concat(c)] : [h, c];
|
|
9249
9249
|
}, Pt.rationalSurfaceNaive = function(t, n, r) {
|
|
9250
9250
|
n < 1 && (n = 1), r < 1 && (r = 1), t.degreeU, t.degreeV, t.controlPoints;
|
|
9251
|
-
for (var s = t.knotsU, o = t.knotsV, h = G.last(s) - s[0], c = G.last(o) - o[0], v = h / n,
|
|
9251
|
+
for (var s = t.knotsU, o = t.knotsV, h = G.last(s) - s[0], c = G.last(o) - o[0], v = h / n, f = c / r, m = [], b = [], w = [], M = 0, P = n + 1; M < P; )
|
|
9252
9252
|
for (var z = M++, I = 0, C = r + 1; I < C; ) {
|
|
9253
|
-
var L = I++, B = z * v, T = L *
|
|
9253
|
+
var L = I++, B = z * v, T = L * f;
|
|
9254
9254
|
b.push([B, T]);
|
|
9255
9255
|
var R = S.rationalSurfaceDerivatives(t, B, T, 1), F = R[0][0];
|
|
9256
9256
|
m.push(F);
|
|
@@ -9262,14 +9262,14 @@ var ii = { exports: {} };
|
|
|
9262
9262
|
var J = H++, et = q * (r + 1) + J, it = (q + 1) * (r + 1) + J, nt = it + 1, st = et + 1, tt = [et, it, nt], at = [et, nt, st];
|
|
9263
9263
|
D.push(tt), D.push(at);
|
|
9264
9264
|
}
|
|
9265
|
-
return new
|
|
9265
|
+
return new de(D, m, w, b);
|
|
9266
9266
|
}, Pt.divideRationalSurfaceAdaptive = function(t, n) {
|
|
9267
9267
|
n == null && (n = new Oe()), n.minDivsU != null ? n.minDivsU = n.minDivsU : n.minDivsU = 1, n.minDivsV != null ? n.minDivsU = n.minDivsV : n.minDivsU = 1, n.refine != null ? n.refine = n.refine : n.refine = !0;
|
|
9268
9268
|
var r = (t.controlPoints.length - 1) * 2, s = (t.controlPoints[0].length - 1) * 2, o;
|
|
9269
9269
|
n.minDivsU > r ? o = n.minDivsU = n.minDivsU : o = n.minDivsU = r;
|
|
9270
9270
|
var h;
|
|
9271
9271
|
n.minDivsV > s ? h = n.minDivsV = n.minDivsV : h = n.minDivsV = s;
|
|
9272
|
-
for (var c = G.last(t.knotsU), v = t.knotsU[0],
|
|
9272
|
+
for (var c = G.last(t.knotsU), v = t.knotsU[0], f = G.last(t.knotsV), m = t.knotsV[0], b = (c - v) / o, w = (f - m) / h, M = [], P = [], z = 0, I = h + 1; z < I; ) {
|
|
9273
9273
|
for (var C = z++, L = [], B = 0, T = o + 1; B < T; ) {
|
|
9274
9274
|
var R = B++, F = v + b * R, j = m + w * C, D = S.rationalSurfaceDerivatives(t, F, j, 1), V = l.normalized(l.cross(D[0][1], D[1][0]));
|
|
9275
9275
|
L.push(new ve(D[0][0], V, [F, j], -1, l.isZero(V)));
|
|
@@ -9297,7 +9297,7 @@ var ii = { exports: {} };
|
|
|
9297
9297
|
}, Pt.west = function(t, n, r, s, o, h) {
|
|
9298
9298
|
return r == 0 ? null : h[t - 1];
|
|
9299
9299
|
}, Pt.triangulateAdaptiveRefinementNodeTree = function(t) {
|
|
9300
|
-
for (var n =
|
|
9300
|
+
for (var n = de.empty(), r = 0; r < t.length; ) {
|
|
9301
9301
|
var s = t[r];
|
|
9302
9302
|
++r, s.triangulate(n);
|
|
9303
9303
|
}
|
|
@@ -9307,13 +9307,13 @@ var ii = { exports: {} };
|
|
|
9307
9307
|
var r = Pt.divideRationalSurfaceAdaptive(t, n);
|
|
9308
9308
|
return Pt.triangulateAdaptiveRefinementNodeTree(r);
|
|
9309
9309
|
};
|
|
9310
|
-
var Oe =
|
|
9310
|
+
var Oe = d.core.AdaptiveRefinementOptions = function() {
|
|
9311
9311
|
this.minDivsV = 1, this.minDivsU = 1, this.refine = !0, this.maxDepth = 10, this.minDepth = 0, this.normTol = 0.025;
|
|
9312
9312
|
};
|
|
9313
9313
|
p["verb.eval.AdaptiveRefinementOptions"] = Oe, Oe.__name__ = ["verb", "eval", "AdaptiveRefinementOptions"], Oe.prototype = {
|
|
9314
9314
|
__class__: Oe
|
|
9315
9315
|
};
|
|
9316
|
-
var Ee =
|
|
9316
|
+
var Ee = d.core.AdaptiveRefinementNode = function(t, n, r) {
|
|
9317
9317
|
if (this.srf = t, r == null ? this.neighbors = [null, null, null, null] : this.neighbors = r, this.corners = n, this.corners == null) {
|
|
9318
9318
|
var s = t.knotsU[0], o = G.last(t.knotsU), h = t.knotsV[0], c = G.last(t.knotsV);
|
|
9319
9319
|
this.corners = [ve.fromUv(s, h), ve.fromUv(o, h), ve.fromUv(o, c), ve.fromUv(s, c)];
|
|
@@ -9367,10 +9367,10 @@ var ii = { exports: {} };
|
|
|
9367
9367
|
getAllCorners: function(t) {
|
|
9368
9368
|
var n = [this.corners[t]];
|
|
9369
9369
|
if (this.neighbors[t] == null) return n;
|
|
9370
|
-
var r = this.neighbors[t].getEdgeCorners((t + 2) % 4), s = t % 2, o = $.EPSILON, h = this, c = [function(
|
|
9371
|
-
return
|
|
9372
|
-
}, function(
|
|
9373
|
-
return
|
|
9370
|
+
var r = this.neighbors[t].getEdgeCorners((t + 2) % 4), s = t % 2, o = $.EPSILON, h = this, c = [function(f) {
|
|
9371
|
+
return f.uv[0] > h.corners[0].uv[0] + o && f.uv[0] < h.corners[2].uv[0] - o;
|
|
9372
|
+
}, function(f) {
|
|
9373
|
+
return f.uv[1] > h.corners[0].uv[1] + o && f.uv[1] < h.corners[2].uv[1] - o;
|
|
9374
9374
|
}], v = r.filter(c[s]);
|
|
9375
9375
|
return v.reverse(), n.concat(v);
|
|
9376
9376
|
},
|
|
@@ -9425,14 +9425,14 @@ var ii = { exports: {} };
|
|
|
9425
9425
|
var h = [this.corners[0], this.midpoint(0), this.midpoint(2), this.corners[3]], c = [this.midpoint(0), this.corners[1], this.corners[2], this.midpoint(2)];
|
|
9426
9426
|
this.children = [new Ee(this.srf, h), new Ee(this.srf, c)], this.children[0].neighbors = [this.neighbors[0], this.children[1], this.neighbors[2], this.neighbors[3]], this.children[1].neighbors = [this.neighbors[0], this.neighbors[1], this.neighbors[2], this.children[0]];
|
|
9427
9427
|
}
|
|
9428
|
-
for (var v = 0,
|
|
9429
|
-
var m =
|
|
9428
|
+
for (var v = 0, f = this.children; v < f.length; ) {
|
|
9429
|
+
var m = f[v];
|
|
9430
9430
|
++v, m._divide(t, n, !r);
|
|
9431
9431
|
}
|
|
9432
9432
|
}
|
|
9433
9433
|
},
|
|
9434
9434
|
triangulate: function(t) {
|
|
9435
|
-
if (t == null && (t =
|
|
9435
|
+
if (t == null && (t = de.empty()), this.isLeaf()) return this.triangulateLeaf(t);
|
|
9436
9436
|
for (var n = 0, r = this.children; n < r.length; ) {
|
|
9437
9437
|
var s = r[n];
|
|
9438
9438
|
if (++n, s == null) break;
|
|
@@ -9444,8 +9444,8 @@ var ii = { exports: {} };
|
|
|
9444
9444
|
for (var n = t.points.length, r = [], s = [], o = 0, h = 0; h < 4; ) {
|
|
9445
9445
|
var c = h++, v = this.getAllCorners(c);
|
|
9446
9446
|
v.length == 2 && (o = c + 1);
|
|
9447
|
-
for (var
|
|
9448
|
-
var b =
|
|
9447
|
+
for (var f = 0, m = v.length; f < m; ) {
|
|
9448
|
+
var b = f++;
|
|
9449
9449
|
r.push(v[b]);
|
|
9450
9450
|
}
|
|
9451
9451
|
}
|
|
@@ -9471,7 +9471,7 @@ var ii = { exports: {} };
|
|
|
9471
9471
|
},
|
|
9472
9472
|
__class__: Ee
|
|
9473
9473
|
};
|
|
9474
|
-
var _t =
|
|
9474
|
+
var _t = d.exe.Dispatcher = function() {
|
|
9475
9475
|
};
|
|
9476
9476
|
p["verb.exe.Dispatcher"] = _t, _t.__name__ = ["verb", "exe", "Dispatcher"], _t.init = function() {
|
|
9477
9477
|
_t._init || (_t._workerPool = new qe(_t.THREADS), _t._init = !0);
|
|
@@ -9482,7 +9482,7 @@ var ii = { exports: {} };
|
|
|
9482
9482
|
};
|
|
9483
9483
|
return _t._workerPool.addWork(ut.getClassName(t), n, r, o), new Ht(s);
|
|
9484
9484
|
};
|
|
9485
|
-
var qe =
|
|
9485
|
+
var qe = d.exe.WorkerPool = function(t, n) {
|
|
9486
9486
|
n == null && (n = "verb.js"), t == null && (t = 1), this._callbacks = new Gt(), this._working = new Gt(), this._pool = [], this._queue = [];
|
|
9487
9487
|
for (var r = 0; r < t; ) {
|
|
9488
9488
|
r++;
|
|
@@ -9529,7 +9529,7 @@ var ii = { exports: {} };
|
|
|
9529
9529
|
p["verb.geom.ICurve"] = cn, cn.__name__ = ["verb", "geom", "ICurve"], cn.__interfaces__ = [hn], cn.prototype = {
|
|
9530
9530
|
__class__: cn
|
|
9531
9531
|
};
|
|
9532
|
-
var bt =
|
|
9532
|
+
var bt = d.geom.NurbsCurve = function(t) {
|
|
9533
9533
|
this._data = _e.isValidNurbsCurveData(t);
|
|
9534
9534
|
};
|
|
9535
9535
|
p["verb.geom.NurbsCurve"] = bt, bt.__name__ = ["verb", "geom", "NurbsCurve"], bt.__interfaces__ = [cn], bt.byKnotsControlPointsWeights = function(t, n, r, s) {
|
|
@@ -9654,7 +9654,7 @@ var ii = { exports: {} };
|
|
|
9654
9654
|
},
|
|
9655
9655
|
__class__: bt
|
|
9656
9656
|
});
|
|
9657
|
-
var Ge =
|
|
9657
|
+
var Ge = d.geom.Arc = function(t, n, r, s, o, h) {
|
|
9658
9658
|
bt.call(this, ot.arc(t, n, r, s, o, h)), this._center = t, this._xaxis = n, this._yaxis = r, this._radius = s, this._minAngle = o, this._maxAngle = h;
|
|
9659
9659
|
};
|
|
9660
9660
|
p["verb.geom.Arc"] = Ge, Ge.__name__ = ["verb", "geom", "Arc"], Ge.__super__ = bt, Ge.prototype = k(bt.prototype, {
|
|
@@ -9678,13 +9678,13 @@ var ii = { exports: {} };
|
|
|
9678
9678
|
},
|
|
9679
9679
|
__class__: Ge
|
|
9680
9680
|
});
|
|
9681
|
-
var In =
|
|
9681
|
+
var In = d.geom.BezierCurve = function(t, n) {
|
|
9682
9682
|
bt.call(this, ot.rationalBezierCurve(t, n));
|
|
9683
9683
|
};
|
|
9684
9684
|
p["verb.geom.BezierCurve"] = In, In.__name__ = ["verb", "geom", "BezierCurve"], In.__super__ = bt, In.prototype = k(bt.prototype, {
|
|
9685
9685
|
__class__: In
|
|
9686
9686
|
});
|
|
9687
|
-
var Nn =
|
|
9687
|
+
var Nn = d.geom.Circle = function(t, n, r, s) {
|
|
9688
9688
|
Ge.call(this, t, n, r, s, 0, Math.PI * 2);
|
|
9689
9689
|
};
|
|
9690
9690
|
p["verb.geom.Circle"] = Nn, Nn.__name__ = ["verb", "geom", "Circle"], Nn.__super__ = Ge, Nn.prototype = k(Ge.prototype, {
|
|
@@ -9695,7 +9695,7 @@ var ii = { exports: {} };
|
|
|
9695
9695
|
p["verb.geom.ISurface"] = vn, vn.__name__ = ["verb", "geom", "ISurface"], vn.__interfaces__ = [hn], vn.prototype = {
|
|
9696
9696
|
__class__: vn
|
|
9697
9697
|
};
|
|
9698
|
-
var gt =
|
|
9698
|
+
var gt = d.geom.NurbsSurface = function(t) {
|
|
9699
9699
|
this._data = _e.isValidNurbsSurfaceData(t);
|
|
9700
9700
|
};
|
|
9701
9701
|
p["verb.geom.NurbsSurface"] = gt, gt.__name__ = ["verb", "geom", "NurbsSurface"], gt.__interfaces__ = [vn], gt.byKnotsControlPointsWeights = function(t, n, r, s, o, h) {
|
|
@@ -9827,7 +9827,7 @@ var ii = { exports: {} };
|
|
|
9827
9827
|
},
|
|
9828
9828
|
__class__: gt
|
|
9829
9829
|
});
|
|
9830
|
-
var En =
|
|
9830
|
+
var En = d.geom.ConicalSurface = function(t, n, r, s, o) {
|
|
9831
9831
|
gt.call(this, ot.conicalSurface(t, n, r, s, o)), this._axis = t, this._xaxis = n, this._base = r, this._height = s, this._radius = o;
|
|
9832
9832
|
};
|
|
9833
9833
|
p["verb.geom.ConicalSurface"] = En, En.__name__ = ["verb", "geom", "ConicalSurface"], En.__super__ = gt, En.prototype = k(gt.prototype, {
|
|
@@ -9848,7 +9848,7 @@ var ii = { exports: {} };
|
|
|
9848
9848
|
},
|
|
9849
9849
|
__class__: En
|
|
9850
9850
|
});
|
|
9851
|
-
var Bn =
|
|
9851
|
+
var Bn = d.geom.CylindricalSurface = function(t, n, r, s, o) {
|
|
9852
9852
|
gt.call(this, ot.cylindricalSurface(t, n, r, s, o)), this._axis = t, this._xaxis = n, this._base = r, this._height = s, this._radius = o;
|
|
9853
9853
|
};
|
|
9854
9854
|
p["verb.geom.CylindricalSurface"] = Bn, Bn.__name__ = ["verb", "geom", "CylindricalSurface"], Bn.__super__ = gt, Bn.prototype = k(gt.prototype, {
|
|
@@ -9869,7 +9869,7 @@ var ii = { exports: {} };
|
|
|
9869
9869
|
},
|
|
9870
9870
|
__class__: Bn
|
|
9871
9871
|
});
|
|
9872
|
-
var Ke =
|
|
9872
|
+
var Ke = d.geom.EllipseArc = function(t, n, r, s, o) {
|
|
9873
9873
|
bt.call(this, ot.ellipseArc(t, n, r, s, o)), this._center = t, this._xaxis = n, this._yaxis = r, this._minAngle = s, this._maxAngle = o;
|
|
9874
9874
|
};
|
|
9875
9875
|
p["verb.geom.EllipseArc"] = Ke, Ke.__name__ = ["verb", "geom", "EllipseArc"], Ke.__super__ = bt, Ke.prototype = k(bt.prototype, {
|
|
@@ -9890,13 +9890,13 @@ var ii = { exports: {} };
|
|
|
9890
9890
|
},
|
|
9891
9891
|
__class__: Ke
|
|
9892
9892
|
});
|
|
9893
|
-
var Ln =
|
|
9893
|
+
var Ln = d.geom.Ellipse = function(t, n, r) {
|
|
9894
9894
|
Ke.call(this, t, n, r, 0, Math.PI * 2);
|
|
9895
9895
|
};
|
|
9896
9896
|
p["verb.geom.Ellipse"] = Ln, Ln.__name__ = ["verb", "geom", "Ellipse"], Ln.__super__ = Ke, Ln.prototype = k(Ke.prototype, {
|
|
9897
9897
|
__class__: Ln
|
|
9898
9898
|
});
|
|
9899
|
-
var Tn =
|
|
9899
|
+
var Tn = d.geom.ExtrudedSurface = function(t, n) {
|
|
9900
9900
|
gt.call(this, ot.extrudedSurface(l.normalized(n), l.norm(n), t.asNurbs())), this._profile = t, this._direction = n;
|
|
9901
9901
|
};
|
|
9902
9902
|
p["verb.geom.ExtrudedSurface"] = Tn, Tn.__name__ = ["verb", "geom", "ExtrudedSurface"], Tn.__super__ = gt, Tn.prototype = k(gt.prototype, {
|
|
@@ -9908,7 +9908,7 @@ var ii = { exports: {} };
|
|
|
9908
9908
|
},
|
|
9909
9909
|
__class__: Tn
|
|
9910
9910
|
});
|
|
9911
|
-
var Xe =
|
|
9911
|
+
var Xe = d.geom.Intersect = function() {
|
|
9912
9912
|
};
|
|
9913
9913
|
p["verb.geom.Intersect"] = Xe, Xe.__name__ = ["verb", "geom", "Intersect"], Xe.curves = function(t, n, r) {
|
|
9914
9914
|
return r == null && (r = 1e-3), rt.curves(t.asNurbs(), n.asNurbs(), r);
|
|
@@ -9929,7 +9929,7 @@ var ii = { exports: {} };
|
|
|
9929
9929
|
});
|
|
9930
9930
|
});
|
|
9931
9931
|
};
|
|
9932
|
-
var Un =
|
|
9932
|
+
var Un = d.geom.Line = function(t, n) {
|
|
9933
9933
|
bt.call(this, ot.polyline([t, n])), this._start = t, this._end = n;
|
|
9934
9934
|
};
|
|
9935
9935
|
p["verb.geom.Line"] = Un, Un.__name__ = ["verb", "geom", "Line"], Un.__super__ = bt, Un.prototype = k(bt.prototype, {
|
|
@@ -9941,7 +9941,7 @@ var ii = { exports: {} };
|
|
|
9941
9941
|
},
|
|
9942
9942
|
__class__: Un
|
|
9943
9943
|
});
|
|
9944
|
-
var Rn =
|
|
9944
|
+
var Rn = d.geom.RevolvedSurface = function(t, n, r, s) {
|
|
9945
9945
|
gt.call(this, ot.revolvedSurface(t.asNurbs(), n, r, s)), this._profile = t, this._center = n, this._axis = r, this._angle = s;
|
|
9946
9946
|
};
|
|
9947
9947
|
p["verb.geom.RevolvedSurface"] = Rn, Rn.__name__ = ["verb", "geom", "RevolvedSurface"], Rn.__super__ = gt, Rn.prototype = k(gt.prototype, {
|
|
@@ -9959,7 +9959,7 @@ var ii = { exports: {} };
|
|
|
9959
9959
|
},
|
|
9960
9960
|
__class__: Rn
|
|
9961
9961
|
});
|
|
9962
|
-
var Vn =
|
|
9962
|
+
var Vn = d.geom.SphericalSurface = function(t, n) {
|
|
9963
9963
|
gt.call(this, ot.sphericalSurface(t, [0, 0, 1], [1, 0, 0], n)), this._center = t, this._radius = n;
|
|
9964
9964
|
};
|
|
9965
9965
|
p["verb.geom.SphericalSurface"] = Vn, Vn.__name__ = ["verb", "geom", "SphericalSurface"], Vn.__super__ = gt, Vn.prototype = k(gt.prototype, {
|
|
@@ -9971,7 +9971,7 @@ var ii = { exports: {} };
|
|
|
9971
9971
|
},
|
|
9972
9972
|
__class__: Vn
|
|
9973
9973
|
});
|
|
9974
|
-
var Dn =
|
|
9974
|
+
var Dn = d.geom.SweptSurface = function(t, n) {
|
|
9975
9975
|
gt.call(this, ot.rationalTranslationalSurface(t.asNurbs(), n.asNurbs())), this._profile = t, this._rail = n;
|
|
9976
9976
|
};
|
|
9977
9977
|
p["verb.geom.SweptSurface"] = Dn, Dn.__name__ = ["verb", "geom", "SweptSurface"], Dn.__super__ = gt, Dn.prototype = k(gt.prototype, {
|
|
@@ -10024,9 +10024,9 @@ var ii = { exports: {} };
|
|
|
10024
10024
|
return;
|
|
10025
10025
|
var r = 1, s = {}, o = !1, h = t.document, c;
|
|
10026
10026
|
function v(B) {
|
|
10027
|
-
return s[r] =
|
|
10027
|
+
return s[r] = f.apply(n, B), r++;
|
|
10028
10028
|
}
|
|
10029
|
-
function
|
|
10029
|
+
function f(B) {
|
|
10030
10030
|
var T = [].slice.call(arguments, 1);
|
|
10031
10031
|
return function() {
|
|
10032
10032
|
typeof B == "function" ? B.apply(n, T) : new Function("" + B)();
|
|
@@ -10034,7 +10034,7 @@ var ii = { exports: {} };
|
|
|
10034
10034
|
}
|
|
10035
10035
|
function m(B) {
|
|
10036
10036
|
if (o)
|
|
10037
|
-
setTimeout(
|
|
10037
|
+
setTimeout(f(m, B), 0);
|
|
10038
10038
|
else {
|
|
10039
10039
|
var T = s[B];
|
|
10040
10040
|
if (T) {
|
|
@@ -10053,7 +10053,7 @@ var ii = { exports: {} };
|
|
|
10053
10053
|
function w() {
|
|
10054
10054
|
c = function() {
|
|
10055
10055
|
var B = v(arguments);
|
|
10056
|
-
return process.nextTick(
|
|
10056
|
+
return process.nextTick(f(m, B)), B;
|
|
10057
10057
|
};
|
|
10058
10058
|
}
|
|
10059
10059
|
function M() {
|
|
@@ -10095,7 +10095,7 @@ var ii = { exports: {} };
|
|
|
10095
10095
|
function C() {
|
|
10096
10096
|
c = function() {
|
|
10097
10097
|
var B = v(arguments);
|
|
10098
|
-
return setTimeout(
|
|
10098
|
+
return setTimeout(f(m, B), 0), B;
|
|
10099
10099
|
};
|
|
10100
10100
|
}
|
|
10101
10101
|
var L = Object.getPrototypeOf && Object.getPrototypeOf(t);
|
|
@@ -10103,7 +10103,7 @@ var ii = { exports: {} };
|
|
|
10103
10103
|
})(new Function("return this")()), Kt.USE_CACHE = !1, Kt.USE_ENUM_INDEX = !1, Kt.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:", Tt.DEFAULT_RESOLVER = ut, Tt.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:", Yt.count = 0, jt.i64tmp = function(t) {
|
|
10104
10104
|
var n, r = new Lt(0, 0);
|
|
10105
10105
|
return n = r, n;
|
|
10106
|
-
}(), wt.__toStr = {}.toString, ze.BYTES_PER_ELEMENT = 1, dt.queue = new Y(), At.memo = new Gt(), $.TOLERANCE = 1e-6, $.EPSILON = 1e-10, $.VERSION = "2.0.0", vt.Tvalues = [[], [], [-0.5773502691896257, 0.5773502691896257], [0, -0.7745966692414834, 0.7745966692414834], [-0.33998104358485626, 0.33998104358485626, -0.8611363115940526, 0.8611363115940526], [0, -0.5384693101056831, 0.5384693101056831, -0.906179845938664, 0.906179845938664], [0.6612093864662645, -0.6612093864662645, -0.2386191860831969, 0.2386191860831969, -0.932469514203152, 0.932469514203152], [0, 0.4058451513773972, -0.4058451513773972, -0.7415311855993945, 0.7415311855993945, -0.9491079123427585, 0.9491079123427585], [-0.1834346424956498, 0.1834346424956498, -0.525532409916329, 0.525532409916329, -0.7966664774136267, 0.7966664774136267, -0.9602898564975363, 0.9602898564975363], [0, -0.8360311073266358, 0.8360311073266358, -0.9681602395076261, 0.9681602395076261, -0.3242534234038089, 0.3242534234038089, -0.6133714327005904, 0.6133714327005904], [-0.14887433898163122, 0.14887433898163122, -0.4333953941292472, 0.4333953941292472, -0.6794095682990244, 0.6794095682990244, -0.8650633666889845, 0.8650633666889845, -0.9739065285171717, 0.9739065285171717], [0, -0.26954315595234496, 0.26954315595234496, -0.5190961292068118, 0.5190961292068118, -0.7301520055740494, 0.7301520055740494, -0.8870625997680953, 0.8870625997680953, -0.978228658146057, 0.978228658146057], [-0.1252334085114689, 0.1252334085114689, -0.3678314989981802, 0.3678314989981802, -0.5873179542866175, 0.5873179542866175, -0.7699026741943047, 0.7699026741943047, -0.9041172563704749, 0.9041172563704749, -0.9815606342467192, 0.9815606342467192], [0, -0.2304583159551348, 0.2304583159551348, -0.44849275103644687, 0.44849275103644687, -0.6423493394403402, 0.6423493394403402, -0.8015780907333099, 0.8015780907333099, -0.9175983992229779, 0.9175983992229779, -0.9841830547185881, 0.9841830547185881], [-0.10805494870734367, 0.10805494870734367, -0.31911236892788974, 0.31911236892788974, -0.5152486363581541, 0.5152486363581541, -0.6872929048116855, 0.6872929048116855, -0.827201315069765, 0.827201315069765, -0.9284348836635735, 0.9284348836635735, -0.9862838086968123, 0.9862838086968123], [0, -0.20119409399743451, 0.20119409399743451, -0.3941513470775634, 0.3941513470775634, -0.5709721726085388, 0.5709721726085388, -0.7244177313601701, 0.7244177313601701, -0.8482065834104272, 0.8482065834104272, -0.937273392400706, 0.937273392400706, -0.9879925180204854, 0.9879925180204854], [-0.09501250983763744, 0.09501250983763744, -0.2816035507792589, 0.2816035507792589, -0.45801677765722737, 0.45801677765722737, -0.6178762444026438, 0.6178762444026438, -0.755404408355003, 0.755404408355003, -0.8656312023878318, 0.8656312023878318, -0.9445750230732326, 0.9445750230732326, -0.9894009349916499, 0.9894009349916499], [0, -0.17848418149584785, 0.17848418149584785, -0.3512317634538763, 0.3512317634538763, -0.5126905370864769, 0.5126905370864769, -0.6576711592166907, 0.6576711592166907, -0.7815140038968014, 0.7815140038968014, -0.8802391537269859, 0.8802391537269859, -0.9506755217687678, 0.9506755217687678, -0.9905754753144174, 0.9905754753144174], [-0.0847750130417353, 0.0847750130417353, -0.2518862256915055, 0.2518862256915055, -0.41175116146284263, 0.41175116146284263, -0.5597708310739475, 0.5597708310739475, -0.6916870430603532, 0.6916870430603532, -0.8037049589725231, 0.8037049589725231, -0.8926024664975557, 0.8926024664975557, -0.9558239495713977, 0.9558239495713977, -0.9915651684209309, 0.9915651684209309], [0, -0.16035864564022537, 0.16035864564022537, -0.31656409996362983, 0.31656409996362983, -0.46457074137596094, 0.46457074137596094, -0.600545304661681, 0.600545304661681, -0.7209661773352294, 0.7209661773352294, -0.8227146565371428, 0.8227146565371428, -0.9031559036148179, 0.9031559036148179, -0.96020815213483, 0.96020815213483, -0.9924068438435844, 0.9924068438435844], [-0.07652652113349734, 0.07652652113349734, -0.22778585114164507, 0.22778585114164507, -0.37370608871541955, 0.37370608871541955, -0.5108670019508271, 0.5108670019508271, -0.636053680726515, 0.636053680726515, -0.7463319064601508, 0.7463319064601508, -0.8391169718222188, 0.8391169718222188, -0.912234428251326, 0.912234428251326, -0.9639719272779138, 0.9639719272779138, -0.9931285991850949, 0.9931285991850949], [0, -0.1455618541608951, 0.1455618541608951, -0.2880213168024011, 0.2880213168024011, -0.4243421202074388, 0.4243421202074388, -0.5516188358872198, 0.5516188358872198, -0.6671388041974123, 0.6671388041974123, -0.7684399634756779, 0.7684399634756779, -0.8533633645833173, 0.8533633645833173, -0.9200993341504008, 0.9200993341504008, -0.9672268385663063, 0.9672268385663063, -0.9937521706203895, 0.9937521706203895], [-0.06973927331972223, 0.06973927331972223, -0.20786042668822127, 0.20786042668822127, -0.34193582089208424, 0.34193582089208424, -0.469355837986757, 0.469355837986757, -0.5876404035069116, 0.5876404035069116, -0.6944872631866827, 0.6944872631866827, -0.7878168059792081, 0.7878168059792081, -0.8658125777203002, 0.8658125777203002, -0.926956772187174, 0.926956772187174, -0.9700604978354287, 0.9700604978354287, -0.9942945854823992, 0.9942945854823992], [0, -0.1332568242984661, 0.1332568242984661, -0.26413568097034495, 0.26413568097034495, -0.3903010380302908, 0.3903010380302908, -0.5095014778460075, 0.5095014778460075, -0.6196098757636461, 0.6196098757636461, -0.7186613631319502, 0.7186613631319502, -0.8048884016188399, 0.8048884016188399, -0.8767523582704416, 0.8767523582704416, -0.9329710868260161, 0.9329710868260161, -0.9725424712181152, 0.9725424712181152, -0.9947693349975522, 0.9947693349975522], [-0.06405689286260563, 0.06405689286260563, -0.1911188674736163, 0.1911188674736163, -0.3150426796961634, 0.3150426796961634, -0.4337935076260451, 0.4337935076260451, -0.5454214713888396, 0.5454214713888396, -0.6480936519369755, 0.6480936519369755, -0.7401241915785544, 0.7401241915785544, -0.820001985973903, 0.820001985973903, -0.8864155270044011, 0.8864155270044011, -0.9382745520027328, 0.9382745520027328, -0.9747285559713095, 0.9747285559713095, -0.9951872199970213, 0.9951872199970213]], vt.Cvalues = [[], [], [1, 1], [0.8888888888888888, 0.5555555555555556, 0.5555555555555556], [0.6521451548625461, 0.6521451548625461, 0.34785484513745385, 0.34785484513745385], [0.5688888888888889, 0.47862867049936647, 0.47862867049936647, 0.23692688505618908, 0.23692688505618908], [0.3607615730481386, 0.3607615730481386, 0.46791393457269104, 0.46791393457269104, 0.17132449237917036, 0.17132449237917036], [0.4179591836734694, 0.3818300505051189, 0.3818300505051189, 0.27970539148927664, 0.27970539148927664, 0.1294849661688697, 0.1294849661688697], [0.362683783378362, 0.362683783378362, 0.31370664587788727, 0.31370664587788727, 0.22238103445337448, 0.22238103445337448, 0.10122853629037626, 0.10122853629037626], [0.3302393550012598, 0.1806481606948574, 0.1806481606948574, 0.08127438836157441, 0.08127438836157441, 0.31234707704000286, 0.31234707704000286, 0.26061069640293544, 0.26061069640293544], [0.29552422471475287, 0.29552422471475287, 0.26926671930999635, 0.26926671930999635, 0.21908636251598204, 0.21908636251598204, 0.1494513491505806, 0.1494513491505806, 0.06667134430868814, 0.06667134430868814], [0.2729250867779006, 0.26280454451024665, 0.26280454451024665, 0.23319376459199048, 0.23319376459199048, 0.18629021092773426, 0.18629021092773426, 0.1255803694649046, 0.1255803694649046, 0.05566856711617366, 0.05566856711617366], [0.24914704581340277, 0.24914704581340277, 0.2334925365383548, 0.2334925365383548, 0.20316742672306592, 0.20316742672306592, 0.16007832854334622, 0.16007832854334622, 0.10693932599531843, 0.10693932599531843, 0.04717533638651183, 0.04717533638651183], [0.2325515532308739, 0.22628318026289723, 0.22628318026289723, 0.2078160475368885, 0.2078160475368885, 0.17814598076194574, 0.17814598076194574, 0.13887351021978725, 0.13887351021978725, 0.09212149983772845, 0.09212149983772845, 0.04048400476531588, 0.04048400476531588], [0.2152638534631578, 0.2152638534631578, 0.2051984637212956, 0.2051984637212956, 0.18553839747793782, 0.18553839747793782, 0.15720316715819355, 0.15720316715819355, 0.12151857068790319, 0.12151857068790319, 0.08015808715976021, 0.08015808715976021, 0.03511946033175186, 0.03511946033175186], [0.2025782419255613, 0.19843148532711158, 0.19843148532711158, 0.1861610000155622, 0.1861610000155622, 0.16626920581699392, 0.16626920581699392, 0.13957067792615432, 0.13957067792615432, 0.10715922046717194, 0.10715922046717194, 0.07036604748810812, 0.07036604748810812, 0.03075324199611727, 0.03075324199611727], [0.1894506104550685, 0.1894506104550685, 0.18260341504492358, 0.18260341504492358, 0.16915651939500254, 0.16915651939500254, 0.14959598881657674, 0.14959598881657674, 0.12462897125553388, 0.12462897125553388, 0.09515851168249279, 0.09515851168249279, 0.062253523938647894, 0.062253523938647894, 0.027152459411754096, 0.027152459411754096], [0.17944647035620653, 0.17656270536699264, 0.17656270536699264, 0.16800410215645004, 0.16800410215645004, 0.15404576107681028, 0.15404576107681028, 0.13513636846852548, 0.13513636846852548, 0.11188384719340397, 0.11188384719340397, 0.08503614831717918, 0.08503614831717918, 0.0554595293739872, 0.0554595293739872, 0.02414830286854793, 0.02414830286854793], [0.1691423829631436, 0.1691423829631436, 0.16427648374583273, 0.16427648374583273, 0.15468467512626524, 0.15468467512626524, 0.14064291467065065, 0.14064291467065065, 0.12255520671147846, 0.12255520671147846, 0.10094204410628717, 0.10094204410628717, 0.07642573025488905, 0.07642573025488905, 0.0497145488949698, 0.0497145488949698, 0.02161601352648331, 0.02161601352648331], [0.1610544498487837, 0.15896884339395434, 0.15896884339395434, 0.15276604206585967, 0.15276604206585967, 0.1426067021736066, 0.1426067021736066, 0.12875396253933621, 0.12875396253933621, 0.11156664554733399, 0.11156664554733399, 0.09149002162245, 0.09149002162245, 0.06904454273764123, 0.06904454273764123, 0.0448142267656996, 0.0448142267656996, 0.019461788229726478, 0.019461788229726478], [0.15275338713072584, 0.15275338713072584, 0.14917298647260374, 0.14917298647260374, 0.14209610931838204, 0.14209610931838204, 0.13168863844917664, 0.13168863844917664, 0.11819453196151841, 0.11819453196151841, 0.10193011981724044, 0.10193011981724044, 0.08327674157670475, 0.08327674157670475, 0.06267204833410907, 0.06267204833410907, 0.04060142980038694, 0.04060142980038694, 0.017614007139152118, 0.017614007139152118], [0.14608113364969041, 0.14452440398997005, 0.14452440398997005, 0.13988739479107315, 0.13988739479107315, 0.13226893863333747, 0.13226893863333747, 0.12183141605372853, 0.12183141605372853, 0.10879729916714838, 0.10879729916714838, 0.09344442345603386, 0.09344442345603386, 0.0761001136283793, 0.0761001136283793, 0.057134425426857205, 0.057134425426857205, 0.036953789770852494, 0.036953789770852494, 0.016017228257774335, 0.016017228257774335], [0.13925187285563198, 0.13925187285563198, 0.13654149834601517, 0.13654149834601517, 0.13117350478706238, 0.13117350478706238, 0.12325237681051242, 0.12325237681051242, 0.11293229608053922, 0.11293229608053922, 0.10041414444288096, 0.10041414444288096, 0.08594160621706773, 0.08594160621706773, 0.06979646842452049, 0.06979646842452049, 0.052293335152683286, 0.052293335152683286, 0.03377490158481415, 0.03377490158481415, 0.0146279952982722, 0.0146279952982722], [0.13365457218610619, 0.1324620394046966, 0.1324620394046966, 0.12890572218808216, 0.12890572218808216, 0.12304908430672953, 0.12304908430672953, 0.11499664022241136, 0.11499664022241136, 0.10489209146454141, 0.10489209146454141, 0.09291576606003515, 0.09291576606003515, 0.07928141177671895, 0.07928141177671895, 0.06423242140852585, 0.06423242140852585, 0.04803767173108467, 0.04803767173108467, 0.030988005856979445, 0.030988005856979445, 0.013411859487141771, 0.013411859487141771], [0.12793819534675216, 0.12793819534675216, 0.1258374563468283, 0.1258374563468283, 0.12167047292780339, 0.12167047292780339, 0.1155056680537256, 0.1155056680537256, 0.10744427011596563, 0.10744427011596563, 0.09761865210411388, 0.09761865210411388, 0.08619016153195327, 0.08619016153195327, 0.0733464814110803, 0.0733464814110803, 0.05929858491543678, 0.05929858491543678, 0.04427743881741981, 0.04427743881741981, 0.028531388628933663, 0.028531388628933663, 0.0123412297999872, 0.0123412297999872]], _t.THREADS = 1, _t._init = !1, qe.basePath = "", He.uuid = 0, Zn.main();
|
|
10106
|
+
}(), wt.__toStr = {}.toString, ze.BYTES_PER_ELEMENT = 1, ft.queue = new Y(), At.memo = new Gt(), $.TOLERANCE = 1e-6, $.EPSILON = 1e-10, $.VERSION = "2.0.0", vt.Tvalues = [[], [], [-0.5773502691896257, 0.5773502691896257], [0, -0.7745966692414834, 0.7745966692414834], [-0.33998104358485626, 0.33998104358485626, -0.8611363115940526, 0.8611363115940526], [0, -0.5384693101056831, 0.5384693101056831, -0.906179845938664, 0.906179845938664], [0.6612093864662645, -0.6612093864662645, -0.2386191860831969, 0.2386191860831969, -0.932469514203152, 0.932469514203152], [0, 0.4058451513773972, -0.4058451513773972, -0.7415311855993945, 0.7415311855993945, -0.9491079123427585, 0.9491079123427585], [-0.1834346424956498, 0.1834346424956498, -0.525532409916329, 0.525532409916329, -0.7966664774136267, 0.7966664774136267, -0.9602898564975363, 0.9602898564975363], [0, -0.8360311073266358, 0.8360311073266358, -0.9681602395076261, 0.9681602395076261, -0.3242534234038089, 0.3242534234038089, -0.6133714327005904, 0.6133714327005904], [-0.14887433898163122, 0.14887433898163122, -0.4333953941292472, 0.4333953941292472, -0.6794095682990244, 0.6794095682990244, -0.8650633666889845, 0.8650633666889845, -0.9739065285171717, 0.9739065285171717], [0, -0.26954315595234496, 0.26954315595234496, -0.5190961292068118, 0.5190961292068118, -0.7301520055740494, 0.7301520055740494, -0.8870625997680953, 0.8870625997680953, -0.978228658146057, 0.978228658146057], [-0.1252334085114689, 0.1252334085114689, -0.3678314989981802, 0.3678314989981802, -0.5873179542866175, 0.5873179542866175, -0.7699026741943047, 0.7699026741943047, -0.9041172563704749, 0.9041172563704749, -0.9815606342467192, 0.9815606342467192], [0, -0.2304583159551348, 0.2304583159551348, -0.44849275103644687, 0.44849275103644687, -0.6423493394403402, 0.6423493394403402, -0.8015780907333099, 0.8015780907333099, -0.9175983992229779, 0.9175983992229779, -0.9841830547185881, 0.9841830547185881], [-0.10805494870734367, 0.10805494870734367, -0.31911236892788974, 0.31911236892788974, -0.5152486363581541, 0.5152486363581541, -0.6872929048116855, 0.6872929048116855, -0.827201315069765, 0.827201315069765, -0.9284348836635735, 0.9284348836635735, -0.9862838086968123, 0.9862838086968123], [0, -0.20119409399743451, 0.20119409399743451, -0.3941513470775634, 0.3941513470775634, -0.5709721726085388, 0.5709721726085388, -0.7244177313601701, 0.7244177313601701, -0.8482065834104272, 0.8482065834104272, -0.937273392400706, 0.937273392400706, -0.9879925180204854, 0.9879925180204854], [-0.09501250983763744, 0.09501250983763744, -0.2816035507792589, 0.2816035507792589, -0.45801677765722737, 0.45801677765722737, -0.6178762444026438, 0.6178762444026438, -0.755404408355003, 0.755404408355003, -0.8656312023878318, 0.8656312023878318, -0.9445750230732326, 0.9445750230732326, -0.9894009349916499, 0.9894009349916499], [0, -0.17848418149584785, 0.17848418149584785, -0.3512317634538763, 0.3512317634538763, -0.5126905370864769, 0.5126905370864769, -0.6576711592166907, 0.6576711592166907, -0.7815140038968014, 0.7815140038968014, -0.8802391537269859, 0.8802391537269859, -0.9506755217687678, 0.9506755217687678, -0.9905754753144174, 0.9905754753144174], [-0.0847750130417353, 0.0847750130417353, -0.2518862256915055, 0.2518862256915055, -0.41175116146284263, 0.41175116146284263, -0.5597708310739475, 0.5597708310739475, -0.6916870430603532, 0.6916870430603532, -0.8037049589725231, 0.8037049589725231, -0.8926024664975557, 0.8926024664975557, -0.9558239495713977, 0.9558239495713977, -0.9915651684209309, 0.9915651684209309], [0, -0.16035864564022537, 0.16035864564022537, -0.31656409996362983, 0.31656409996362983, -0.46457074137596094, 0.46457074137596094, -0.600545304661681, 0.600545304661681, -0.7209661773352294, 0.7209661773352294, -0.8227146565371428, 0.8227146565371428, -0.9031559036148179, 0.9031559036148179, -0.96020815213483, 0.96020815213483, -0.9924068438435844, 0.9924068438435844], [-0.07652652113349734, 0.07652652113349734, -0.22778585114164507, 0.22778585114164507, -0.37370608871541955, 0.37370608871541955, -0.5108670019508271, 0.5108670019508271, -0.636053680726515, 0.636053680726515, -0.7463319064601508, 0.7463319064601508, -0.8391169718222188, 0.8391169718222188, -0.912234428251326, 0.912234428251326, -0.9639719272779138, 0.9639719272779138, -0.9931285991850949, 0.9931285991850949], [0, -0.1455618541608951, 0.1455618541608951, -0.2880213168024011, 0.2880213168024011, -0.4243421202074388, 0.4243421202074388, -0.5516188358872198, 0.5516188358872198, -0.6671388041974123, 0.6671388041974123, -0.7684399634756779, 0.7684399634756779, -0.8533633645833173, 0.8533633645833173, -0.9200993341504008, 0.9200993341504008, -0.9672268385663063, 0.9672268385663063, -0.9937521706203895, 0.9937521706203895], [-0.06973927331972223, 0.06973927331972223, -0.20786042668822127, 0.20786042668822127, -0.34193582089208424, 0.34193582089208424, -0.469355837986757, 0.469355837986757, -0.5876404035069116, 0.5876404035069116, -0.6944872631866827, 0.6944872631866827, -0.7878168059792081, 0.7878168059792081, -0.8658125777203002, 0.8658125777203002, -0.926956772187174, 0.926956772187174, -0.9700604978354287, 0.9700604978354287, -0.9942945854823992, 0.9942945854823992], [0, -0.1332568242984661, 0.1332568242984661, -0.26413568097034495, 0.26413568097034495, -0.3903010380302908, 0.3903010380302908, -0.5095014778460075, 0.5095014778460075, -0.6196098757636461, 0.6196098757636461, -0.7186613631319502, 0.7186613631319502, -0.8048884016188399, 0.8048884016188399, -0.8767523582704416, 0.8767523582704416, -0.9329710868260161, 0.9329710868260161, -0.9725424712181152, 0.9725424712181152, -0.9947693349975522, 0.9947693349975522], [-0.06405689286260563, 0.06405689286260563, -0.1911188674736163, 0.1911188674736163, -0.3150426796961634, 0.3150426796961634, -0.4337935076260451, 0.4337935076260451, -0.5454214713888396, 0.5454214713888396, -0.6480936519369755, 0.6480936519369755, -0.7401241915785544, 0.7401241915785544, -0.820001985973903, 0.820001985973903, -0.8864155270044011, 0.8864155270044011, -0.9382745520027328, 0.9382745520027328, -0.9747285559713095, 0.9747285559713095, -0.9951872199970213, 0.9951872199970213]], vt.Cvalues = [[], [], [1, 1], [0.8888888888888888, 0.5555555555555556, 0.5555555555555556], [0.6521451548625461, 0.6521451548625461, 0.34785484513745385, 0.34785484513745385], [0.5688888888888889, 0.47862867049936647, 0.47862867049936647, 0.23692688505618908, 0.23692688505618908], [0.3607615730481386, 0.3607615730481386, 0.46791393457269104, 0.46791393457269104, 0.17132449237917036, 0.17132449237917036], [0.4179591836734694, 0.3818300505051189, 0.3818300505051189, 0.27970539148927664, 0.27970539148927664, 0.1294849661688697, 0.1294849661688697], [0.362683783378362, 0.362683783378362, 0.31370664587788727, 0.31370664587788727, 0.22238103445337448, 0.22238103445337448, 0.10122853629037626, 0.10122853629037626], [0.3302393550012598, 0.1806481606948574, 0.1806481606948574, 0.08127438836157441, 0.08127438836157441, 0.31234707704000286, 0.31234707704000286, 0.26061069640293544, 0.26061069640293544], [0.29552422471475287, 0.29552422471475287, 0.26926671930999635, 0.26926671930999635, 0.21908636251598204, 0.21908636251598204, 0.1494513491505806, 0.1494513491505806, 0.06667134430868814, 0.06667134430868814], [0.2729250867779006, 0.26280454451024665, 0.26280454451024665, 0.23319376459199048, 0.23319376459199048, 0.18629021092773426, 0.18629021092773426, 0.1255803694649046, 0.1255803694649046, 0.05566856711617366, 0.05566856711617366], [0.24914704581340277, 0.24914704581340277, 0.2334925365383548, 0.2334925365383548, 0.20316742672306592, 0.20316742672306592, 0.16007832854334622, 0.16007832854334622, 0.10693932599531843, 0.10693932599531843, 0.04717533638651183, 0.04717533638651183], [0.2325515532308739, 0.22628318026289723, 0.22628318026289723, 0.2078160475368885, 0.2078160475368885, 0.17814598076194574, 0.17814598076194574, 0.13887351021978725, 0.13887351021978725, 0.09212149983772845, 0.09212149983772845, 0.04048400476531588, 0.04048400476531588], [0.2152638534631578, 0.2152638534631578, 0.2051984637212956, 0.2051984637212956, 0.18553839747793782, 0.18553839747793782, 0.15720316715819355, 0.15720316715819355, 0.12151857068790319, 0.12151857068790319, 0.08015808715976021, 0.08015808715976021, 0.03511946033175186, 0.03511946033175186], [0.2025782419255613, 0.19843148532711158, 0.19843148532711158, 0.1861610000155622, 0.1861610000155622, 0.16626920581699392, 0.16626920581699392, 0.13957067792615432, 0.13957067792615432, 0.10715922046717194, 0.10715922046717194, 0.07036604748810812, 0.07036604748810812, 0.03075324199611727, 0.03075324199611727], [0.1894506104550685, 0.1894506104550685, 0.18260341504492358, 0.18260341504492358, 0.16915651939500254, 0.16915651939500254, 0.14959598881657674, 0.14959598881657674, 0.12462897125553388, 0.12462897125553388, 0.09515851168249279, 0.09515851168249279, 0.062253523938647894, 0.062253523938647894, 0.027152459411754096, 0.027152459411754096], [0.17944647035620653, 0.17656270536699264, 0.17656270536699264, 0.16800410215645004, 0.16800410215645004, 0.15404576107681028, 0.15404576107681028, 0.13513636846852548, 0.13513636846852548, 0.11188384719340397, 0.11188384719340397, 0.08503614831717918, 0.08503614831717918, 0.0554595293739872, 0.0554595293739872, 0.02414830286854793, 0.02414830286854793], [0.1691423829631436, 0.1691423829631436, 0.16427648374583273, 0.16427648374583273, 0.15468467512626524, 0.15468467512626524, 0.14064291467065065, 0.14064291467065065, 0.12255520671147846, 0.12255520671147846, 0.10094204410628717, 0.10094204410628717, 0.07642573025488905, 0.07642573025488905, 0.0497145488949698, 0.0497145488949698, 0.02161601352648331, 0.02161601352648331], [0.1610544498487837, 0.15896884339395434, 0.15896884339395434, 0.15276604206585967, 0.15276604206585967, 0.1426067021736066, 0.1426067021736066, 0.12875396253933621, 0.12875396253933621, 0.11156664554733399, 0.11156664554733399, 0.09149002162245, 0.09149002162245, 0.06904454273764123, 0.06904454273764123, 0.0448142267656996, 0.0448142267656996, 0.019461788229726478, 0.019461788229726478], [0.15275338713072584, 0.15275338713072584, 0.14917298647260374, 0.14917298647260374, 0.14209610931838204, 0.14209610931838204, 0.13168863844917664, 0.13168863844917664, 0.11819453196151841, 0.11819453196151841, 0.10193011981724044, 0.10193011981724044, 0.08327674157670475, 0.08327674157670475, 0.06267204833410907, 0.06267204833410907, 0.04060142980038694, 0.04060142980038694, 0.017614007139152118, 0.017614007139152118], [0.14608113364969041, 0.14452440398997005, 0.14452440398997005, 0.13988739479107315, 0.13988739479107315, 0.13226893863333747, 0.13226893863333747, 0.12183141605372853, 0.12183141605372853, 0.10879729916714838, 0.10879729916714838, 0.09344442345603386, 0.09344442345603386, 0.0761001136283793, 0.0761001136283793, 0.057134425426857205, 0.057134425426857205, 0.036953789770852494, 0.036953789770852494, 0.016017228257774335, 0.016017228257774335], [0.13925187285563198, 0.13925187285563198, 0.13654149834601517, 0.13654149834601517, 0.13117350478706238, 0.13117350478706238, 0.12325237681051242, 0.12325237681051242, 0.11293229608053922, 0.11293229608053922, 0.10041414444288096, 0.10041414444288096, 0.08594160621706773, 0.08594160621706773, 0.06979646842452049, 0.06979646842452049, 0.052293335152683286, 0.052293335152683286, 0.03377490158481415, 0.03377490158481415, 0.0146279952982722, 0.0146279952982722], [0.13365457218610619, 0.1324620394046966, 0.1324620394046966, 0.12890572218808216, 0.12890572218808216, 0.12304908430672953, 0.12304908430672953, 0.11499664022241136, 0.11499664022241136, 0.10489209146454141, 0.10489209146454141, 0.09291576606003515, 0.09291576606003515, 0.07928141177671895, 0.07928141177671895, 0.06423242140852585, 0.06423242140852585, 0.04803767173108467, 0.04803767173108467, 0.030988005856979445, 0.030988005856979445, 0.013411859487141771, 0.013411859487141771], [0.12793819534675216, 0.12793819534675216, 0.1258374563468283, 0.1258374563468283, 0.12167047292780339, 0.12167047292780339, 0.1155056680537256, 0.1155056680537256, 0.10744427011596563, 0.10744427011596563, 0.09761865210411388, 0.09761865210411388, 0.08619016153195327, 0.08619016153195327, 0.0733464814110803, 0.0733464814110803, 0.05929858491543678, 0.05929858491543678, 0.04427743881741981, 0.04427743881741981, 0.028531388628933663, 0.028531388628933663, 0.0123412297999872, 0.0123412297999872]], _t.THREADS = 1, _t._init = !1, qe.basePath = "", He.uuid = 0, Zn.main();
|
|
10107
10107
|
}(typeof console < "u" ? console : { log: function() {
|
|
10108
10108
|
} }, i, typeof g < "u" ? g : typeof a < "u" ? a : typeof self < "u" ? self : this), i;
|
|
10109
10109
|
});
|
|
@@ -10135,8 +10135,8 @@ class pr {
|
|
|
10135
10135
|
* Initialize for non-uniform Catmull-Rom interpolation
|
|
10136
10136
|
*/
|
|
10137
10137
|
initNonuniformCatmullRom(e, i, a, u, _, g, y) {
|
|
10138
|
-
let x = (i - e) / _ - (a - e) / (_ + g) + (a - i) / g,
|
|
10139
|
-
x *= g,
|
|
10138
|
+
let x = (i - e) / _ - (a - e) / (_ + g) + (a - i) / g, d = (a - i) / g - (u - i) / (g + y) + (u - a) / y;
|
|
10139
|
+
x *= g, d *= g, this.init(i, a, x, d);
|
|
10140
10140
|
}
|
|
10141
10141
|
/**
|
|
10142
10142
|
* Calculate the polynomial value at parameter t
|
|
@@ -10222,14 +10222,14 @@ class ts extends Wn {
|
|
|
10222
10222
|
const g = (_ - (this._closed ? 0 : 1)) * e;
|
|
10223
10223
|
let y = Math.floor(g), x = g - y;
|
|
10224
10224
|
this._closed ? y += y > 0 ? 0 : (Math.floor(Math.abs(y) / _) + 1) * _ : x === 0 && y === _ - 1 && (y = _ - 2, x = 1);
|
|
10225
|
-
let
|
|
10226
|
-
this._closed || y > 0 ?
|
|
10225
|
+
let d, A;
|
|
10226
|
+
this._closed || y > 0 ? d = u[(y - 1) % _] : (this._tmp.subVectors(u[0], u[1]).add(u[0]), d = new St(this._tmp.x, this._tmp.y, this._tmp.z));
|
|
10227
10227
|
const p = u[y % _], N = u[(y + 1) % _];
|
|
10228
10228
|
if (this._closed || y + 2 < _ ? A = u[(y + 2) % _] : (this._tmp.subVectors(u[_ - 1], u[_ - 2]).add(u[_ - 1]), A = new St(this._tmp.x, this._tmp.y, this._tmp.z)), this._curveType === "centripetal" || this._curveType === "chordal") {
|
|
10229
10229
|
const k = this._curveType === "chordal" ? 0.5 : 0.25;
|
|
10230
|
-
let U = Math.pow(
|
|
10231
|
-
K < 1e-4 && (K = 1), U < 1e-4 && (U = K), Y < 1e-4 && (Y = K), this._px.initNonuniformCatmullRom(
|
|
10232
|
-
} else this._curveType === "catmullrom" && (this._px.initCatmullRom(
|
|
10230
|
+
let U = Math.pow(d.distanceToSquared(p), k), K = Math.pow(p.distanceToSquared(N), k), Y = Math.pow(N.distanceToSquared(A), k);
|
|
10231
|
+
K < 1e-4 && (K = 1), U < 1e-4 && (U = K), Y < 1e-4 && (Y = K), this._px.initNonuniformCatmullRom(d.x, p.x, N.x, A.x, U, K, Y), this._py.initNonuniformCatmullRom(d.y, p.y, N.y, A.y, U, K, Y), this._pz.initNonuniformCatmullRom(d.z, p.z, N.z, A.z, U, K, Y);
|
|
10232
|
+
} else this._curveType === "catmullrom" && (this._px.initCatmullRom(d.x, p.x, N.x, A.x, this._tension), this._py.initCatmullRom(d.y, p.y, N.y, A.y, this._tension), this._pz.initCatmullRom(d.z, p.z, N.z, A.z, this._tension));
|
|
10233
10233
|
return a.set(
|
|
10234
10234
|
this._px.calc(x),
|
|
10235
10235
|
this._py.calc(x),
|
|
@@ -10283,7 +10283,7 @@ class ts extends Wn {
|
|
|
10283
10283
|
transform(e) {
|
|
10284
10284
|
return this._points = this._points.map((i) => {
|
|
10285
10285
|
const a = new St();
|
|
10286
|
-
return a.copy(i), a.
|
|
10286
|
+
return a.copy(i), a.applyMatrix4(e), a;
|
|
10287
10287
|
}), this._boundingBoxNeedsUpdate = !0, this;
|
|
10288
10288
|
}
|
|
10289
10289
|
/**
|
|
@@ -10434,8 +10434,8 @@ class si extends Wn {
|
|
|
10434
10434
|
throw Me.ILLEGAL_PARAMETERS;
|
|
10435
10435
|
if (this._degree = 3, this._closed = !1, Array.isArray(i)) {
|
|
10436
10436
|
this._controlPoints = e;
|
|
10437
|
-
let y, x = 3,
|
|
10438
|
-
if (g >= 3 && (Array.isArray(a) ? (y = a, g >= 4 && (x = u || 3), g >= 5 && (
|
|
10437
|
+
let y, x = 3, d = !1;
|
|
10438
|
+
if (g >= 3 && (Array.isArray(a) ? (y = a, g >= 4 && (x = u || 3), g >= 5 && (d = _)) : a !== void 0 && (x = a || 3, g >= 4 && (d = u))), a === void 0 && g >= 4 && (x = u || 3, g >= 5 && (d = _)), this._degree = x, this._closed = d, this._controlPoints.length < this._degree + 1)
|
|
10439
10439
|
throw Me.ILLEGAL_PARAMETERS;
|
|
10440
10440
|
const A = this.toVerbPoints(this._controlPoints);
|
|
10441
10441
|
this._nurbsCurve = gn.geom.NurbsCurve.byKnotsControlPointsWeights(
|
|
@@ -10549,8 +10549,8 @@ class si extends Wn {
|
|
|
10549
10549
|
*/
|
|
10550
10550
|
getPoints(e = 100) {
|
|
10551
10551
|
const i = this._nurbsCurve, a = [], u = i.knots(), _ = this._nurbsCurve.degree(), g = u[_], y = u[u.length - _ - 1], x = (y - g) / (e - 1);
|
|
10552
|
-
for (let
|
|
10553
|
-
const A =
|
|
10552
|
+
for (let d = 0; d < e; d++) {
|
|
10553
|
+
const A = d === e - 1 ? y : g + d * x, p = i.point(A);
|
|
10554
10554
|
a.push(new St(p[0], p[1], p[2]));
|
|
10555
10555
|
}
|
|
10556
10556
|
return a;
|
|
@@ -10558,8 +10558,8 @@ class si extends Wn {
|
|
|
10558
10558
|
getCurvePoints(e, i) {
|
|
10559
10559
|
const a = [], u = e.knots(), _ = u[3], y = (u[u.length - 4] - _) / (i - 1);
|
|
10560
10560
|
for (let x = 0; x < i; x++) {
|
|
10561
|
-
const
|
|
10562
|
-
a.push(e.point(
|
|
10561
|
+
const d = _ + x * y;
|
|
10562
|
+
a.push(e.point(d));
|
|
10563
10563
|
}
|
|
10564
10564
|
return a;
|
|
10565
10565
|
}
|
|
@@ -10661,7 +10661,7 @@ export {
|
|
|
10661
10661
|
Q as AcGeVector3d,
|
|
10662
10662
|
Qr as DEFAULT_TOL,
|
|
10663
10663
|
Kr as DEG2RAD,
|
|
10664
|
-
|
|
10664
|
+
dn as FLOAT_TOL,
|
|
10665
10665
|
ns as ORIGIN_POINT_2D,
|
|
10666
10666
|
Yr as ORIGIN_POINT_3D,
|
|
10667
10667
|
Xr as RAD2DEG,
|