linearly 0.24.3 → 0.26.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.
- package/lib/cjs/mat2.d.ts +90 -42
- package/lib/cjs/mat2.d.ts.map +1 -1
- package/lib/cjs/mat2.js +94 -46
- package/lib/cjs/mat2d.d.ts +109 -55
- package/lib/cjs/mat2d.d.ts.map +1 -1
- package/lib/cjs/mat2d.js +112 -58
- package/lib/cjs/mat3.d.ts +93 -45
- package/lib/cjs/mat3.d.ts.map +1 -1
- package/lib/cjs/mat3.js +96 -48
- package/lib/cjs/mat4.d.ts +93 -45
- package/lib/cjs/mat4.d.ts.map +1 -1
- package/lib/cjs/mat4.js +96 -48
- package/lib/cjs/quat.d.ts +62 -29
- package/lib/cjs/quat.d.ts.map +1 -1
- package/lib/cjs/quat.js +64 -31
- package/lib/cjs/scalar.d.ts +164 -54
- package/lib/cjs/scalar.d.ts.map +1 -1
- package/lib/cjs/scalar.js +192 -62
- package/lib/cjs/vec2.d.ts +176 -72
- package/lib/cjs/vec2.d.ts.map +1 -1
- package/lib/cjs/vec2.js +208 -105
- package/lib/cjs/vec3.d.ts +183 -82
- package/lib/cjs/vec3.d.ts.map +1 -1
- package/lib/cjs/vec3.js +210 -93
- package/lib/cjs/vec4.d.ts +159 -67
- package/lib/cjs/vec4.d.ts.map +1 -1
- package/lib/cjs/vec4.js +189 -78
- package/lib/esm/mat2.d.ts +90 -42
- package/lib/esm/mat2.d.ts.map +1 -1
- package/lib/esm/mat2.js +94 -46
- package/lib/esm/mat2d.d.ts +109 -55
- package/lib/esm/mat2d.d.ts.map +1 -1
- package/lib/esm/mat2d.js +112 -58
- package/lib/esm/mat3.d.ts +93 -45
- package/lib/esm/mat3.d.ts.map +1 -1
- package/lib/esm/mat3.js +96 -48
- package/lib/esm/mat4.d.ts +93 -45
- package/lib/esm/mat4.d.ts.map +1 -1
- package/lib/esm/mat4.js +96 -48
- package/lib/esm/quat.d.ts +62 -29
- package/lib/esm/quat.d.ts.map +1 -1
- package/lib/esm/quat.js +64 -31
- package/lib/esm/scalar.d.ts +164 -54
- package/lib/esm/scalar.d.ts.map +1 -1
- package/lib/esm/scalar.js +192 -62
- package/lib/esm/vec2.d.ts +176 -72
- package/lib/esm/vec2.d.ts.map +1 -1
- package/lib/esm/vec2.js +208 -105
- package/lib/esm/vec3.d.ts +183 -82
- package/lib/esm/vec3.d.ts.map +1 -1
- package/lib/esm/vec3.js +210 -93
- package/lib/esm/vec4.d.ts +159 -67
- package/lib/esm/vec4.d.ts.map +1 -1
- package/lib/esm/vec4.js +189 -78
- package/package.json +1 -1
package/lib/cjs/vec2.js
CHANGED
|
@@ -85,17 +85,25 @@ var vec2;
|
|
|
85
85
|
return vec2.zero;
|
|
86
86
|
}
|
|
87
87
|
if (vs.length === 1) {
|
|
88
|
-
return [-vs[0], -vs[1]];
|
|
88
|
+
return [-vs[0][0], -vs[0][1]];
|
|
89
89
|
}
|
|
90
90
|
const [first, ...rest] = vs;
|
|
91
|
-
|
|
91
|
+
let [x, y] = typeof first === 'number' ? [first, first] : [...first];
|
|
92
92
|
for (const v of rest) {
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
x -= v[0];
|
|
94
|
+
y -= v[1];
|
|
95
95
|
}
|
|
96
|
-
return
|
|
96
|
+
return [x, y];
|
|
97
97
|
}
|
|
98
98
|
vec2.subtract = subtract;
|
|
99
|
+
/**
|
|
100
|
+
* Alias for {@link vec2.subtract}
|
|
101
|
+
* @category Shorthands
|
|
102
|
+
*
|
|
103
|
+
* @shorthands
|
|
104
|
+
* - {@link vec2.sub}
|
|
105
|
+
*/
|
|
106
|
+
vec2.sub = subtract;
|
|
99
107
|
/**
|
|
100
108
|
* Subtracts b from a
|
|
101
109
|
*/
|
|
@@ -112,21 +120,38 @@ var vec2;
|
|
|
112
120
|
return [x, y];
|
|
113
121
|
}
|
|
114
122
|
vec2.multiply = multiply;
|
|
123
|
+
/**
|
|
124
|
+
* Alias for {@link vec2.multiply}
|
|
125
|
+
* @category Shorthands
|
|
126
|
+
*
|
|
127
|
+
* @shorthands
|
|
128
|
+
* - {@link vec2.mul}
|
|
129
|
+
*/
|
|
130
|
+
vec2.mul = multiply;
|
|
115
131
|
function divide(...vs) {
|
|
116
132
|
if (vs.length === 0) {
|
|
117
133
|
return vec2.one;
|
|
118
134
|
}
|
|
119
|
-
|
|
120
|
-
return
|
|
135
|
+
if (vs.length === 1) {
|
|
136
|
+
return [1 / vs[0][0], 1 / vs[0][1]];
|
|
121
137
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
138
|
+
const [first, ...rest] = vs;
|
|
139
|
+
let [x, y] = first;
|
|
140
|
+
for (const v of rest) {
|
|
141
|
+
x /= v[0];
|
|
142
|
+
y /= v[1];
|
|
125
143
|
}
|
|
126
|
-
|
|
127
|
-
return [a[0] / b[0], a[1] / b[1]];
|
|
144
|
+
return [x, y];
|
|
128
145
|
}
|
|
129
146
|
vec2.divide = divide;
|
|
147
|
+
/**
|
|
148
|
+
* Alias for {@link vec2.divide}
|
|
149
|
+
* @category Shorthands
|
|
150
|
+
*
|
|
151
|
+
* @shorthands
|
|
152
|
+
* - {@link vec2.div}
|
|
153
|
+
*/
|
|
154
|
+
vec2.div = divide;
|
|
130
155
|
function min(...vs) {
|
|
131
156
|
if (vs.length === 0) {
|
|
132
157
|
return [Infinity, Infinity];
|
|
@@ -246,6 +271,9 @@ var vec2;
|
|
|
246
271
|
/**
|
|
247
272
|
* Returns the average value of the input(s)
|
|
248
273
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/avg.html
|
|
274
|
+
*
|
|
275
|
+
* @shorthands
|
|
276
|
+
* - {@link avg}
|
|
249
277
|
*/
|
|
250
278
|
function average(...vs) {
|
|
251
279
|
let x = 0, y = 0;
|
|
@@ -258,6 +286,11 @@ var vec2;
|
|
|
258
286
|
}
|
|
259
287
|
vec2.average = average;
|
|
260
288
|
/**
|
|
289
|
+
* Alias for {@link vec2.average}
|
|
290
|
+
* @category Shorthands
|
|
291
|
+
*/
|
|
292
|
+
vec2.avg = average;
|
|
293
|
+
/**
|
|
261
294
|
Adds given vec2's after scaling the second operand by a scalar value
|
|
262
295
|
*/
|
|
263
296
|
function scaleAndAdd(a, b, scale) {
|
|
@@ -266,48 +299,96 @@ var vec2;
|
|
|
266
299
|
vec2.scaleAndAdd = scaleAndAdd;
|
|
267
300
|
/**
|
|
268
301
|
* Calculates the euclidian distance between two vec2's
|
|
302
|
+
*
|
|
303
|
+
* @shorthands
|
|
304
|
+
* - {@link dist}
|
|
269
305
|
*/
|
|
270
306
|
function distance(a, b) {
|
|
271
307
|
const x = b[0] - a[0], y = b[1] - a[1];
|
|
272
308
|
return Math.hypot(x, y);
|
|
273
309
|
}
|
|
274
310
|
vec2.distance = distance;
|
|
311
|
+
/**
|
|
312
|
+
* Alias for {@link vec2.distance}
|
|
313
|
+
* @category Shorthands
|
|
314
|
+
*/
|
|
315
|
+
vec2.dist = distance;
|
|
275
316
|
/**
|
|
276
317
|
* Calculates the squared euclidian distance between two vec2's
|
|
318
|
+
*
|
|
319
|
+
* @shorthands
|
|
320
|
+
* - {@link sqrDist}
|
|
277
321
|
*/
|
|
278
322
|
function squaredDistance(a, b) {
|
|
279
323
|
const x = b[0] - a[0], y = b[1] - a[1];
|
|
280
324
|
return x * x + y * y;
|
|
281
325
|
}
|
|
282
326
|
vec2.squaredDistance = squaredDistance;
|
|
327
|
+
/**
|
|
328
|
+
* Alias for {@link vec2.squaredEquals}
|
|
329
|
+
* @category Shorthands
|
|
330
|
+
*/
|
|
331
|
+
vec2.sqrDist = squaredDistance;
|
|
283
332
|
/**
|
|
284
333
|
* Calculates the length of a vec2
|
|
334
|
+
*
|
|
335
|
+
* @shorthands
|
|
336
|
+
* - {@link len}
|
|
285
337
|
*/
|
|
286
338
|
function length(v) {
|
|
287
339
|
return Math.hypot(v[0], v[1]);
|
|
288
340
|
}
|
|
289
341
|
vec2.length = length;
|
|
342
|
+
/**
|
|
343
|
+
* Alias for {@link vec2.length}
|
|
344
|
+
* @category Shorthands
|
|
345
|
+
*/
|
|
346
|
+
vec2.len = length;
|
|
290
347
|
/**
|
|
291
348
|
* Calculates the squared length of a vec2
|
|
349
|
+
*
|
|
350
|
+
* @shorthands
|
|
351
|
+
* - {@link sqrLen}
|
|
292
352
|
*/
|
|
293
353
|
function squaredLength(v) {
|
|
294
354
|
return v[0] ** 2 + v[1] ** 2;
|
|
295
355
|
}
|
|
296
356
|
vec2.squaredLength = squaredLength;
|
|
357
|
+
/**
|
|
358
|
+
* Alias for {@link vec2.squaredLength}
|
|
359
|
+
* @category Shorthands
|
|
360
|
+
*/
|
|
361
|
+
vec2.sqrLen = squaredLength;
|
|
297
362
|
/**
|
|
298
363
|
* Negates the components of a vec2
|
|
364
|
+
*
|
|
365
|
+
* @shorthands
|
|
366
|
+
* - {@link neg}
|
|
299
367
|
*/
|
|
300
368
|
function negate(v) {
|
|
301
369
|
return [-v[0], -v[1]];
|
|
302
370
|
}
|
|
303
371
|
vec2.negate = negate;
|
|
372
|
+
/**
|
|
373
|
+
* Alias for {@link vec2.negate}
|
|
374
|
+
* @category Shorthands
|
|
375
|
+
*/
|
|
376
|
+
vec2.neg = negate;
|
|
304
377
|
/**
|
|
305
378
|
* Returns the inverse of the components of a vec2
|
|
379
|
+
*
|
|
380
|
+
* @shorthands
|
|
381
|
+
* - {@link inv}
|
|
306
382
|
*/
|
|
307
383
|
function invert(v) {
|
|
308
384
|
return [1 / v[0], 1 / v[1]];
|
|
309
385
|
}
|
|
310
386
|
vec2.invert = invert;
|
|
387
|
+
/**
|
|
388
|
+
* Alias for {@link vec2.invert}
|
|
389
|
+
* @category Shorthands
|
|
390
|
+
*/
|
|
391
|
+
vec2.inv = invert;
|
|
311
392
|
/**
|
|
312
393
|
* Returns the result of `v` subtracted from {@link vec2.one}.
|
|
313
394
|
*/
|
|
@@ -333,6 +414,9 @@ var vec2;
|
|
|
333
414
|
/**
|
|
334
415
|
* Linearly interpolate between two numbers. Same as GLSL's bulit-in `mix` function.
|
|
335
416
|
* @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
|
|
417
|
+
*
|
|
418
|
+
* @shorthands
|
|
419
|
+
* - {@link mix}
|
|
336
420
|
*/
|
|
337
421
|
function lerp(a, b, t) {
|
|
338
422
|
if (typeof t === 'number')
|
|
@@ -340,10 +424,19 @@ var vec2;
|
|
|
340
424
|
return [a[0] + t[0] * (b[0] - a[0]), a[1] + t[1] * (b[1] - a[1])];
|
|
341
425
|
}
|
|
342
426
|
vec2.lerp = lerp;
|
|
427
|
+
/**
|
|
428
|
+
* Alias for {@link vec2.lerp}
|
|
429
|
+
* @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
|
|
430
|
+
* @category Shorthands
|
|
431
|
+
*/
|
|
432
|
+
vec2.mix = lerp;
|
|
343
433
|
/**
|
|
344
434
|
* Returns the amount to mix `min` and `max` to generate the input value `t`. This is the inverse of the `lerp` function. If `min` and `max` are equal, the mixing value is `0.5`.
|
|
345
435
|
* @see https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Inverse-Lerp-Node.html
|
|
346
436
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/invlerp.html
|
|
437
|
+
*
|
|
438
|
+
* @shorthands
|
|
439
|
+
* - {@link invlerp}
|
|
347
440
|
*/
|
|
348
441
|
function inverseLerp(a, b, t) {
|
|
349
442
|
return [
|
|
@@ -352,6 +445,11 @@ var vec2;
|
|
|
352
445
|
];
|
|
353
446
|
}
|
|
354
447
|
vec2.inverseLerp = inverseLerp;
|
|
448
|
+
/**
|
|
449
|
+
* Alias for {@link vec2.inverseLerp}
|
|
450
|
+
* @category Shorthands
|
|
451
|
+
*/
|
|
452
|
+
vec2.invlerp = inverseLerp;
|
|
355
453
|
/**
|
|
356
454
|
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. The function clamps the given value the range `(omin, omax)` before fitting, so the resulting value will be guaranteed to be in the range `(nmin, nmax)`. To avoid clamping use efit instead.
|
|
357
455
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
|
|
@@ -363,15 +461,14 @@ var vec2;
|
|
|
363
461
|
* @returns
|
|
364
462
|
*/
|
|
365
463
|
function fit(value, omin, omax, nmin, nmax) {
|
|
366
|
-
|
|
367
|
-
(value[0]
|
|
368
|
-
(value[
|
|
369
|
-
]
|
|
370
|
-
return lerp(nmin, nmax, t);
|
|
464
|
+
return [
|
|
465
|
+
scalar_1.scalar.fit(value[0], omin[0], omax[0], nmin[0], nmax[0]),
|
|
466
|
+
scalar_1.scalar.fit(value[1], omin[1], omax[1], nmin[1], nmax[1]),
|
|
467
|
+
];
|
|
371
468
|
}
|
|
372
469
|
vec2.fit = fit;
|
|
373
470
|
/**
|
|
374
|
-
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range.
|
|
471
|
+
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
|
|
375
472
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
|
|
376
473
|
* @param value
|
|
377
474
|
* @param omin
|
|
@@ -381,11 +478,10 @@ var vec2;
|
|
|
381
478
|
* @returns
|
|
382
479
|
*/
|
|
383
480
|
function efit(value, omin, omax, nmin, nmax) {
|
|
384
|
-
|
|
385
|
-
(value[0]
|
|
386
|
-
(value[
|
|
481
|
+
return [
|
|
482
|
+
scalar_1.scalar.efit(value[0], omin[0], omax[0], nmin[0], nmax[0]),
|
|
483
|
+
scalar_1.scalar.efit(value[1], omin[1], omax[1], nmin[1], nmax[1]),
|
|
387
484
|
];
|
|
388
|
-
return lerp(nmin, nmax, t);
|
|
389
485
|
}
|
|
390
486
|
vec2.efit = efit;
|
|
391
487
|
function transformMat2(a, m) {
|
|
@@ -448,6 +544,9 @@ var vec2;
|
|
|
448
544
|
vec2.angle = angle;
|
|
449
545
|
/**
|
|
450
546
|
* Creates a vector by given direction and length
|
|
547
|
+
*
|
|
548
|
+
* @shorthands
|
|
549
|
+
* - {@link dir}
|
|
451
550
|
*/
|
|
452
551
|
function direction(deg, length = 1) {
|
|
453
552
|
return [
|
|
@@ -457,24 +556,10 @@ var vec2;
|
|
|
457
556
|
}
|
|
458
557
|
vec2.direction = direction;
|
|
459
558
|
/**
|
|
460
|
-
*
|
|
461
|
-
|
|
462
|
-
function exactEquals(a, b) {
|
|
463
|
-
return a[0] === b[0] && a[1] === b[1];
|
|
464
|
-
}
|
|
465
|
-
vec2.exactEquals = exactEquals;
|
|
466
|
-
/**
|
|
467
|
-
* Returns whether or not the vectors have approximately the same elements in the same position.
|
|
559
|
+
* Alias for {@link vec2.direction}
|
|
560
|
+
* @category Shorthands
|
|
468
561
|
*/
|
|
469
|
-
|
|
470
|
-
const [a0, a1] = a;
|
|
471
|
-
const [b0, b1] = b;
|
|
472
|
-
return (Math.abs(a0 - b0) <=
|
|
473
|
-
Common.EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) &&
|
|
474
|
-
Math.abs(a1 - b1) <=
|
|
475
|
-
Common.EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)));
|
|
476
|
-
}
|
|
477
|
-
vec2.equals = equals;
|
|
562
|
+
vec2.dir = direction;
|
|
478
563
|
/**
|
|
479
564
|
* Apply a step function by comparing two values
|
|
480
565
|
* @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/step.xhtml
|
|
@@ -505,6 +590,14 @@ var vec2;
|
|
|
505
590
|
];
|
|
506
591
|
}
|
|
507
592
|
vec2.smoothstep = smoothstep;
|
|
593
|
+
/**
|
|
594
|
+
* Converts the components of a vec2 from radians to degrees
|
|
595
|
+
* @param rad The input vec2 in radians
|
|
596
|
+
* @returns The degrees equivalent of the input
|
|
597
|
+
*
|
|
598
|
+
* @shorthands
|
|
599
|
+
* - {@link deg}
|
|
600
|
+
*/
|
|
508
601
|
function degrees(rad) {
|
|
509
602
|
return [
|
|
510
603
|
rad[0] * Common.RAD2DEG, //
|
|
@@ -514,9 +607,17 @@ var vec2;
|
|
|
514
607
|
vec2.degrees = degrees;
|
|
515
608
|
/**
|
|
516
609
|
* Alias for {@link vec2.degrees}
|
|
517
|
-
* @category
|
|
610
|
+
* @category Shorthands
|
|
518
611
|
*/
|
|
519
612
|
vec2.deg = degrees;
|
|
613
|
+
/**
|
|
614
|
+
* Converts the components of a vec2 from degrees to radians
|
|
615
|
+
* @param deg The input vec2 in degrees
|
|
616
|
+
* @returns The radians equivalent of the input
|
|
617
|
+
*
|
|
618
|
+
* @shorthands
|
|
619
|
+
* - {@link rad}
|
|
620
|
+
*/
|
|
520
621
|
function radians(deg) {
|
|
521
622
|
return [
|
|
522
623
|
deg[0] * Common.DEG2RAD, //
|
|
@@ -526,9 +627,13 @@ var vec2;
|
|
|
526
627
|
vec2.radians = radians;
|
|
527
628
|
/**
|
|
528
629
|
* Alias for {@link vec2.radians}
|
|
529
|
-
* @category
|
|
630
|
+
* @category Shorthands
|
|
530
631
|
*/
|
|
531
632
|
vec2.rad = radians;
|
|
633
|
+
/**
|
|
634
|
+
* Returns the sine of a number.
|
|
635
|
+
* @param deg A angle in degrees
|
|
636
|
+
* */
|
|
532
637
|
function sin(deg) {
|
|
533
638
|
return [
|
|
534
639
|
Math.sin(deg[0] * Common.DEG2RAD), //
|
|
@@ -536,6 +641,10 @@ var vec2;
|
|
|
536
641
|
];
|
|
537
642
|
}
|
|
538
643
|
vec2.sin = sin;
|
|
644
|
+
/**
|
|
645
|
+
* Returns the cosine of a number.
|
|
646
|
+
* @param deg A angle in degrees
|
|
647
|
+
* */
|
|
539
648
|
function cos(deg) {
|
|
540
649
|
return [
|
|
541
650
|
Math.cos(deg[0] * Common.DEG2RAD), //
|
|
@@ -543,6 +652,10 @@ var vec2;
|
|
|
543
652
|
];
|
|
544
653
|
}
|
|
545
654
|
vec2.cos = cos;
|
|
655
|
+
/**
|
|
656
|
+
* Returns the tangent of a number.
|
|
657
|
+
* @param deg A angle in degrees
|
|
658
|
+
* */
|
|
546
659
|
function tan(deg) {
|
|
547
660
|
return [
|
|
548
661
|
Math.tan(deg[0] * Common.DEG2RAD), //
|
|
@@ -550,6 +663,11 @@ var vec2;
|
|
|
550
663
|
];
|
|
551
664
|
}
|
|
552
665
|
vec2.tan = tan;
|
|
666
|
+
/**
|
|
667
|
+
* Returns the arcsine of a number.
|
|
668
|
+
* @param v A numeric expression.
|
|
669
|
+
* @returns The arcsine in degrees
|
|
670
|
+
* */
|
|
553
671
|
function asin(v) {
|
|
554
672
|
return [
|
|
555
673
|
Math.asin(v[0]) * Common.RAD2DEG, //
|
|
@@ -557,6 +675,11 @@ var vec2;
|
|
|
557
675
|
];
|
|
558
676
|
}
|
|
559
677
|
vec2.asin = asin;
|
|
678
|
+
/**
|
|
679
|
+
* Returns the arc cosine (or inverse cosine) of a number.
|
|
680
|
+
* @param v A numeric expression.
|
|
681
|
+
* @returns The arc cosine in degrees
|
|
682
|
+
* */
|
|
560
683
|
function acos(v) {
|
|
561
684
|
return [
|
|
562
685
|
Math.acos(v[0] * Common.RAD2DEG), //
|
|
@@ -567,7 +690,7 @@ var vec2;
|
|
|
567
690
|
/**
|
|
568
691
|
* Returns the arc-tangent of the parameters. If `x` is not provided, `y` is regarded as a value of `y/x`.
|
|
569
692
|
* @see https://thebookofshaders.com/glossary/?search=atan
|
|
570
|
-
*/
|
|
693
|
+
* */
|
|
571
694
|
function atan(y, x) {
|
|
572
695
|
if (x === undefined) {
|
|
573
696
|
return [
|
|
@@ -615,86 +738,66 @@ var vec2;
|
|
|
615
738
|
* Returns the inverse of the square root of the parameter
|
|
616
739
|
* @param v the value of which to take the inverse of the square root
|
|
617
740
|
* @see https://thebookofshaders.com/glossary/?search=inversesqrt
|
|
741
|
+
*
|
|
742
|
+
* @shorthands
|
|
743
|
+
* - {@link invsqrt}
|
|
618
744
|
*/
|
|
619
745
|
function inverseSqrt(v) {
|
|
620
746
|
return [1 / Math.sqrt(v[0]), 1 / Math.sqrt(v[1])];
|
|
621
747
|
}
|
|
622
748
|
vec2.inverseSqrt = inverseSqrt;
|
|
623
749
|
/**
|
|
624
|
-
*
|
|
625
|
-
* @
|
|
626
|
-
* @param fractionDigits number of digits to appear after the decimal point
|
|
627
|
-
*/
|
|
628
|
-
vec2.toString = Common.vecToString;
|
|
629
|
-
/**
|
|
630
|
-
* Alias for {@link vec2.subtract}
|
|
631
|
-
* @category Aliases
|
|
632
|
-
*/
|
|
633
|
-
vec2.sub = subtract;
|
|
634
|
-
/**
|
|
635
|
-
* Alias for {@link vec2.multiply}
|
|
636
|
-
* @category Aliases
|
|
637
|
-
*/
|
|
638
|
-
vec2.mul = multiply;
|
|
639
|
-
/**
|
|
640
|
-
* Alias for {@link vec2.divide}
|
|
641
|
-
* @category Aliases
|
|
642
|
-
*/
|
|
643
|
-
vec2.div = divide;
|
|
644
|
-
/**
|
|
645
|
-
* Alias for {@link vec2.average}
|
|
646
|
-
* @category Aliases
|
|
647
|
-
*/
|
|
648
|
-
vec2.avg = average;
|
|
649
|
-
/**
|
|
650
|
-
* Alias for {@link vec2.distance}
|
|
651
|
-
* @category Aliases
|
|
652
|
-
*/
|
|
653
|
-
vec2.dist = distance;
|
|
654
|
-
/**
|
|
655
|
-
* Alias for {@link vec2.length}
|
|
656
|
-
* @category Aliases
|
|
657
|
-
*/
|
|
658
|
-
vec2.len = length;
|
|
659
|
-
/**
|
|
660
|
-
* Alias for {@link vec2.squaredEquals}
|
|
661
|
-
* @category Aliases
|
|
662
|
-
*/
|
|
663
|
-
vec2.sqrDist = squaredDistance;
|
|
664
|
-
/**
|
|
665
|
-
* Alias for {@link vec2.squaredLength}
|
|
666
|
-
* @category Aliases
|
|
750
|
+
* Alias for {@link vec2.inverseSqrt}
|
|
751
|
+
* @category Shorthands
|
|
667
752
|
*/
|
|
668
|
-
vec2.
|
|
753
|
+
vec2.invsqrt = inverseSqrt;
|
|
669
754
|
/**
|
|
670
|
-
*
|
|
755
|
+
* Returns whether or not the vectors exactly have the same elements in the same position (when compared with `===`)
|
|
756
|
+
*
|
|
757
|
+
* @shorthands
|
|
758
|
+
* - {@link eq}
|
|
671
759
|
*/
|
|
672
|
-
|
|
760
|
+
function exactEquals(a, b) {
|
|
761
|
+
return a[0] === b[0] && a[1] === b[1];
|
|
762
|
+
}
|
|
763
|
+
vec2.exactEquals = exactEquals;
|
|
673
764
|
/**
|
|
674
|
-
* Alias for {@link
|
|
675
|
-
* @
|
|
676
|
-
* @category Aliases
|
|
765
|
+
* Alias for {@link exactEquals}
|
|
766
|
+
* @category Shorthands
|
|
677
767
|
*/
|
|
678
|
-
vec2.
|
|
768
|
+
vec2.eq = exactEquals;
|
|
679
769
|
/**
|
|
680
|
-
*
|
|
681
|
-
*
|
|
770
|
+
* Returns whether or not the vectors have approximately the same elements in the same position.
|
|
771
|
+
*
|
|
772
|
+
* @shorthands
|
|
773
|
+
* - {@link approx}
|
|
774
|
+
* - {@link equals}
|
|
682
775
|
*/
|
|
683
|
-
|
|
776
|
+
function approxEquals(a, b) {
|
|
777
|
+
const [a0, a1] = a;
|
|
778
|
+
const [b0, b1] = b;
|
|
779
|
+
return (Math.abs(a0 - b0) <=
|
|
780
|
+
Common.EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) &&
|
|
781
|
+
Math.abs(a1 - b1) <=
|
|
782
|
+
Common.EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)));
|
|
783
|
+
}
|
|
784
|
+
vec2.approxEquals = approxEquals;
|
|
684
785
|
/**
|
|
685
|
-
* Alias for {@link
|
|
686
|
-
* @category
|
|
786
|
+
* Alias for {@link approxEquals}
|
|
787
|
+
* @category Shorthands
|
|
687
788
|
*/
|
|
688
|
-
vec2.
|
|
789
|
+
vec2.approx = approxEquals;
|
|
689
790
|
/**
|
|
690
|
-
* Alias for {@link
|
|
691
|
-
* @category
|
|
791
|
+
* Alias for {@link approxEquals}. This is provided for compatibility with gl-matrix.
|
|
792
|
+
* @category Shorthands
|
|
793
|
+
* @deprecated Use {@link approxEquals} instead
|
|
692
794
|
*/
|
|
693
|
-
vec2.
|
|
795
|
+
vec2.equals = approxEquals;
|
|
694
796
|
/**
|
|
695
|
-
*
|
|
696
|
-
* @
|
|
797
|
+
* Returns the string representation of a vec2
|
|
798
|
+
* @param v vector to represent as a string
|
|
799
|
+
* @param fractionDigits number of digits to appear after the decimal point
|
|
697
800
|
*/
|
|
698
|
-
vec2.
|
|
801
|
+
vec2.toString = Common.vecToString;
|
|
699
802
|
})(vec2 || (exports.vec2 = vec2 = {}));
|
|
700
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBSWxDLHFDQUErQjtBQVMvQjs7R0FFRztBQUNILElBQWlCLElBQUksQ0E4dEJwQjtBQTl0QkQsV0FBaUIsSUFBSTtJQU9wQjs7O09BR0c7SUFDSCxTQUFnQixFQUFFLENBQUMsQ0FBUyxFQUFFLElBQVksQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUZlLE9BQUUsS0FFakIsQ0FBQTtJQUVEOzs7T0FHRztJQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUZlLFVBQUssUUFFcEIsQ0FBQTtJQUVEOztPQUVHO0lBQ1UsU0FBSSxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUvQzs7T0FFRztJQUNVLFFBQUcsR0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUM7OztPQUdHO0lBQ1UsVUFBSyxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVoRDs7O09BR0c7SUFDVSxVQUFLLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRWhEOztPQUVHO0lBQ0gsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBVTtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ1IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVOLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7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
|
|
803
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBSWxDLHFDQUErQjtBQVMvQjs7R0FFRztBQUNILElBQWlCLElBQUksQ0F5MEJwQjtBQXowQkQsV0FBaUIsSUFBSTtJQU9wQjs7O09BR0c7SUFDSCxTQUFnQixFQUFFLENBQUMsQ0FBUyxFQUFFLElBQVksQ0FBQztRQUMxQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUZlLE9BQUUsS0FFakIsQ0FBQTtJQUVEOzs7T0FHRztJQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2QsQ0FBQztJQUZlLFVBQUssUUFFcEIsQ0FBQTtJQUVEOztPQUVHO0lBQ1UsU0FBSSxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUvQzs7T0FFRztJQUNVLFFBQUcsR0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUM7OztPQUdHO0lBQ1UsVUFBSyxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVoRDs7O09BR0c7SUFDVSxVQUFLLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRWhEOztPQUVHO0lBQ0gsU0FBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBVTtRQUNoQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ1IsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVOLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7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
|