linearly 0.3.0 → 0.4.2
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/{common.d.ts → cjs/common.d.ts} +1 -0
- package/lib/cjs/common.d.ts.map +1 -0
- package/lib/cjs/common.js +20 -0
- package/lib/{index.d.ts → cjs/index.d.ts} +1 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/index.js +35 -0
- package/lib/{mat2.d.ts → cjs/mat2.d.ts} +1 -0
- package/lib/cjs/mat2.d.ts.map +1 -0
- package/lib/cjs/mat2.js +224 -0
- package/lib/{mat2d.d.ts → cjs/mat2d.d.ts} +1 -0
- package/lib/cjs/mat2d.d.ts.map +1 -0
- package/lib/cjs/mat2d.js +291 -0
- package/lib/{mat3.d.ts → cjs/mat3.d.ts} +1 -0
- package/lib/cjs/mat3.d.ts.map +1 -0
- package/lib/cjs/mat3.js +450 -0
- package/lib/{mat4.d.ts → cjs/mat4.d.ts} +1 -0
- package/lib/cjs/mat4.d.ts.map +1 -0
- package/lib/cjs/mat4.js +1250 -0
- package/lib/{quat.d.ts → cjs/quat.d.ts} +1 -0
- package/lib/cjs/quat.d.ts.map +1 -0
- package/lib/cjs/quat.js +504 -0
- package/lib/{vec2.d.ts → cjs/vec2.d.ts} +1 -0
- package/lib/cjs/vec2.d.ts.map +1 -0
- package/lib/cjs/vec2.js +205 -0
- package/lib/{vec3.d.ts → cjs/vec3.d.ts} +1 -0
- package/lib/cjs/vec3.d.ts.map +1 -0
- package/lib/cjs/vec3.js +409 -0
- package/lib/{vec4.d.ts → cjs/vec4.d.ts} +1 -0
- package/lib/cjs/vec4.d.ts.map +1 -0
- package/lib/cjs/vec4.js +319 -0
- package/lib/esm/common.d.ts +12 -0
- package/lib/esm/common.d.ts.map +1 -0
- package/lib/esm/common.js +16 -0
- package/lib/esm/index.d.ts +17 -0
- package/lib/esm/index.d.ts.map +1 -0
- package/lib/esm/index.js +9 -0
- package/lib/esm/mat2.d.ts +91 -0
- package/lib/esm/mat2.d.ts.map +1 -0
- package/lib/esm/mat2.js +179 -0
- package/lib/esm/mat2d.d.ts +102 -0
- package/lib/esm/mat2d.d.ts.map +1 -0
- package/lib/esm/mat2d.js +246 -0
- package/lib/esm/mat3.d.ts +120 -0
- package/lib/esm/mat3.d.ts.map +1 -0
- package/lib/esm/mat3.js +400 -0
- package/lib/esm/mat4.d.ts +313 -0
- package/lib/esm/mat4.d.ts.map +1 -0
- package/lib/esm/mat4.js +1183 -0
- package/lib/esm/quat.d.ts +220 -0
- package/lib/esm/quat.d.ts.map +1 -0
- package/lib/esm/quat.js +458 -0
- package/lib/esm/vec2.d.ts +66 -0
- package/lib/esm/vec2.d.ts.map +1 -0
- package/lib/esm/vec2.js +149 -0
- package/lib/esm/vec3.d.ts +167 -0
- package/lib/esm/vec3.d.ts.map +1 -0
- package/lib/esm/vec3.js +348 -0
- package/lib/esm/vec4.d.ts +116 -0
- package/lib/esm/vec4.d.ts.map +1 -0
- package/lib/esm/vec4.js +266 -0
- package/package.json +6 -4
- package/lib/common.js +0 -30
- package/lib/index.js +0 -45
- package/lib/mat2.js +0 -234
- package/lib/mat2d.js +0 -301
- package/lib/mat2d.test.d.ts +0 -1
- package/lib/mat2d.test.js +0 -123
- package/lib/mat3.js +0 -460
- package/lib/mat4.js +0 -1260
- package/lib/quat.js +0 -514
- package/lib/vec2.js +0 -215
- package/lib/vec2.test.d.ts +0 -1
- package/lib/vec2.test.js +0 -147
- package/lib/vec3.js +0 -419
- package/lib/vec3.test.d.ts +0 -1
- package/lib/vec3.test.js +0 -149
- package/lib/vec4.js +0 -329
- package/lib/vec4.test.d.ts +0 -1
- package/lib/vec4.test.js +0 -45
|
@@ -113,3 +113,4 @@ export declare function exactEquals(a: Vec4, b: Vec4): boolean;
|
|
|
113
113
|
* Returns whether or not the vectors have approximately the same elements in the same position.
|
|
114
114
|
*/
|
|
115
115
|
export declare function equals(a: Vec4, b: Vec4): boolean;
|
|
116
|
+
//# sourceMappingURL=vec4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vec4.d.ts","sourceRoot":"","sources":["../../src/vec4.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/vec4.js
ADDED
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.equals = exports.exactEquals = exports.transformQuat = exports.transformMat4 = exports.lerp = exports.cross = exports.dot = exports.normalize = exports.inverse = exports.negate = exports.squaredLength = exports.length = exports.squaredDistance = exports.distance = exports.scaleAndAdd = exports.scale = exports.round = exports.clamp = exports.max = exports.min = exports.floor = exports.ceil = exports.divide = exports.multiply = exports.subtract = exports.add = exports.one = exports.zero = exports.of = void 0;
|
|
27
|
+
const Common = __importStar(require("./common"));
|
|
28
|
+
function of(x, y, z, w) {
|
|
29
|
+
if (y === undefined && z === undefined && w === undefined) {
|
|
30
|
+
y = z = w = x;
|
|
31
|
+
}
|
|
32
|
+
if (y === undefined)
|
|
33
|
+
y = 0;
|
|
34
|
+
if (z === undefined)
|
|
35
|
+
z = 0;
|
|
36
|
+
if (w === undefined)
|
|
37
|
+
w = 0;
|
|
38
|
+
return [x, y, z, w];
|
|
39
|
+
}
|
|
40
|
+
exports.of = of;
|
|
41
|
+
exports.zero = Object.freeze([0, 0, 0, 0]);
|
|
42
|
+
exports.one = Object.freeze([1, 1, 1, 1]);
|
|
43
|
+
/**
|
|
44
|
+
* Adds two vec4's
|
|
45
|
+
*/
|
|
46
|
+
function add(a, b) {
|
|
47
|
+
return [a[0] + b[0], a[1] + b[1], a[2] + b[2], a[3] + b[3]];
|
|
48
|
+
}
|
|
49
|
+
exports.add = add;
|
|
50
|
+
/**
|
|
51
|
+
* Subtracts vector b from vector a
|
|
52
|
+
*/
|
|
53
|
+
function subtract(a, b) {
|
|
54
|
+
return [a[0] - b[0], a[1] - b[1], a[2] - b[2], a[3] - b[3]];
|
|
55
|
+
}
|
|
56
|
+
exports.subtract = subtract;
|
|
57
|
+
/**
|
|
58
|
+
* Multiplies two vec4's
|
|
59
|
+
*/
|
|
60
|
+
function multiply(a, b) {
|
|
61
|
+
return [a[0] * b[0], a[1] * b[1], a[2] * b[2], a[3] * b[3]];
|
|
62
|
+
}
|
|
63
|
+
exports.multiply = multiply;
|
|
64
|
+
/**
|
|
65
|
+
* Divides two vec4's
|
|
66
|
+
*/
|
|
67
|
+
function divide(a, b) {
|
|
68
|
+
return [a[0] / b[0], a[1] / b[1], a[2] / b[2], a[3] / b[3]];
|
|
69
|
+
}
|
|
70
|
+
exports.divide = divide;
|
|
71
|
+
/**
|
|
72
|
+
* Math.ceil the components of a vec4
|
|
73
|
+
*/
|
|
74
|
+
function ceil(a) {
|
|
75
|
+
return [Math.ceil(a[0]), Math.ceil(a[1]), Math.ceil(a[2]), Math.ceil(a[3])];
|
|
76
|
+
}
|
|
77
|
+
exports.ceil = ceil;
|
|
78
|
+
/**
|
|
79
|
+
* Math.floor the components of a vec4
|
|
80
|
+
*/
|
|
81
|
+
function floor(a) {
|
|
82
|
+
return [
|
|
83
|
+
Math.floor(a[0]),
|
|
84
|
+
Math.floor(a[1]),
|
|
85
|
+
Math.floor(a[2]),
|
|
86
|
+
Math.floor(a[3]),
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
exports.floor = floor;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the minimum of two vec4's
|
|
92
|
+
*/
|
|
93
|
+
function min(a, b) {
|
|
94
|
+
return [
|
|
95
|
+
Math.min(a[0], b[0]),
|
|
96
|
+
Math.min(a[1], b[1]),
|
|
97
|
+
Math.min(a[2], b[2]),
|
|
98
|
+
Math.min(a[3], b[3]),
|
|
99
|
+
];
|
|
100
|
+
}
|
|
101
|
+
exports.min = min;
|
|
102
|
+
/**
|
|
103
|
+
* Returns the maximum of two vec4's
|
|
104
|
+
*/
|
|
105
|
+
function max(a, b) {
|
|
106
|
+
return [
|
|
107
|
+
Math.max(a[0], b[0]),
|
|
108
|
+
Math.max(a[1], b[1]),
|
|
109
|
+
Math.max(a[2], b[2]),
|
|
110
|
+
Math.max(a[3], b[3]),
|
|
111
|
+
];
|
|
112
|
+
}
|
|
113
|
+
exports.max = max;
|
|
114
|
+
/**
|
|
115
|
+
* Constrain a value to lie between two further values
|
|
116
|
+
*/
|
|
117
|
+
function clamp(a, min, max) {
|
|
118
|
+
return [
|
|
119
|
+
Math.min(Math.max(a[0], min[0]), max[0]),
|
|
120
|
+
Math.min(Math.max(a[1], min[1]), max[1]),
|
|
121
|
+
Math.min(Math.max(a[2], min[2]), max[2]),
|
|
122
|
+
Math.min(Math.max(a[3], min[3]), max[3]),
|
|
123
|
+
];
|
|
124
|
+
}
|
|
125
|
+
exports.clamp = clamp;
|
|
126
|
+
/**
|
|
127
|
+
* symmetric round the components of a vec4
|
|
128
|
+
*/
|
|
129
|
+
function round(a) {
|
|
130
|
+
return [
|
|
131
|
+
Common.round(a[0]),
|
|
132
|
+
Common.round(a[1]),
|
|
133
|
+
Common.round(a[2]),
|
|
134
|
+
Common.round(a[3]),
|
|
135
|
+
];
|
|
136
|
+
}
|
|
137
|
+
exports.round = round;
|
|
138
|
+
/**
|
|
139
|
+
* Scales a vec4 by a scalar number
|
|
140
|
+
*
|
|
141
|
+
* @param a the vector to scale
|
|
142
|
+
* @param s amount to scale the vector by
|
|
143
|
+
*/
|
|
144
|
+
function scale(a, s) {
|
|
145
|
+
return [a[0] * s, a[1] * s, a[2] * s, a[3] * s];
|
|
146
|
+
}
|
|
147
|
+
exports.scale = scale;
|
|
148
|
+
/**
|
|
149
|
+
* Adds two vec4's after scaling the second operand by a scalar value
|
|
150
|
+
* @param scale the amount to scale b by before adding
|
|
151
|
+
*/
|
|
152
|
+
function scaleAndAdd(a, b, scale) {
|
|
153
|
+
return [
|
|
154
|
+
a[0] + b[0] * scale,
|
|
155
|
+
a[1] + b[1] * scale,
|
|
156
|
+
a[2] + b[2] * scale,
|
|
157
|
+
a[3] + b[3] * scale,
|
|
158
|
+
];
|
|
159
|
+
}
|
|
160
|
+
exports.scaleAndAdd = scaleAndAdd;
|
|
161
|
+
/**
|
|
162
|
+
* Calculates the euclidian distance between two vec4's
|
|
163
|
+
*/
|
|
164
|
+
function distance(a, b) {
|
|
165
|
+
const x = b[0] - a[0];
|
|
166
|
+
const y = b[1] - a[1];
|
|
167
|
+
const z = b[2] - a[2];
|
|
168
|
+
const w = b[3] - a[3];
|
|
169
|
+
return Math.sqrt(x * x + y * y + z * z + w * w);
|
|
170
|
+
}
|
|
171
|
+
exports.distance = distance;
|
|
172
|
+
/**
|
|
173
|
+
* Calculates the squared euclidian distance between two vec4's
|
|
174
|
+
*/
|
|
175
|
+
function squaredDistance(a, b) {
|
|
176
|
+
const x = b[0] - a[0];
|
|
177
|
+
const y = b[1] - a[1];
|
|
178
|
+
const z = b[2] - a[2];
|
|
179
|
+
const w = b[3] - a[3];
|
|
180
|
+
return x * x + y * y + z * z + w * w;
|
|
181
|
+
}
|
|
182
|
+
exports.squaredDistance = squaredDistance;
|
|
183
|
+
/**
|
|
184
|
+
* Calculates the length of a vec4
|
|
185
|
+
*/
|
|
186
|
+
function length(a) {
|
|
187
|
+
const [x, y, z, w] = a;
|
|
188
|
+
return Math.sqrt(x * x + y * y + z * z + w * w);
|
|
189
|
+
}
|
|
190
|
+
exports.length = length;
|
|
191
|
+
/**
|
|
192
|
+
* Calculates the squared length of a vec4
|
|
193
|
+
*/
|
|
194
|
+
function squaredLength(a) {
|
|
195
|
+
const [x, y, z, w] = a;
|
|
196
|
+
return x * x + y * y + z * z + w * w;
|
|
197
|
+
}
|
|
198
|
+
exports.squaredLength = squaredLength;
|
|
199
|
+
/**
|
|
200
|
+
* Negates the components of a vec4
|
|
201
|
+
*/
|
|
202
|
+
function negate(a) {
|
|
203
|
+
return [-a[0], -a[1], -a[2], -a[3]];
|
|
204
|
+
}
|
|
205
|
+
exports.negate = negate;
|
|
206
|
+
/**
|
|
207
|
+
* Returns the inverse of the components of a vec4
|
|
208
|
+
*/
|
|
209
|
+
function inverse(a) {
|
|
210
|
+
return [1 / a[0], 1 / a[1], 1 / a[2], 1 / a[3]];
|
|
211
|
+
}
|
|
212
|
+
exports.inverse = inverse;
|
|
213
|
+
/**
|
|
214
|
+
* Normalize a vec4
|
|
215
|
+
*/
|
|
216
|
+
function normalize(a) {
|
|
217
|
+
const [x, y, z, w] = a;
|
|
218
|
+
const hyp = x * x + y * y + z * z + w * w;
|
|
219
|
+
const len = hyp === 0 ? 0 : 1 / Math.sqrt(hyp);
|
|
220
|
+
return [x * len, y * len, z * len, w * len];
|
|
221
|
+
}
|
|
222
|
+
exports.normalize = normalize;
|
|
223
|
+
/**
|
|
224
|
+
* Calculates the dot product of two vec4's
|
|
225
|
+
*/
|
|
226
|
+
function dot(a, b) {
|
|
227
|
+
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
|
|
228
|
+
}
|
|
229
|
+
exports.dot = dot;
|
|
230
|
+
/**
|
|
231
|
+
* Returns the cross-product of three vectors in a 4-dimensional space
|
|
232
|
+
*/
|
|
233
|
+
function cross(u, v, w) {
|
|
234
|
+
const A = v[0] * w[1] - v[1] * w[0];
|
|
235
|
+
const B = v[0] * w[2] - v[2] * w[0];
|
|
236
|
+
const C = v[0] * w[3] - v[3] * w[0];
|
|
237
|
+
const D = v[1] * w[2] - v[2] * w[1];
|
|
238
|
+
const E = v[1] * w[3] - v[3] * w[1];
|
|
239
|
+
const F = v[2] * w[3] - v[3] * w[2];
|
|
240
|
+
const [G, H, I, J] = u;
|
|
241
|
+
return [
|
|
242
|
+
H * F - I * E + J * D,
|
|
243
|
+
-(G * F) + I * C - J * B,
|
|
244
|
+
G * E - H * C + J * A,
|
|
245
|
+
-(G * D) + H * B - I * A,
|
|
246
|
+
];
|
|
247
|
+
}
|
|
248
|
+
exports.cross = cross;
|
|
249
|
+
/**
|
|
250
|
+
* Performs a linear interpolation between two vec4's
|
|
251
|
+
* @param t interpolation amount, in the range [0-1], between the two inputs
|
|
252
|
+
*/
|
|
253
|
+
function lerp(a, b, t) {
|
|
254
|
+
const [ax, ay, az, aw] = a;
|
|
255
|
+
return [
|
|
256
|
+
ax + t * (b[0] - ax),
|
|
257
|
+
ay + t * (b[1] - ay),
|
|
258
|
+
az + t * (b[2] - az),
|
|
259
|
+
aw + t * (b[3] - aw),
|
|
260
|
+
];
|
|
261
|
+
}
|
|
262
|
+
exports.lerp = lerp;
|
|
263
|
+
/**
|
|
264
|
+
* Transforms the vec4 with a mat4.
|
|
265
|
+
*/
|
|
266
|
+
function transformMat4(a, m) {
|
|
267
|
+
const [x, y, z, w] = a;
|
|
268
|
+
return [
|
|
269
|
+
m[0] * x + m[4] * y + m[8] * z + m[12] * w,
|
|
270
|
+
m[1] * x + m[5] * y + m[9] * z + m[13] * w,
|
|
271
|
+
m[2] * x + m[6] * y + m[10] * z + m[14] * w,
|
|
272
|
+
m[3] * x + m[7] * y + m[11] * z + m[15] * w,
|
|
273
|
+
];
|
|
274
|
+
}
|
|
275
|
+
exports.transformMat4 = transformMat4;
|
|
276
|
+
/**
|
|
277
|
+
* Transforms the vec4 with a quat
|
|
278
|
+
*/
|
|
279
|
+
function transformQuat(a, q) {
|
|
280
|
+
const [x, y, z] = a;
|
|
281
|
+
const [qx, qy, qz, qw] = q;
|
|
282
|
+
// calculate quat * vec
|
|
283
|
+
const ix = qw * x + qy * z - qz * y;
|
|
284
|
+
const iy = qw * y + qz * x - qx * z;
|
|
285
|
+
const iz = qw * z + qx * y - qy * x;
|
|
286
|
+
const iw = -qx * x - qy * y - qz * z;
|
|
287
|
+
// calculate result * inverse quat
|
|
288
|
+
return [
|
|
289
|
+
ix * qw + iw * -qx + iy * -qz - iz * -qy,
|
|
290
|
+
iy * qw + iw * -qy + iz * -qx - ix * -qz,
|
|
291
|
+
iz * qw + iw * -qz + ix * -qy - iy * -qx,
|
|
292
|
+
a[3],
|
|
293
|
+
];
|
|
294
|
+
}
|
|
295
|
+
exports.transformQuat = transformQuat;
|
|
296
|
+
/**
|
|
297
|
+
* Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
|
|
298
|
+
*/
|
|
299
|
+
function exactEquals(a, b) {
|
|
300
|
+
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
|
|
301
|
+
}
|
|
302
|
+
exports.exactEquals = exactEquals;
|
|
303
|
+
/**
|
|
304
|
+
* Returns whether or not the vectors have approximately the same elements in the same position.
|
|
305
|
+
*/
|
|
306
|
+
function equals(a, b) {
|
|
307
|
+
const [a0, a1, a2, a3] = a;
|
|
308
|
+
const [b0, b1, b2, b3] = b;
|
|
309
|
+
return (Math.abs(a0 - b0) <=
|
|
310
|
+
Common.EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) &&
|
|
311
|
+
Math.abs(a1 - b1) <=
|
|
312
|
+
Common.EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)) &&
|
|
313
|
+
Math.abs(a2 - b2) <=
|
|
314
|
+
Common.EPSILON * Math.max(1, Math.abs(a2), Math.abs(b2)) &&
|
|
315
|
+
Math.abs(a3 - b3) <=
|
|
316
|
+
Common.EPSILON * Math.max(1, Math.abs(a3), Math.abs(b3)));
|
|
317
|
+
}
|
|
318
|
+
exports.equals = equals;
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjNC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZWM0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBTWxDLFNBQWdCLEVBQUUsQ0FBQyxDQUFTLEVBQUUsQ0FBVSxFQUFFLENBQVUsRUFBRSxDQUFVO0lBQy9ELElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7UUFDMUQsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0tBQ2I7SUFDRCxJQUFJLENBQUMsS0FBSyxTQUFTO1FBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxQixJQUFJLENBQUMsS0FBSyxTQUFTO1FBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMxQixJQUFJLENBQUMsS0FBSyxTQUFTO1FBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUUxQixPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDcEIsQ0FBQztBQVRELGdCQVNDO0FBRVksUUFBQSxJQUFJLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFeEMsUUFBQSxHQUFHLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFcEQ7O0dBRUc7QUFDSCxTQUFnQixHQUFHLENBQUMsQ0FBTyxFQUFFLENBQU87SUFDbkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENB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QUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDeEMsQ0FBQTtBQUNGLENBQUM7QUFQRCxzQkFPQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsS0FBSyxDQUFDLENBQU87SUFDNUIsT0FBTztRQUNOLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2xCLENBQUE7QUFDRixDQUFDO0FBUEQsc0JBT0M7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPLEVBQUUsQ0FBUztJQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQ2hELENBQUM7QUFGRCxzQkFFQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxDQUFPLEVBQUUsQ0FBTyxFQUFFLEtBQWE7SUFDMUQsT0FBTztRQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBRkQsa0JBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPLEVBQUUsQ0FBTyxFQUFFLENBQU87SUFDOUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUV0QixPQUFPO1FBQ04sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUN4QixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO0tBQ3hCLENBQUE7QUFDRixDQUFDO0FBZkQsc0JBZUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixJQUFJLENBQUMsQ0FBTyxFQUFFLENBQU8sRUFBRSxDQUFTO0lBQy9DLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFMUIsT0FBTztRQUNOLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0tBQ3BCLENBQUE7QUFDRixDQUFDO0FBVEQsb0JBU0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxDQUFPLEVBQUUsQ0FBTztJQUM3QyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLE9BQU87UUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztLQUMzQyxDQUFBO0FBQ0YsQ0FBQztBQVJELHNDQVFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixhQUFhLENBQUMsQ0FBTyxFQUFFLENBQU87SUFDN0MsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ25CLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFMUIsdUJBQXVCO0lBQ3ZCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ25DLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENB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
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common utilities
|
|
3
|
+
*/
|
|
4
|
+
export declare const EPSILON = 0.000001;
|
|
5
|
+
/**
|
|
6
|
+
* Symmetric round
|
|
7
|
+
* see https://www.npmjs.com/package/round-half-up-symmetric#user-content-detailed-background
|
|
8
|
+
*/
|
|
9
|
+
export declare function round(a: number): number;
|
|
10
|
+
export type AngleOrder = 'xyz' | 'xzy' | 'yxz' | 'yzx' | 'zxy' | 'zyx';
|
|
11
|
+
export declare const DEFAULT_ANGLE_ORDER: AngleOrder;
|
|
12
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,OAAO,WAAW,CAAA;AAE/B;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,UAG9B;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEtE,eAAO,MAAM,mBAAmB,EAAE,UAAkB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common utilities
|
|
3
|
+
*/
|
|
4
|
+
// Configuration Constants
|
|
5
|
+
export const EPSILON = 0.000001;
|
|
6
|
+
/**
|
|
7
|
+
* Symmetric round
|
|
8
|
+
* see https://www.npmjs.com/package/round-half-up-symmetric#user-content-detailed-background
|
|
9
|
+
*/
|
|
10
|
+
export function round(a) {
|
|
11
|
+
if (a >= 0)
|
|
12
|
+
return Math.round(a);
|
|
13
|
+
return a % 0.5 === 0 ? Math.floor(a) : Math.round(a);
|
|
14
|
+
}
|
|
15
|
+
export const DEFAULT_ANGLE_ORDER = 'zyx';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDBCQUEwQjtBQUMxQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFBO0FBRS9COzs7R0FHRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsQ0FBUztJQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDckQsQ0FBQztBQUlELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFlLEtBQUssQ0FBQSJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * as vec2 from './vec2';
|
|
2
|
+
export type { Vec2 } from './vec2';
|
|
3
|
+
export * as vec3 from './vec3';
|
|
4
|
+
export type { Vec3 } from './vec3';
|
|
5
|
+
export * as vec4 from './vec4';
|
|
6
|
+
export type { Vec4 } from './vec4';
|
|
7
|
+
export * as mat2 from './mat2';
|
|
8
|
+
export type { Mat2 } from './mat2';
|
|
9
|
+
export * as mat2d from './mat2d';
|
|
10
|
+
export type { Mat2d } from './mat2d';
|
|
11
|
+
export * as mat3 from './mat3';
|
|
12
|
+
export type { Mat3 } from './mat3';
|
|
13
|
+
export * as mat4 from './mat4';
|
|
14
|
+
export type { Mat4 } from './mat4';
|
|
15
|
+
export * as quat from './quat';
|
|
16
|
+
export type { Quat } from './quat';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,YAAY,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA"}
|
package/lib/esm/index.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as vec2 from './vec2';
|
|
2
|
+
export * as vec3 from './vec3';
|
|
3
|
+
export * as vec4 from './vec4';
|
|
4
|
+
export * as mat2 from './mat2';
|
|
5
|
+
export * as mat2d from './mat2d';
|
|
6
|
+
export * as mat3 from './mat3';
|
|
7
|
+
export * as mat4 from './mat4';
|
|
8
|
+
export * as quat from './quat';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUE7QUFHaEMsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUE7QUFHOUIsT0FBTyxLQUFLLElBQUksTUFBTSxRQUFRLENBQUEifQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Vec2 } from './vec2';
|
|
2
|
+
export type Mat2 = readonly [number, number, number, number];
|
|
3
|
+
export declare function of(m00: number, m01: number, m10: number, m11: number): Mat2;
|
|
4
|
+
/**
|
|
5
|
+
* The identity matrix of mat2
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export declare const identity: Mat2;
|
|
9
|
+
export declare const zero: Mat2;
|
|
10
|
+
/**
|
|
11
|
+
* Transpose the values of a mat2
|
|
12
|
+
*/
|
|
13
|
+
export declare function transpose(a: Mat2): Mat2;
|
|
14
|
+
/**
|
|
15
|
+
* Inverts a mat2
|
|
16
|
+
*/
|
|
17
|
+
export declare function invert(a: Mat2): Mat2 | null;
|
|
18
|
+
/**
|
|
19
|
+
* Calculates the adjugate of a mat2
|
|
20
|
+
*/
|
|
21
|
+
export declare function adjoint(a: Mat2): Mat2;
|
|
22
|
+
/**
|
|
23
|
+
* Calculates the determinant of a mat2
|
|
24
|
+
* @returns determinant of a
|
|
25
|
+
*/
|
|
26
|
+
export declare function determinant(a: Mat2): number;
|
|
27
|
+
/**
|
|
28
|
+
* Multiplies two mat2's
|
|
29
|
+
*/
|
|
30
|
+
export declare function multiply(a: Mat2, b: Mat2): Mat2;
|
|
31
|
+
/**
|
|
32
|
+
* Rotates a mat2 by the given angle
|
|
33
|
+
*
|
|
34
|
+
* @param a the matrix to rotate
|
|
35
|
+
* @param rad the angle to rotate the matrix by
|
|
36
|
+
*/
|
|
37
|
+
export declare function rotate(a: Mat2, rad: number): Mat2;
|
|
38
|
+
/**
|
|
39
|
+
* Scales the mat2 by the dimensions in the given vec2
|
|
40
|
+
**/
|
|
41
|
+
export declare function scale(a: Mat2, v: Vec2): Mat2;
|
|
42
|
+
/**
|
|
43
|
+
* Apply skew to the mat2d by the given angles
|
|
44
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
|
|
45
|
+
*/
|
|
46
|
+
export declare function skew(m: Mat2, ax: number, ay: number): Mat2;
|
|
47
|
+
/**
|
|
48
|
+
* Creates a matrix from a given angle
|
|
49
|
+
*/
|
|
50
|
+
export declare function fromRotation(rad: number): Mat2;
|
|
51
|
+
/**
|
|
52
|
+
* Creates a matrix from a vector scaling
|
|
53
|
+
*/
|
|
54
|
+
export declare function fromScaling(v: Vec2): Mat2;
|
|
55
|
+
/**
|
|
56
|
+
* Creates a matrix from a vector skew
|
|
57
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
|
|
58
|
+
*/
|
|
59
|
+
export declare function fromSkew(ax: number, ay: number): Mat2;
|
|
60
|
+
/**
|
|
61
|
+
* Returns Frobenius norm of a mat2
|
|
62
|
+
*/
|
|
63
|
+
export declare function frob(a: Mat2): number;
|
|
64
|
+
/**
|
|
65
|
+
* Adds two mat2's
|
|
66
|
+
*/
|
|
67
|
+
export declare function add(a: Mat2, b: Mat2): Mat2;
|
|
68
|
+
/**
|
|
69
|
+
* Subtracts matrix b from matrix a
|
|
70
|
+
*/
|
|
71
|
+
export declare function subtract(a: Mat2, b: Mat2): Mat2;
|
|
72
|
+
/**
|
|
73
|
+
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
|
|
74
|
+
*/
|
|
75
|
+
export declare function exactEquals(a: Mat2, b: Mat2): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Returns whether or not the matrices have approximately the same elements in the same position.
|
|
78
|
+
*/
|
|
79
|
+
export declare function equals(a: Mat2, b: Mat2): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Multiply each element of the matrix by a scalar.
|
|
82
|
+
*
|
|
83
|
+
* @param a the matrix to scale
|
|
84
|
+
* @param s amount to scale the matrix's elements by
|
|
85
|
+
*/
|
|
86
|
+
export declare function multiplyScalar(a: Mat2, s: number): Mat2;
|
|
87
|
+
/**
|
|
88
|
+
* Adds two mat2's after multiplying each element of the second operand by a scalar value.
|
|
89
|
+
*/
|
|
90
|
+
export declare function multiplyScalarAndAdd(a: Mat2, b: Mat2, scale: number): Mat2;
|
|
91
|
+
//# sourceMappingURL=mat2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mat2.d.ts","sourceRoot":"","sources":["../../src/mat2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAE3B,MAAM,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE5D,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,IAAkC,CAAA;AAEzD,eAAO,MAAM,IAAI,EAAE,IAAkC,CAAA;AAErD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAMvC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAgB3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAIrC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,UAElC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAU/C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED;;IAEI;AACJ,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAK5C;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CASrD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,UAE3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAE3C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAatC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO1E"}
|