poly-extrude 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/cylinder.d.ts +11 -0
  2. package/{src → dist}/cylinder.js +108 -111
  3. package/dist/cylinder.js.map +1 -0
  4. package/dist/index.d.ts +7 -0
  5. package/dist/index.js +8 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/math/Curve.d.ts +41 -0
  8. package/dist/math/Curve.js +142 -0
  9. package/dist/math/Curve.js.map +1 -0
  10. package/dist/math/Interpolations.d.ts +8 -0
  11. package/dist/math/Interpolations.js +48 -0
  12. package/dist/math/Interpolations.js.map +1 -0
  13. package/dist/math/Matrix4.d.ts +8 -0
  14. package/dist/math/Matrix4.js +582 -0
  15. package/dist/math/Matrix4.js.map +1 -0
  16. package/dist/math/QuadraticBezierCurve3.d.ts +10 -0
  17. package/dist/math/QuadraticBezierCurve3.js +22 -0
  18. package/dist/math/QuadraticBezierCurve3.js.map +1 -0
  19. package/dist/math/Quaternion.d.ts +46 -0
  20. package/dist/math/Quaternion.js +415 -0
  21. package/dist/math/Quaternion.js.map +1 -0
  22. package/dist/math/Vector3.d.ts +42 -0
  23. package/dist/math/Vector3.js +403 -0
  24. package/dist/math/Vector3.js.map +1 -0
  25. package/dist/path/PathPoint.d.ts +15 -0
  26. package/dist/path/PathPoint.js +35 -0
  27. package/dist/path/PathPoint.js.map +1 -0
  28. package/dist/path/PathPointList.d.ts +27 -0
  29. package/dist/path/PathPointList.js +212 -0
  30. package/dist/path/PathPointList.js.map +1 -0
  31. package/dist/path.d.ts +11 -0
  32. package/{src → dist}/path.js +334 -360
  33. package/dist/path.js.map +1 -0
  34. package/dist/plane.d.ts +2 -0
  35. package/{src → dist}/plane.js +57 -58
  36. package/dist/plane.js.map +1 -0
  37. package/dist/poly-extrude.js +1286 -1581
  38. package/dist/poly-extrude.js.map +1 -1
  39. package/dist/poly-extrude.min.js +2 -2
  40. package/dist/poly-extrude.mjs +1286 -1581
  41. package/dist/poly-extrude.mjs.map +1 -0
  42. package/dist/polygon.d.ts +9 -0
  43. package/{src → dist}/polygon.js +163 -179
  44. package/dist/polygon.js.map +1 -0
  45. package/dist/polyline.d.ts +24 -0
  46. package/{src → dist}/polyline.js +420 -456
  47. package/dist/polyline.js.map +1 -0
  48. package/dist/tube.d.ts +12 -0
  49. package/{src → dist}/tube.js +124 -142
  50. package/dist/tube.js.map +1 -0
  51. package/dist/type.d.ts +9 -0
  52. package/dist/type.js +2 -0
  53. package/dist/type.js.map +1 -0
  54. package/dist/util.d.ts +20 -0
  55. package/dist/util.js +217 -0
  56. package/dist/util.js.map +1 -0
  57. package/package.json +53 -48
  58. package/readme.md +12 -2
  59. package/src/cylinder.ts +124 -0
  60. package/src/index.ts +7 -0
  61. package/src/path.ts +385 -0
  62. package/src/plane.ts +60 -0
  63. package/src/polygon.ts +189 -0
  64. package/src/polyline.ts +473 -0
  65. package/src/tube.ts +155 -0
  66. package/src/type.ts +9 -0
  67. package/src/{util.js → util.ts} +1 -1
  68. package/index.js +0 -7
@@ -0,0 +1,582 @@
1
+ // code copy from https://github.com/mrdoob/three.js/blob/dev/src/math/Matrix4.js
2
+ // import { WebGLCoordinateSystem, WebGPUCoordinateSystem } from '../constants.js';
3
+ // import { Vector3 } from './Vector3.js';
4
+ class Matrix4 {
5
+ constructor(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {
6
+ this.elements = [
7
+ 1, 0, 0, 0,
8
+ 0, 1, 0, 0,
9
+ 0, 0, 1, 0,
10
+ 0, 0, 0, 1
11
+ ];
12
+ if (n11 !== undefined) {
13
+ this.set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44);
14
+ }
15
+ }
16
+ set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) {
17
+ const te = this.elements;
18
+ te[0] = n11;
19
+ te[4] = n12;
20
+ te[8] = n13;
21
+ te[12] = n14;
22
+ te[1] = n21;
23
+ te[5] = n22;
24
+ te[9] = n23;
25
+ te[13] = n24;
26
+ te[2] = n31;
27
+ te[6] = n32;
28
+ te[10] = n33;
29
+ te[14] = n34;
30
+ te[3] = n41;
31
+ te[7] = n42;
32
+ te[11] = n43;
33
+ te[15] = n44;
34
+ return this;
35
+ }
36
+ // identity() {
37
+ // this.set(
38
+ // 1, 0, 0, 0,
39
+ // 0, 1, 0, 0,
40
+ // 0, 0, 1, 0,
41
+ // 0, 0, 0, 1
42
+ // );
43
+ // return this;
44
+ // }
45
+ // clone() {
46
+ // return new Matrix4().fromArray(this.elements);
47
+ // }
48
+ // copy(m) {
49
+ // const te = this.elements;
50
+ // const me = m.elements;
51
+ // te[0] = me[0]; te[1] = me[1]; te[2] = me[2]; te[3] = me[3];
52
+ // te[4] = me[4]; te[5] = me[5]; te[6] = me[6]; te[7] = me[7];
53
+ // te[8] = me[8]; te[9] = me[9]; te[10] = me[10]; te[11] = me[11];
54
+ // te[12] = me[12]; te[13] = me[13]; te[14] = me[14]; te[15] = me[15];
55
+ // return this;
56
+ // }
57
+ // copyPosition(m) {
58
+ // const te = this.elements, me = m.elements;
59
+ // te[12] = me[12];
60
+ // te[13] = me[13];
61
+ // te[14] = me[14];
62
+ // return this;
63
+ // }
64
+ // setFromMatrix3(m) {
65
+ // const me = m.elements;
66
+ // this.set(
67
+ // me[0], me[3], me[6], 0,
68
+ // me[1], me[4], me[7], 0,
69
+ // me[2], me[5], me[8], 0,
70
+ // 0, 0, 0, 1
71
+ // );
72
+ // return this;
73
+ // }
74
+ // extractBasis(xAxis, yAxis, zAxis) {
75
+ // xAxis.setFromMatrixColumn(this, 0);
76
+ // yAxis.setFromMatrixColumn(this, 1);
77
+ // zAxis.setFromMatrixColumn(this, 2);
78
+ // return this;
79
+ // }
80
+ // makeBasis(xAxis, yAxis, zAxis) {
81
+ // this.set(
82
+ // xAxis.x, yAxis.x, zAxis.x, 0,
83
+ // xAxis.y, yAxis.y, zAxis.y, 0,
84
+ // xAxis.z, yAxis.z, zAxis.z, 0,
85
+ // 0, 0, 0, 1
86
+ // );
87
+ // return this;
88
+ // }
89
+ // extractRotation(m) {
90
+ // // this method does not support reflection matrices
91
+ // const te = this.elements;
92
+ // const me = m.elements;
93
+ // const scaleX = 1 / _v1.setFromMatrixColumn(m, 0).length();
94
+ // const scaleY = 1 / _v1.setFromMatrixColumn(m, 1).length();
95
+ // const scaleZ = 1 / _v1.setFromMatrixColumn(m, 2).length();
96
+ // te[0] = me[0] * scaleX;
97
+ // te[1] = me[1] * scaleX;
98
+ // te[2] = me[2] * scaleX;
99
+ // te[3] = 0;
100
+ // te[4] = me[4] * scaleY;
101
+ // te[5] = me[5] * scaleY;
102
+ // te[6] = me[6] * scaleY;
103
+ // te[7] = 0;
104
+ // te[8] = me[8] * scaleZ;
105
+ // te[9] = me[9] * scaleZ;
106
+ // te[10] = me[10] * scaleZ;
107
+ // te[11] = 0;
108
+ // te[12] = 0;
109
+ // te[13] = 0;
110
+ // te[14] = 0;
111
+ // te[15] = 1;
112
+ // return this;
113
+ // }
114
+ // makeRotationFromEuler(euler) {
115
+ // const te = this.elements;
116
+ // const x = euler.x, y = euler.y, z = euler.z;
117
+ // const a = Math.cos(x), b = Math.sin(x);
118
+ // const c = Math.cos(y), d = Math.sin(y);
119
+ // const e = Math.cos(z), f = Math.sin(z);
120
+ // if (euler.order === 'XYZ') {
121
+ // const ae = a * e, af = a * f, be = b * e, bf = b * f;
122
+ // te[0] = c * e;
123
+ // te[4] = -c * f;
124
+ // te[8] = d;
125
+ // te[1] = af + be * d;
126
+ // te[5] = ae - bf * d;
127
+ // te[9] = -b * c;
128
+ // te[2] = bf - ae * d;
129
+ // te[6] = be + af * d;
130
+ // te[10] = a * c;
131
+ // } else if (euler.order === 'YXZ') {
132
+ // const ce = c * e, cf = c * f, de = d * e, df = d * f;
133
+ // te[0] = ce + df * b;
134
+ // te[4] = de * b - cf;
135
+ // te[8] = a * d;
136
+ // te[1] = a * f;
137
+ // te[5] = a * e;
138
+ // te[9] = -b;
139
+ // te[2] = cf * b - de;
140
+ // te[6] = df + ce * b;
141
+ // te[10] = a * c;
142
+ // } else if (euler.order === 'ZXY') {
143
+ // const ce = c * e, cf = c * f, de = d * e, df = d * f;
144
+ // te[0] = ce - df * b;
145
+ // te[4] = -a * f;
146
+ // te[8] = de + cf * b;
147
+ // te[1] = cf + de * b;
148
+ // te[5] = a * e;
149
+ // te[9] = df - ce * b;
150
+ // te[2] = -a * d;
151
+ // te[6] = b;
152
+ // te[10] = a * c;
153
+ // } else if (euler.order === 'ZYX') {
154
+ // const ae = a * e, af = a * f, be = b * e, bf = b * f;
155
+ // te[0] = c * e;
156
+ // te[4] = be * d - af;
157
+ // te[8] = ae * d + bf;
158
+ // te[1] = c * f;
159
+ // te[5] = bf * d + ae;
160
+ // te[9] = af * d - be;
161
+ // te[2] = -d;
162
+ // te[6] = b * c;
163
+ // te[10] = a * c;
164
+ // } else if (euler.order === 'YZX') {
165
+ // const ac = a * c, ad = a * d, bc = b * c, bd = b * d;
166
+ // te[0] = c * e;
167
+ // te[4] = bd - ac * f;
168
+ // te[8] = bc * f + ad;
169
+ // te[1] = f;
170
+ // te[5] = a * e;
171
+ // te[9] = -b * e;
172
+ // te[2] = -d * e;
173
+ // te[6] = ad * f + bc;
174
+ // te[10] = ac - bd * f;
175
+ // } else if (euler.order === 'XZY') {
176
+ // const ac = a * c, ad = a * d, bc = b * c, bd = b * d;
177
+ // te[0] = c * e;
178
+ // te[4] = -f;
179
+ // te[8] = d * e;
180
+ // te[1] = ac * f + bd;
181
+ // te[5] = a * e;
182
+ // te[9] = ad * f - bc;
183
+ // te[2] = bc * f - ad;
184
+ // te[6] = b * e;
185
+ // te[10] = bd * f + ac;
186
+ // }
187
+ // // bottom row
188
+ // te[3] = 0;
189
+ // te[7] = 0;
190
+ // te[11] = 0;
191
+ // // last column
192
+ // te[12] = 0;
193
+ // te[13] = 0;
194
+ // te[14] = 0;
195
+ // te[15] = 1;
196
+ // return this;
197
+ // }
198
+ // makeRotationFromQuaternion(q) {
199
+ // return this.compose(_zero, q, _one);
200
+ // }
201
+ // lookAt(eye, target, up) {
202
+ // const te = this.elements;
203
+ // _z.subVectors(eye, target);
204
+ // if (_z.lengthSq() === 0) {
205
+ // // eye and target are in the same position
206
+ // _z.z = 1;
207
+ // }
208
+ // _z.normalize();
209
+ // _x.crossVectors(up, _z);
210
+ // if (_x.lengthSq() === 0) {
211
+ // // up and z are parallel
212
+ // if (Math.abs(up.z) === 1) {
213
+ // _z.x += 0.0001;
214
+ // } else {
215
+ // _z.z += 0.0001;
216
+ // }
217
+ // _z.normalize();
218
+ // _x.crossVectors(up, _z);
219
+ // }
220
+ // _x.normalize();
221
+ // _y.crossVectors(_z, _x);
222
+ // te[0] = _x.x; te[4] = _y.x; te[8] = _z.x;
223
+ // te[1] = _x.y; te[5] = _y.y; te[9] = _z.y;
224
+ // te[2] = _x.z; te[6] = _y.z; te[10] = _z.z;
225
+ // return this;
226
+ // }
227
+ multiply(m) {
228
+ return this.multiplyMatrices(this, m);
229
+ }
230
+ // premultiply(m) {
231
+ // return this.multiplyMatrices(m, this);
232
+ // }
233
+ // multiplyMatrices(a, b) {
234
+ // const ae = a.elements;
235
+ // const be = b.elements;
236
+ // const te = this.elements;
237
+ // const a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12];
238
+ // const a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13];
239
+ // const a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14];
240
+ // const a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15];
241
+ // const b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12];
242
+ // const b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13];
243
+ // const b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14];
244
+ // const b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15];
245
+ // te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41;
246
+ // te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42;
247
+ // te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43;
248
+ // te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44;
249
+ // te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41;
250
+ // te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42;
251
+ // te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43;
252
+ // te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44;
253
+ // te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41;
254
+ // te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42;
255
+ // te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43;
256
+ // te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44;
257
+ // te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41;
258
+ // te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42;
259
+ // te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43;
260
+ // te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44;
261
+ // return this;
262
+ // }
263
+ // multiplyScalar(s) {
264
+ // const te = this.elements;
265
+ // te[0] *= s; te[4] *= s; te[8] *= s; te[12] *= s;
266
+ // te[1] *= s; te[5] *= s; te[9] *= s; te[13] *= s;
267
+ // te[2] *= s; te[6] *= s; te[10] *= s; te[14] *= s;
268
+ // te[3] *= s; te[7] *= s; te[11] *= s; te[15] *= s;
269
+ // return this;
270
+ // }
271
+ // determinant() {
272
+ // const te = this.elements;
273
+ // const n11 = te[0], n12 = te[4], n13 = te[8], n14 = te[12];
274
+ // const n21 = te[1], n22 = te[5], n23 = te[9], n24 = te[13];
275
+ // const n31 = te[2], n32 = te[6], n33 = te[10], n34 = te[14];
276
+ // const n41 = te[3], n42 = te[7], n43 = te[11], n44 = te[15];
277
+ // //TODO: make this more efficient
278
+ // //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm )
279
+ // return (
280
+ // n41 * (
281
+ // + n14 * n23 * n32
282
+ // - n13 * n24 * n32
283
+ // - n14 * n22 * n33
284
+ // + n12 * n24 * n33
285
+ // + n13 * n22 * n34
286
+ // - n12 * n23 * n34
287
+ // ) +
288
+ // n42 * (
289
+ // + n11 * n23 * n34
290
+ // - n11 * n24 * n33
291
+ // + n14 * n21 * n33
292
+ // - n13 * n21 * n34
293
+ // + n13 * n24 * n31
294
+ // - n14 * n23 * n31
295
+ // ) +
296
+ // n43 * (
297
+ // + n11 * n24 * n32
298
+ // - n11 * n22 * n34
299
+ // - n14 * n21 * n32
300
+ // + n12 * n21 * n34
301
+ // + n14 * n22 * n31
302
+ // - n12 * n24 * n31
303
+ // ) +
304
+ // n44 * (
305
+ // - n13 * n22 * n31
306
+ // - n11 * n23 * n32
307
+ // + n11 * n22 * n33
308
+ // + n13 * n21 * n32
309
+ // - n12 * n21 * n33
310
+ // + n12 * n23 * n31
311
+ // )
312
+ // );
313
+ // }
314
+ // transpose() {
315
+ // const te = this.elements;
316
+ // let tmp;
317
+ // tmp = te[1]; te[1] = te[4]; te[4] = tmp;
318
+ // tmp = te[2]; te[2] = te[8]; te[8] = tmp;
319
+ // tmp = te[6]; te[6] = te[9]; te[9] = tmp;
320
+ // tmp = te[3]; te[3] = te[12]; te[12] = tmp;
321
+ // tmp = te[7]; te[7] = te[13]; te[13] = tmp;
322
+ // tmp = te[11]; te[11] = te[14]; te[14] = tmp;
323
+ // return this;
324
+ // }
325
+ // setPosition(x, y, z) {
326
+ // const te = this.elements;
327
+ // if (x.isVector3) {
328
+ // te[12] = x.x;
329
+ // te[13] = x.y;
330
+ // te[14] = x.z;
331
+ // } else {
332
+ // te[12] = x;
333
+ // te[13] = y;
334
+ // te[14] = z;
335
+ // }
336
+ // return this;
337
+ // }
338
+ // invert() {
339
+ // // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm
340
+ // const te = this.elements,
341
+ // n11 = te[0], n21 = te[1], n31 = te[2], n41 = te[3],
342
+ // n12 = te[4], n22 = te[5], n32 = te[6], n42 = te[7],
343
+ // n13 = te[8], n23 = te[9], n33 = te[10], n43 = te[11],
344
+ // n14 = te[12], n24 = te[13], n34 = te[14], n44 = te[15],
345
+ // t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44,
346
+ // t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44,
347
+ // t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44,
348
+ // t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34;
349
+ // const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14;
350
+ // if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
351
+ // const detInv = 1 / det;
352
+ // te[0] = t11 * detInv;
353
+ // te[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv;
354
+ // te[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv;
355
+ // te[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv;
356
+ // te[4] = t12 * detInv;
357
+ // te[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv;
358
+ // te[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv;
359
+ // te[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv;
360
+ // te[8] = t13 * detInv;
361
+ // te[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv;
362
+ // te[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv;
363
+ // te[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv;
364
+ // te[12] = t14 * detInv;
365
+ // te[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv;
366
+ // te[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv;
367
+ // te[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv;
368
+ // return this;
369
+ // }
370
+ // scale(v) {
371
+ // const te = this.elements;
372
+ // const x = v.x, y = v.y, z = v.z;
373
+ // te[0] *= x; te[4] *= y; te[8] *= z;
374
+ // te[1] *= x; te[5] *= y; te[9] *= z;
375
+ // te[2] *= x; te[6] *= y; te[10] *= z;
376
+ // te[3] *= x; te[7] *= y; te[11] *= z;
377
+ // return this;
378
+ // }
379
+ // getMaxScaleOnAxis() {
380
+ // const te = this.elements;
381
+ // const scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2];
382
+ // const scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6];
383
+ // const scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10];
384
+ // return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq));
385
+ // }
386
+ // makeTranslation(x, y, z) {
387
+ // if (x.isVector3) {
388
+ // this.set(
389
+ // 1, 0, 0, x.x,
390
+ // 0, 1, 0, x.y,
391
+ // 0, 0, 1, x.z,
392
+ // 0, 0, 0, 1
393
+ // );
394
+ // } else {
395
+ // this.set(
396
+ // 1, 0, 0, x,
397
+ // 0, 1, 0, y,
398
+ // 0, 0, 1, z,
399
+ // 0, 0, 0, 1
400
+ // );
401
+ // }
402
+ // return this;
403
+ // }
404
+ // makeRotationX(theta) {
405
+ // const c = Math.cos(theta), s = Math.sin(theta);
406
+ // this.set(
407
+ // 1, 0, 0, 0,
408
+ // 0, c, -s, 0,
409
+ // 0, s, c, 0,
410
+ // 0, 0, 0, 1
411
+ // );
412
+ // return this;
413
+ // }
414
+ // makeRotationY(theta) {
415
+ // const c = Math.cos(theta), s = Math.sin(theta);
416
+ // this.set(
417
+ // c, 0, s, 0,
418
+ // 0, 1, 0, 0,
419
+ // -s, 0, c, 0,
420
+ // 0, 0, 0, 1
421
+ // );
422
+ // return this;
423
+ // }
424
+ // makeRotationZ(theta) {
425
+ // const c = Math.cos(theta), s = Math.sin(theta);
426
+ // this.set(
427
+ // c, -s, 0, 0,
428
+ // s, c, 0, 0,
429
+ // 0, 0, 1, 0,
430
+ // 0, 0, 0, 1
431
+ // );
432
+ // return this;
433
+ // }
434
+ makeRotationAxis(axis, angle) {
435
+ // Based on http://www.gamedev.net/reference/articles/article1199.asp
436
+ const c = Math.cos(angle);
437
+ const s = Math.sin(angle);
438
+ const t = 1 - c;
439
+ const x = axis.x, y = axis.y, z = axis.z;
440
+ const tx = t * x, ty = t * y;
441
+ this.set(tx * x + c, tx * y - s * z, tx * z + s * y, 0, tx * y + s * z, ty * y + c, ty * z - s * x, 0, tx * z - s * y, ty * z + s * x, t * z * z + c, 0, 0, 0, 0, 1);
442
+ return this;
443
+ }
444
+ // makeScale(x, y, z) {
445
+ // this.set(
446
+ // x, 0, 0, 0,
447
+ // 0, y, 0, 0,
448
+ // 0, 0, z, 0,
449
+ // 0, 0, 0, 1
450
+ // );
451
+ // return this;
452
+ // }
453
+ // makeShear(xy, xz, yx, yz, zx, zy) {
454
+ // this.set(
455
+ // 1, yx, zx, 0,
456
+ // xy, 1, zy, 0,
457
+ // xz, yz, 1, 0,
458
+ // 0, 0, 0, 1
459
+ // );
460
+ // return this;
461
+ // }
462
+ // compose(position, quaternion, scale) {
463
+ // const te = this.elements;
464
+ // const x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w;
465
+ // const x2 = x + x, y2 = y + y, z2 = z + z;
466
+ // const xx = x * x2, xy = x * y2, xz = x * z2;
467
+ // const yy = y * y2, yz = y * z2, zz = z * z2;
468
+ // const wx = w * x2, wy = w * y2, wz = w * z2;
469
+ // const sx = scale.x, sy = scale.y, sz = scale.z;
470
+ // te[0] = (1 - (yy + zz)) * sx;
471
+ // te[1] = (xy + wz) * sx;
472
+ // te[2] = (xz - wy) * sx;
473
+ // te[3] = 0;
474
+ // te[4] = (xy - wz) * sy;
475
+ // te[5] = (1 - (xx + zz)) * sy;
476
+ // te[6] = (yz + wx) * sy;
477
+ // te[7] = 0;
478
+ // te[8] = (xz + wy) * sz;
479
+ // te[9] = (yz - wx) * sz;
480
+ // te[10] = (1 - (xx + yy)) * sz;
481
+ // te[11] = 0;
482
+ // te[12] = position.x;
483
+ // te[13] = position.y;
484
+ // te[14] = position.z;
485
+ // te[15] = 1;
486
+ // return this;
487
+ // }
488
+ // decompose(position, quaternion, scale) {
489
+ // const te = this.elements;
490
+ // let sx = _v1.set(te[0], te[1], te[2]).length();
491
+ // const sy = _v1.set(te[4], te[5], te[6]).length();
492
+ // const sz = _v1.set(te[8], te[9], te[10]).length();
493
+ // // if determine is negative, we need to invert one scale
494
+ // const det = this.determinant();
495
+ // if (det < 0) sx = -sx;
496
+ // position.x = te[12];
497
+ // position.y = te[13];
498
+ // position.z = te[14];
499
+ // // scale the rotation part
500
+ // _m1.copy(this);
501
+ // const invSX = 1 / sx;
502
+ // const invSY = 1 / sy;
503
+ // const invSZ = 1 / sz;
504
+ // _m1.elements[0] *= invSX;
505
+ // _m1.elements[1] *= invSX;
506
+ // _m1.elements[2] *= invSX;
507
+ // _m1.elements[4] *= invSY;
508
+ // _m1.elements[5] *= invSY;
509
+ // _m1.elements[6] *= invSY;
510
+ // _m1.elements[8] *= invSZ;
511
+ // _m1.elements[9] *= invSZ;
512
+ // _m1.elements[10] *= invSZ;
513
+ // quaternion.setFromRotationMatrix(_m1);
514
+ // scale.x = sx;
515
+ // scale.y = sy;
516
+ // scale.z = sz;
517
+ // return this;
518
+ // }
519
+ // makePerspective(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) {
520
+ // const te = this.elements;
521
+ // const x = 2 * near / (right - left);
522
+ // const y = 2 * near / (top - bottom);
523
+ // const a = (right + left) / (right - left);
524
+ // const b = (top + bottom) / (top - bottom);
525
+ // let c, d;
526
+ // if (coordinateSystem === WebGLCoordinateSystem) {
527
+ // c = - (far + near) / (far - near);
528
+ // d = (- 2 * far * near) / (far - near);
529
+ // } else if (coordinateSystem === WebGPUCoordinateSystem) {
530
+ // c = - far / (far - near);
531
+ // d = (- far * near) / (far - near);
532
+ // } else {
533
+ // throw new Error('THREE.Matrix4.makePerspective(): Invalid coordinate system: ' + coordinateSystem);
534
+ // }
535
+ // te[0] = x; te[4] = 0; te[8] = a; te[12] = 0;
536
+ // te[1] = 0; te[5] = y; te[9] = b; te[13] = 0;
537
+ // te[2] = 0; te[6] = 0; te[10] = c; te[14] = d;
538
+ // te[3] = 0; te[7] = 0; te[11] = - 1; te[15] = 0;
539
+ // return this;
540
+ // }
541
+ // makeOrthographic(left, right, top, bottom, near, far, coordinateSystem = WebGLCoordinateSystem) {
542
+ // const te = this.elements;
543
+ // const w = 1.0 / (right - left);
544
+ // const h = 1.0 / (top - bottom);
545
+ // const p = 1.0 / (far - near);
546
+ // const x = (right + left) * w;
547
+ // const y = (top + bottom) * h;
548
+ // let z, zInv;
549
+ // if (coordinateSystem === WebGLCoordinateSystem) {
550
+ // z = (far + near) * p;
551
+ // zInv = - 2 * p;
552
+ // } else if (coordinateSystem === WebGPUCoordinateSystem) {
553
+ // z = near * p;
554
+ // zInv = - 1 * p;
555
+ // } else {
556
+ // throw new Error('THREE.Matrix4.makeOrthographic(): Invalid coordinate system: ' + coordinateSystem);
557
+ // }
558
+ // te[0] = 2 * w; te[4] = 0; te[8] = 0; te[12] = - x;
559
+ // te[1] = 0; te[5] = 2 * h; te[9] = 0; te[13] = - y;
560
+ // te[2] = 0; te[6] = 0; te[10] = zInv; te[14] = - z;
561
+ // te[3] = 0; te[7] = 0; te[11] = 0; te[15] = 1;
562
+ // return this;
563
+ // }
564
+ equals(matrix) {
565
+ const te = this.elements;
566
+ const me = matrix.elements;
567
+ for (let i = 0; i < 16; i++) {
568
+ if (te[i] !== me[i])
569
+ return false;
570
+ }
571
+ return true;
572
+ }
573
+ }
574
+ // const _v1 = new Vector3();
575
+ // const _m1 = new Matrix4();
576
+ // const _zero = new Vector3(0, 0, 0);
577
+ // const _one = new Vector3(1, 1, 1);
578
+ // const _x = new Vector3();
579
+ // const _y = new Vector3();
580
+ // const _z = new Vector3();
581
+ export { Matrix4 };
582
+ //# sourceMappingURL=Matrix4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Matrix4.js","sourceRoot":"","sources":["../../src/math/Matrix4.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export class QuadraticBezierCurve3 extends Curve {
2
+ constructor(v0?: Vector3, v1?: Vector3, v2?: Vector3);
3
+ isQuadraticBezierCurve3: boolean;
4
+ v0: Vector3;
5
+ v1: Vector3;
6
+ v2: Vector3;
7
+ getPoint(t: any, optionalTarget?: Vector3): Vector3;
8
+ }
9
+ import { Curve } from './Curve.js';
10
+ import { Vector3 } from './Vector3.js';
@@ -0,0 +1,22 @@
1
+ // code copy from https://github.com/mrdoob/three.js/blob/dev/src/extras/curves/QuadraticBezierCurve3.js
2
+ import { Curve } from './Curve.js';
3
+ import { QuadraticBezier } from './Interpolations.js';
4
+ import { Vector3 } from './Vector3.js';
5
+ class QuadraticBezierCurve3 extends Curve {
6
+ constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3()) {
7
+ super();
8
+ this.isQuadraticBezierCurve3 = true;
9
+ this.type = 'QuadraticBezierCurve3';
10
+ this.v0 = v0;
11
+ this.v1 = v1;
12
+ this.v2 = v2;
13
+ }
14
+ getPoint(t, optionalTarget = new Vector3()) {
15
+ const point = optionalTarget;
16
+ const v0 = this.v0, v1 = this.v1, v2 = this.v2;
17
+ point.set(QuadraticBezier(t, v0.x, v1.x, v2.x), QuadraticBezier(t, v0.y, v1.y, v2.y), QuadraticBezier(t, v0.z, v1.z, v2.z));
18
+ return point;
19
+ }
20
+ }
21
+ export { QuadraticBezierCurve3 };
22
+ //# sourceMappingURL=QuadraticBezierCurve3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuadraticBezierCurve3.js","sourceRoot":"","sources":["../../src/math/QuadraticBezierCurve3.js"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,qBAAsB,SAAQ,KAAK;IAErC,YAAY,EAAE,GAAG,IAAI,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,OAAO,EAAE,EAAE,EAAE,GAAG,IAAI,OAAO,EAAE;QAElE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QAEpC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QAEpC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAEjB,CAAC;IAED,QAAQ,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,OAAO,EAAE;QAEtC,MAAM,KAAK,GAAG,cAAc,CAAC;QAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAE/C,KAAK,CAAC,GAAG,CACL,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACpC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACpC,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACvC,CAAC;QAEF,OAAO,KAAK,CAAC;IAEjB,CAAC;CAsCJ;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}