@mlightcad/geometry-engine 3.0.2 → 3.0.4

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 (159) hide show
  1. package/package.json +3 -3
  2. package/dist/geometry-engine.js +0 -10702
  3. package/dist/geometry-engine.umd.cjs +0 -4
  4. package/lib/geometry/AcGeArea2d.d.ts +0 -61
  5. package/lib/geometry/AcGeArea2d.d.ts.map +0 -1
  6. package/lib/geometry/AcGeArea2d.js +0 -174
  7. package/lib/geometry/AcGeArea2d.js.map +0 -1
  8. package/lib/geometry/AcGeCatmullRomCurve3d.d.ts +0 -146
  9. package/lib/geometry/AcGeCatmullRomCurve3d.d.ts.map +0 -1
  10. package/lib/geometry/AcGeCatmullRomCurve3d.js +0 -358
  11. package/lib/geometry/AcGeCatmullRomCurve3d.js.map +0 -1
  12. package/lib/geometry/AcGeCircArc2d.d.ts +0 -132
  13. package/lib/geometry/AcGeCircArc2d.d.ts.map +0 -1
  14. package/lib/geometry/AcGeCircArc2d.js +0 -473
  15. package/lib/geometry/AcGeCircArc2d.js.map +0 -1
  16. package/lib/geometry/AcGeCircArc3d.d.ts +0 -138
  17. package/lib/geometry/AcGeCircArc3d.d.ts.map +0 -1
  18. package/lib/geometry/AcGeCircArc3d.js +0 -447
  19. package/lib/geometry/AcGeCircArc3d.js.map +0 -1
  20. package/lib/geometry/AcGeCurve2d.d.ts +0 -85
  21. package/lib/geometry/AcGeCurve2d.d.ts.map +0 -1
  22. package/lib/geometry/AcGeCurve2d.js +0 -213
  23. package/lib/geometry/AcGeCurve2d.js.map +0 -1
  24. package/lib/geometry/AcGeCurve3d.d.ts +0 -27
  25. package/lib/geometry/AcGeCurve3d.d.ts.map +0 -1
  26. package/lib/geometry/AcGeCurve3d.js +0 -29
  27. package/lib/geometry/AcGeCurve3d.js.map +0 -1
  28. package/lib/geometry/AcGeEllipseArc2d.d.ts +0 -105
  29. package/lib/geometry/AcGeEllipseArc2d.d.ts.map +0 -1
  30. package/lib/geometry/AcGeEllipseArc2d.js +0 -292
  31. package/lib/geometry/AcGeEllipseArc2d.js.map +0 -1
  32. package/lib/geometry/AcGeEllipseArc3d.d.ts +0 -142
  33. package/lib/geometry/AcGeEllipseArc3d.d.ts.map +0 -1
  34. package/lib/geometry/AcGeEllipseArc3d.js +0 -459
  35. package/lib/geometry/AcGeEllipseArc3d.js.map +0 -1
  36. package/lib/geometry/AcGeLine2d.d.ts +0 -56
  37. package/lib/geometry/AcGeLine2d.d.ts.map +0 -1
  38. package/lib/geometry/AcGeLine2d.js +0 -125
  39. package/lib/geometry/AcGeLine2d.js.map +0 -1
  40. package/lib/geometry/AcGeLine3d.d.ts +0 -134
  41. package/lib/geometry/AcGeLine3d.d.ts.map +0 -1
  42. package/lib/geometry/AcGeLine3d.js +0 -291
  43. package/lib/geometry/AcGeLine3d.js.map +0 -1
  44. package/lib/geometry/AcGeLoop2d.d.ts +0 -59
  45. package/lib/geometry/AcGeLoop2d.d.ts.map +0 -1
  46. package/lib/geometry/AcGeLoop2d.js +0 -141
  47. package/lib/geometry/AcGeLoop2d.js.map +0 -1
  48. package/lib/geometry/AcGeNurbsCurve.d.ts +0 -73
  49. package/lib/geometry/AcGeNurbsCurve.d.ts.map +0 -1
  50. package/lib/geometry/AcGeNurbsCurve.js +0 -172
  51. package/lib/geometry/AcGeNurbsCurve.js.map +0 -1
  52. package/lib/geometry/AcGePolyline2d.d.ts +0 -90
  53. package/lib/geometry/AcGePolyline2d.d.ts.map +0 -1
  54. package/lib/geometry/AcGePolyline2d.js +0 -224
  55. package/lib/geometry/AcGePolyline2d.js.map +0 -1
  56. package/lib/geometry/AcGeShape.d.ts +0 -12
  57. package/lib/geometry/AcGeShape.d.ts.map +0 -1
  58. package/lib/geometry/AcGeShape.js +0 -22
  59. package/lib/geometry/AcGeShape.js.map +0 -1
  60. package/lib/geometry/AcGeShape2d.d.ts +0 -31
  61. package/lib/geometry/AcGeShape2d.d.ts.map +0 -1
  62. package/lib/geometry/AcGeShape2d.js +0 -51
  63. package/lib/geometry/AcGeShape2d.js.map +0 -1
  64. package/lib/geometry/AcGeShape3d.d.ts +0 -33
  65. package/lib/geometry/AcGeShape3d.d.ts.map +0 -1
  66. package/lib/geometry/AcGeShape3d.js +0 -52
  67. package/lib/geometry/AcGeShape3d.js.map +0 -1
  68. package/lib/geometry/AcGeSpline3d.d.ts +0 -99
  69. package/lib/geometry/AcGeSpline3d.d.ts.map +0 -1
  70. package/lib/geometry/AcGeSpline3d.js +0 -350
  71. package/lib/geometry/AcGeSpline3d.js.map +0 -1
  72. package/lib/geometry/index.d.ts +0 -15
  73. package/lib/geometry/index.d.ts.map +0 -1
  74. package/lib/geometry/index.js +0 -15
  75. package/lib/geometry/index.js.map +0 -1
  76. package/lib/index.d.ts +0 -4
  77. package/lib/index.d.ts.map +0 -1
  78. package/lib/index.js +0 -4
  79. package/lib/index.js.map +0 -1
  80. package/lib/math/AcGeBox2d.d.ts +0 -173
  81. package/lib/math/AcGeBox2d.d.ts.map +0 -1
  82. package/lib/math/AcGeBox2d.js +0 -289
  83. package/lib/math/AcGeBox2d.js.map +0 -1
  84. package/lib/math/AcGeBox3d.d.ts +0 -195
  85. package/lib/math/AcGeBox3d.d.ts.map +0 -1
  86. package/lib/math/AcGeBox3d.js +0 -378
  87. package/lib/math/AcGeBox3d.js.map +0 -1
  88. package/lib/math/AcGeEuler.d.ts +0 -133
  89. package/lib/math/AcGeEuler.d.ts.map +0 -1
  90. package/lib/math/AcGeEuler.js +0 -358
  91. package/lib/math/AcGeEuler.js.map +0 -1
  92. package/lib/math/AcGeMatrix2d.d.ts +0 -203
  93. package/lib/math/AcGeMatrix2d.d.ts.map +0 -1
  94. package/lib/math/AcGeMatrix2d.js +0 -393
  95. package/lib/math/AcGeMatrix2d.js.map +0 -1
  96. package/lib/math/AcGeMatrix3d.d.ts +0 -279
  97. package/lib/math/AcGeMatrix3d.d.ts.map +0 -1
  98. package/lib/math/AcGeMatrix3d.js +0 -1037
  99. package/lib/math/AcGeMatrix3d.js.map +0 -1
  100. package/lib/math/AcGePlane.d.ts +0 -131
  101. package/lib/math/AcGePlane.d.ts.map +0 -1
  102. package/lib/math/AcGePlane.js +0 -218
  103. package/lib/math/AcGePlane.js.map +0 -1
  104. package/lib/math/AcGePoint.d.ts +0 -4
  105. package/lib/math/AcGePoint.d.ts.map +0 -1
  106. package/lib/math/AcGePoint.js +0 -2
  107. package/lib/math/AcGePoint.js.map +0 -1
  108. package/lib/math/AcGePoint2d.d.ts +0 -17
  109. package/lib/math/AcGePoint2d.d.ts.map +0 -1
  110. package/lib/math/AcGePoint2d.js +0 -40
  111. package/lib/math/AcGePoint2d.js.map +0 -1
  112. package/lib/math/AcGePoint3d.d.ts +0 -18
  113. package/lib/math/AcGePoint3d.d.ts.map +0 -1
  114. package/lib/math/AcGePoint3d.js +0 -43
  115. package/lib/math/AcGePoint3d.js.map +0 -1
  116. package/lib/math/AcGeQuaternion.d.ts +0 -230
  117. package/lib/math/AcGeQuaternion.d.ts.map +0 -1
  118. package/lib/math/AcGeQuaternion.js +0 -666
  119. package/lib/math/AcGeQuaternion.js.map +0 -1
  120. package/lib/math/AcGeVector.d.ts +0 -9
  121. package/lib/math/AcGeVector.d.ts.map +0 -1
  122. package/lib/math/AcGeVector.js +0 -2
  123. package/lib/math/AcGeVector.js.map +0 -1
  124. package/lib/math/AcGeVector2d.d.ts +0 -361
  125. package/lib/math/AcGeVector2d.d.ts.map +0 -1
  126. package/lib/math/AcGeVector2d.js +0 -622
  127. package/lib/math/AcGeVector2d.js.map +0 -1
  128. package/lib/math/AcGeVector3d.d.ts +0 -493
  129. package/lib/math/AcGeVector3d.d.ts.map +0 -1
  130. package/lib/math/AcGeVector3d.js +0 -868
  131. package/lib/math/AcGeVector3d.js.map +0 -1
  132. package/lib/math/index.d.ts +0 -14
  133. package/lib/math/index.d.ts.map +0 -1
  134. package/lib/math/index.js +0 -14
  135. package/lib/math/index.js.map +0 -1
  136. package/lib/util/AcGeConstants.d.ts +0 -19
  137. package/lib/util/AcGeConstants.d.ts.map +0 -1
  138. package/lib/util/AcGeConstants.js +0 -25
  139. package/lib/util/AcGeConstants.js.map +0 -1
  140. package/lib/util/AcGeGeometryUtil.d.ts +0 -16
  141. package/lib/util/AcGeGeometryUtil.d.ts.map +0 -1
  142. package/lib/util/AcGeGeometryUtil.js +0 -56
  143. package/lib/util/AcGeGeometryUtil.js.map +0 -1
  144. package/lib/util/AcGeMathUtil.d.ts +0 -203
  145. package/lib/util/AcGeMathUtil.d.ts.map +0 -1
  146. package/lib/util/AcGeMathUtil.js +0 -585
  147. package/lib/util/AcGeMathUtil.js.map +0 -1
  148. package/lib/util/AcGeNurbsUtil.d.ts +0 -34
  149. package/lib/util/AcGeNurbsUtil.d.ts.map +0 -1
  150. package/lib/util/AcGeNurbsUtil.js +0 -218
  151. package/lib/util/AcGeNurbsUtil.js.map +0 -1
  152. package/lib/util/AcGeTol.d.ts +0 -91
  153. package/lib/util/AcGeTol.d.ts.map +0 -1
  154. package/lib/util/AcGeTol.js +0 -83
  155. package/lib/util/AcGeTol.js.map +0 -1
  156. package/lib/util/index.d.ts +0 -6
  157. package/lib/util/index.d.ts.map +0 -1
  158. package/lib/util/index.js +0 -6
  159. package/lib/util/index.js.map +0 -1
@@ -1,585 +0,0 @@
1
- var _lut = [
2
- '00',
3
- '01',
4
- '02',
5
- '03',
6
- '04',
7
- '05',
8
- '06',
9
- '07',
10
- '08',
11
- '09',
12
- '0a',
13
- '0b',
14
- '0c',
15
- '0d',
16
- '0e',
17
- '0f',
18
- '10',
19
- '11',
20
- '12',
21
- '13',
22
- '14',
23
- '15',
24
- '16',
25
- '17',
26
- '18',
27
- '19',
28
- '1a',
29
- '1b',
30
- '1c',
31
- '1d',
32
- '1e',
33
- '1f',
34
- '20',
35
- '21',
36
- '22',
37
- '23',
38
- '24',
39
- '25',
40
- '26',
41
- '27',
42
- '28',
43
- '29',
44
- '2a',
45
- '2b',
46
- '2c',
47
- '2d',
48
- '2e',
49
- '2f',
50
- '30',
51
- '31',
52
- '32',
53
- '33',
54
- '34',
55
- '35',
56
- '36',
57
- '37',
58
- '38',
59
- '39',
60
- '3a',
61
- '3b',
62
- '3c',
63
- '3d',
64
- '3e',
65
- '3f',
66
- '40',
67
- '41',
68
- '42',
69
- '43',
70
- '44',
71
- '45',
72
- '46',
73
- '47',
74
- '48',
75
- '49',
76
- '4a',
77
- '4b',
78
- '4c',
79
- '4d',
80
- '4e',
81
- '4f',
82
- '50',
83
- '51',
84
- '52',
85
- '53',
86
- '54',
87
- '55',
88
- '56',
89
- '57',
90
- '58',
91
- '59',
92
- '5a',
93
- '5b',
94
- '5c',
95
- '5d',
96
- '5e',
97
- '5f',
98
- '60',
99
- '61',
100
- '62',
101
- '63',
102
- '64',
103
- '65',
104
- '66',
105
- '67',
106
- '68',
107
- '69',
108
- '6a',
109
- '6b',
110
- '6c',
111
- '6d',
112
- '6e',
113
- '6f',
114
- '70',
115
- '71',
116
- '72',
117
- '73',
118
- '74',
119
- '75',
120
- '76',
121
- '77',
122
- '78',
123
- '79',
124
- '7a',
125
- '7b',
126
- '7c',
127
- '7d',
128
- '7e',
129
- '7f',
130
- '80',
131
- '81',
132
- '82',
133
- '83',
134
- '84',
135
- '85',
136
- '86',
137
- '87',
138
- '88',
139
- '89',
140
- '8a',
141
- '8b',
142
- '8c',
143
- '8d',
144
- '8e',
145
- '8f',
146
- '90',
147
- '91',
148
- '92',
149
- '93',
150
- '94',
151
- '95',
152
- '96',
153
- '97',
154
- '98',
155
- '99',
156
- '9a',
157
- '9b',
158
- '9c',
159
- '9d',
160
- '9e',
161
- '9f',
162
- 'a0',
163
- 'a1',
164
- 'a2',
165
- 'a3',
166
- 'a4',
167
- 'a5',
168
- 'a6',
169
- 'a7',
170
- 'a8',
171
- 'a9',
172
- 'aa',
173
- 'ab',
174
- 'ac',
175
- 'ad',
176
- 'ae',
177
- 'af',
178
- 'b0',
179
- 'b1',
180
- 'b2',
181
- 'b3',
182
- 'b4',
183
- 'b5',
184
- 'b6',
185
- 'b7',
186
- 'b8',
187
- 'b9',
188
- 'ba',
189
- 'bb',
190
- 'bc',
191
- 'bd',
192
- 'be',
193
- 'bf',
194
- 'c0',
195
- 'c1',
196
- 'c2',
197
- 'c3',
198
- 'c4',
199
- 'c5',
200
- 'c6',
201
- 'c7',
202
- 'c8',
203
- 'c9',
204
- 'ca',
205
- 'cb',
206
- 'cc',
207
- 'cd',
208
- 'ce',
209
- 'cf',
210
- 'd0',
211
- 'd1',
212
- 'd2',
213
- 'd3',
214
- 'd4',
215
- 'd5',
216
- 'd6',
217
- 'd7',
218
- 'd8',
219
- 'd9',
220
- 'da',
221
- 'db',
222
- 'dc',
223
- 'dd',
224
- 'de',
225
- 'df',
226
- 'e0',
227
- 'e1',
228
- 'e2',
229
- 'e3',
230
- 'e4',
231
- 'e5',
232
- 'e6',
233
- 'e7',
234
- 'e8',
235
- 'e9',
236
- 'ea',
237
- 'eb',
238
- 'ec',
239
- 'ed',
240
- 'ee',
241
- 'ef',
242
- 'f0',
243
- 'f1',
244
- 'f2',
245
- 'f3',
246
- 'f4',
247
- 'f5',
248
- 'f6',
249
- 'f7',
250
- 'f8',
251
- 'f9',
252
- 'fa',
253
- 'fb',
254
- 'fc',
255
- 'fd',
256
- 'fe',
257
- 'ff'
258
- ];
259
- var _seed = 1234567;
260
- var DEG2RAD = Math.PI / 180;
261
- var RAD2DEG = 180 / Math.PI;
262
- /**
263
- * Generate a UUID (universally unique identifier).
264
- * http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136
265
- * @returns Return a UUID
266
- */
267
- function generateUUID() {
268
- var d0 = (Math.random() * 0xffffffff) | 0;
269
- var d1 = (Math.random() * 0xffffffff) | 0;
270
- var d2 = (Math.random() * 0xffffffff) | 0;
271
- var d3 = (Math.random() * 0xffffffff) | 0;
272
- var uuid = _lut[d0 & 0xff] +
273
- _lut[(d0 >> 8) & 0xff] +
274
- _lut[(d0 >> 16) & 0xff] +
275
- _lut[(d0 >> 24) & 0xff] +
276
- '-' +
277
- _lut[d1 & 0xff] +
278
- _lut[(d1 >> 8) & 0xff] +
279
- '-' +
280
- _lut[((d1 >> 16) & 0x0f) | 0x40] +
281
- _lut[(d1 >> 24) & 0xff] +
282
- '-' +
283
- _lut[(d2 & 0x3f) | 0x80] +
284
- _lut[(d2 >> 8) & 0xff] +
285
- '-' +
286
- _lut[(d2 >> 16) & 0xff] +
287
- _lut[(d2 >> 24) & 0xff] +
288
- _lut[d3 & 0xff] +
289
- _lut[(d3 >> 8) & 0xff] +
290
- _lut[(d3 >> 16) & 0xff] +
291
- _lut[(d3 >> 24) & 0xff];
292
- // .toLowerCase() here flattens concatenated strings to save heap memory space.
293
- return uuid.toLowerCase();
294
- }
295
- /**
296
- * Clamp the value to be between min and max.
297
- * @param value Input value to be clamped
298
- * @param min Input minimum value
299
- * @param max Input maximum value
300
- * @returns Return clamped value between min and max
301
- */
302
- function clamp(value, min, max) {
303
- return Math.max(min, Math.min(max, value));
304
- }
305
- /**
306
- * Computes the Euclidean modulo of m % n, that is: ((n % m) + m) % m
307
- * https://en.wikipedia.org/wiki/Modulo_operation
308
- * @param n Input one integer
309
- * @param m Input one integer
310
- * @returns Return the Euclidean modulo of m % n
311
- */
312
- function euclideanModulo(n, m) {
313
- return ((n % m) + m) % m;
314
- }
315
- /**
316
- * Linear mapping of x from range [a1, a2] to range [b1, b2].
317
- * @param x Input value to be mapped.
318
- * @param a1 Input minimum value for range A.
319
- * @param a2 Input maximum value for range A.
320
- * @param b1 Input minimum value for range B.
321
- * @param b2 Input maximum value for range B.
322
- * @returns Return linear mapping of x from range [a1, a2] to range [b1, b2]
323
- */
324
- function mapLinear(x, a1, a2, b1, b2) {
325
- return b1 + ((x - a1) * (b2 - b1)) / (a2 - a1);
326
- }
327
- /**
328
- * Return the percentage in the closed interval [0, 1] of the given value between the start and end point.
329
- * https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/
330
- * @param x Input start point
331
- * @param y Input end point
332
- * @param value Input a value between start and end
333
- * @returns Return the percentage in the closed interval [0, 1] of the given value between the start and end point.
334
- */
335
- function inverseLerp(x, y, value) {
336
- if (x !== y) {
337
- return (value - x) / (y - x);
338
- }
339
- else {
340
- return 0;
341
- }
342
- }
343
- /**
344
- * Returns a value linearly interpolated from two known points based on the given interval - t = 0 will
345
- * return x and t = 1 will return y.
346
- * https://en.wikipedia.org/wiki/Linear_interpolation
347
- * @param x Input start point
348
- * @param y Input end point
349
- * @param t Input interpolation factor in the closed interval [0, 1]
350
- * @returns Return a value linearly interpolated from two known points
351
- */
352
- function lerp(x, y, t) {
353
- return (1 - t) * x + t * y;
354
- }
355
- /**
356
- * Smoothly interpolate a number from x toward y in a spring-like manner using the dt to maintain frame
357
- * rate independent movement. For details, see Frame rate independent damping using lerp.
358
- * http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/
359
- * @param x Input current point.
360
- * @param y Input target point.
361
- * @param lambda A higher lambda value will make the movement more sudden, and a lower value will make
362
- * the movement more gradual.
363
- * @param dt Input delta time in seconds.
364
- * @returns Return a number from x toward y
365
- */
366
- function damp(x, y, lambda, dt) {
367
- return lerp(x, y, 1 - Math.exp(-lambda * dt));
368
- }
369
- /**
370
- * Return a value that alternates between 0 and length.
371
- * https://www.desmos.com/calculator/vcsjnyz7x4
372
- * @param x Input the value to pingpong.
373
- * @param length The positive value the function will pingpong to. Default is 1.
374
- * @returns Return a value that alternates between 0 and length : Float.
375
- */
376
- function pingpong(x, length) {
377
- if (length === void 0) { length = 1; }
378
- return length - Math.abs(euclideanModulo(x, length * 2) - length);
379
- }
380
- /**
381
- * Return a value between 0-1. A variation on smoothstep that has zero 1st and 2nd order derivatives
382
- * at x=0 and x=1.
383
- * http://en.wikipedia.org/wiki/Smoothstep
384
- * @param x Input the value to evaluate based on its position between min and max.
385
- * @param min Any x value below min will be 0.
386
- * @param max Any x value above max will be 1.
387
- * @returns Return a value between 0-1
388
- */
389
- function smoothstep(x, min, max) {
390
- if (x <= min)
391
- return 0;
392
- if (x >= max)
393
- return 1;
394
- x = (x - min) / (max - min);
395
- return x * x * (3 - 2 * x);
396
- }
397
- /**
398
- * Return a value between 0-1. A variation on smoothstep that has zero 1st and 2nd order derivatives
399
- * at x=0 and x=1.
400
- * @param x Input the value to evaluate based on its position between min and max.
401
- * @param min Any x value below min will be 0.
402
- * @param max Any x value above max will be 1.
403
- * @returns Return a value between 0-1
404
- */
405
- function smootherstep(x, min, max) {
406
- if (x <= min)
407
- return 0;
408
- if (x >= max)
409
- return 1;
410
- x = (x - min) / (max - min);
411
- return x * x * x * (x * (x * 6 - 15) + 10);
412
- }
413
- /**
414
- * Random integer in the interval [low, high].
415
- * @param low Input interval lower boundary value
416
- * @param high Input interval upper boundary value
417
- * @returns Return random integer in the interval [low, high].
418
- */
419
- function randInt(low, high) {
420
- return low + Math.floor(Math.random() * (high - low + 1));
421
- }
422
- /**
423
- * Random float in the interval [low, high].
424
- * @param low Input interval lower boundary value
425
- * @param high Input interval upper boundary value
426
- * @returns Return random float in the interval [low, high]
427
- */
428
- // Random float from <low, high> interval
429
- function randFloat(low, high) {
430
- return low + Math.random() * (high - low);
431
- }
432
- /**
433
- * Random float in the interval [- range / 2, range / 2].
434
- * @param range Input interval range value
435
- * @returns Return random float in the interval [- range / 2, range / 2].
436
- */
437
- function randFloatSpread(range) {
438
- return range * (0.5 - Math.random());
439
- }
440
- /**
441
- * Deterministic pseudo-random float in the interval [0, 1]. The integer seed is optional.
442
- * @param s Input one integer seed number
443
- * @returns Return pseudo-random float in the interval [0, 1]
444
- */
445
- function seededRandom(s) {
446
- if (s !== undefined)
447
- _seed = s;
448
- // Mulberry32 generator
449
- var t = (_seed += 0x6d2b79f5);
450
- t = Math.imul(t ^ (t >>> 15), t | 1);
451
- t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
452
- return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
453
- }
454
- /**
455
- * Convert degrees to radians.
456
- * @param degrees Input degrees value to be converted
457
- * @returns Return converted angle value in radians
458
- */
459
- function degToRad(degrees) {
460
- return degrees * DEG2RAD;
461
- }
462
- /**
463
- * Convert radians to degrees.
464
- * @param radians Input radians value to be converted
465
- * @returns Return converted angle value in degrees
466
- */
467
- function radToDeg(radians) {
468
- return radians * RAD2DEG;
469
- }
470
- /**
471
- * Return true if n is a power of 2.
472
- * @param value Input the number to check
473
- * @returns Return true if n is a power of 2.
474
- */
475
- function isPowerOfTwo(value) {
476
- return (value & (value - 1)) === 0 && value !== 0;
477
- }
478
- /**
479
- * Return the smallest power of 2 that is greater than or equal to n.
480
- * @param value Input one number
481
- * @returns Return the smallest power of 2 that is greater than or equal to n.
482
- */
483
- function ceilPowerOfTwo(value) {
484
- return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));
485
- }
486
- /**
487
- * Return the largest power of 2 that is less than or equal to n.
488
- * @param value Input one number
489
- * @returns Return the largest power of 2 that is less than or equal to n.
490
- */
491
- function floorPowerOfTwo(value) {
492
- return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));
493
- }
494
- /**
495
- * Normalize one angle in radian to value in range 0 to 2*PI
496
- * @param angle Input one angle value in radians
497
- * @returns Return normalized angle value in radians
498
- */
499
- function normalizeAngle(angle) {
500
- var TAU = Math.PI * 2;
501
- return ((angle % TAU) + TAU) % TAU;
502
- }
503
- /**
504
- * Return true if the valueToTest is between (value1, value2) or (value2, value1)
505
- * @param valueToTest Input value to test
506
- * @param value1 Input the first value
507
- * @param value2 Input the second value
508
- * @returns Return true if if the valueToTest is between (value1, value2) or (value2, value1).
509
- */
510
- function isBetween(valueToTest, value1, value2) {
511
- return ((valueToTest > value1 && valueToTest < value2) ||
512
- (valueToTest > value2 && valueToTest < value1));
513
- }
514
- /**
515
- * Return true if the algleToTest is between startAngle and endAngle
516
- * @param angleToTest Input angle to test
517
- * @param startAngle Input start angle
518
- * @param endAngle Input end angle
519
- * @param clockwise Input rotation direction from start angle to end angle
520
- * @returns Return true if the algleToTest is between startAngle and endAngle
521
- */
522
- function isBetweenAngle(angleToTest, startAngle, endAngle, clockwise) {
523
- if (clockwise === void 0) { clockwise = false; }
524
- angleToTest = normalizeAngle(angleToTest);
525
- startAngle = normalizeAngle(startAngle);
526
- endAngle = normalizeAngle(endAngle);
527
- if (clockwise) {
528
- if (startAngle > endAngle) {
529
- return angleToTest <= startAngle && angleToTest >= endAngle;
530
- }
531
- else {
532
- return angleToTest <= startAngle || angleToTest >= endAngle;
533
- }
534
- }
535
- else {
536
- if (startAngle < endAngle) {
537
- return angleToTest >= startAngle && angleToTest <= endAngle;
538
- }
539
- else {
540
- return angleToTest >= startAngle || angleToTest <= endAngle;
541
- }
542
- }
543
- }
544
- function intPartLength(num) {
545
- num = Math.abs(num);
546
- if (num < 1.0) {
547
- return 0;
548
- }
549
- return Math.ceil(Math.log10(Math.abs(num) + 1));
550
- }
551
- function relativeEps(num, epsilon) {
552
- if (epsilon === void 0) { epsilon = 1.0e-7; }
553
- var count = intPartLength(num);
554
- return Math.max(Math.pow(10, count) * epsilon, epsilon);
555
- }
556
- var AcGeMathUtil = {
557
- DEG2RAD: DEG2RAD,
558
- RAD2DEG: RAD2DEG,
559
- generateUUID: generateUUID,
560
- clamp: clamp,
561
- euclideanModulo: euclideanModulo,
562
- mapLinear: mapLinear,
563
- inverseLerp: inverseLerp,
564
- lerp: lerp,
565
- damp: damp,
566
- pingpong: pingpong,
567
- smoothstep: smoothstep,
568
- smootherstep: smootherstep,
569
- randInt: randInt,
570
- randFloat: randFloat,
571
- randFloatSpread: randFloatSpread,
572
- seededRandom: seededRandom,
573
- degToRad: degToRad,
574
- radToDeg: radToDeg,
575
- isPowerOfTwo: isPowerOfTwo,
576
- ceilPowerOfTwo: ceilPowerOfTwo,
577
- floorPowerOfTwo: floorPowerOfTwo,
578
- normalizeAngle: normalizeAngle,
579
- isBetween: isBetween,
580
- isBetweenAngle: isBetweenAngle,
581
- intPartLength: intPartLength,
582
- relativeEps: relativeEps
583
- };
584
- export { DEG2RAD, RAD2DEG, generateUUID, clamp, euclideanModulo, mapLinear, inverseLerp, lerp, damp, pingpong, smoothstep, smootherstep, randInt, randFloat, randFloatSpread, seededRandom, degToRad, radToDeg, isPowerOfTwo, ceilPowerOfTwo, floorPowerOfTwo, normalizeAngle, isBetween, isBetweenAngle, intPartLength, relativeEps, AcGeMathUtil };
585
- //# sourceMappingURL=AcGeMathUtil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AcGeMathUtil.js","sourceRoot":"","sources":["../../src/util/AcGeMathUtil.ts"],"names":[],"mappings":"AAAA,IAAM,IAAI,GAAa;IACrB,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * NURBS utility functions for spline calculations
3
- */
4
- /**
5
- * Generate uniform knot vector
6
- */
7
- export declare function generateUniformKnots(degree: number, numControlPoints: number): number[];
8
- /**
9
- * Generate chord-length parameterized knots
10
- */
11
- export declare function generateChordKnots(degree: number, points: number[][]): number[];
12
- /**
13
- * Generate sqrt-chord parameterized knots
14
- */
15
- export declare function generateSqrtChordKnots(degree: number, points: number[][]): number[];
16
- /**
17
- * Calculate basis function value for NURBS
18
- */
19
- export declare function basisFunction(i: number, k: number, u: number, knots: number[]): number;
20
- /**
21
- * Calculate point on NURBS curve
22
- */
23
- export declare function evaluateNurbsPoint(u: number, degree: number, knots: number[], controlPoints: number[][], weights: number[]): number[];
24
- /**
25
- * Calculate curve length using numerical integration
26
- */
27
- export declare function calculateCurveLength(degree: number, knots: number[], controlPoints: number[][], weights: number[]): number;
28
- /**
29
- * Generate control points from fit points using interpolation
30
- * This is a simplified implementation - for production use, you might want
31
- * to implement a more sophisticated interpolation algorithm
32
- */
33
- export declare function interpolateControlPoints(fitPoints: number[][]): number[][];
34
- //# sourceMappingURL=AcGeNurbsUtil.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AcGeNurbsUtil.d.ts","sourceRoot":"","sources":["../../src/util/AcGeNurbsUtil.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,MAAM,EAAE,CAqBV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAqCV;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAAE,GACjB,MAAM,EAAE,CAsCV;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EAAE,GACd,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,EAAE,CAmDV;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EAAE,EAAE,EACzB,OAAO,EAAE,MAAM,EAAE,GAChB,MAAM,CA2CR;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAK1E"}