@caspertech/node-metaverse 0.7.55 → 0.8.1

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 (30) hide show
  1. package/dist/lib/classes/InventoryFolder.js +3 -1
  2. package/dist/lib/classes/InventoryFolder.js.map +1 -1
  3. package/dist/lib/classes/LLAnimation.d.ts +32 -0
  4. package/dist/lib/classes/LLAnimation.js +90 -0
  5. package/dist/lib/classes/LLAnimation.js.map +1 -0
  6. package/dist/lib/classes/LLAnimationJoint.d.ts +13 -0
  7. package/dist/lib/classes/LLAnimationJoint.js +56 -0
  8. package/dist/lib/classes/LLAnimationJoint.js.map +1 -0
  9. package/dist/lib/classes/LLAnimationJointKeyFrame.d.ts +5 -0
  10. package/dist/lib/classes/LLAnimationJointKeyFrame.js +7 -0
  11. package/dist/lib/classes/LLAnimationJointKeyFrame.js.map +1 -0
  12. package/dist/lib/classes/LLWearable.js +0 -1
  13. package/dist/lib/classes/LLWearable.js.map +1 -1
  14. package/dist/lib/classes/Matrix3.d.ts +28 -0
  15. package/dist/lib/classes/Matrix3.js +348 -0
  16. package/dist/lib/classes/Matrix3.js.map +1 -0
  17. package/dist/lib/classes/Matrix4.d.ts +34 -0
  18. package/dist/lib/classes/Matrix4.js +396 -0
  19. package/dist/lib/classes/Matrix4.js.map +1 -0
  20. package/dist/lib/classes/ObjectStoreFull.js +1 -0
  21. package/dist/lib/classes/ObjectStoreFull.js.map +1 -1
  22. package/dist/lib/classes/Utils.d.ts +3 -2
  23. package/dist/lib/classes/Utils.js +17 -6
  24. package/dist/lib/classes/Utils.js.map +1 -1
  25. package/dist/lib/classes/public/LLMesh.d.ts +36 -14
  26. package/dist/lib/classes/public/LLMesh.js +468 -204
  27. package/dist/lib/classes/public/LLMesh.js.map +1 -1
  28. package/dist/lib/classes/public/interfaces/LLSkin.d.ts +5 -5
  29. package/dist/lib/classes/public/interfaces/LLSubMesh.d.ts +2 -2
  30. package/package.json +1 -1
@@ -0,0 +1,348 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Matrix3 = void 0;
4
+ const Vector2_1 = require("./Vector2");
5
+ const Vector3_1 = require("./Vector3");
6
+ const Matrix4_1 = require("./Matrix4");
7
+ const Quaternion_1 = require("./Quaternion");
8
+ class Matrix3 {
9
+ constructor(values) {
10
+ this.values = new Float32Array(9);
11
+ if (values) {
12
+ this.init(values);
13
+ }
14
+ }
15
+ at(index) {
16
+ return this.values[index];
17
+ }
18
+ init(values) {
19
+ if (values.length !== 9) {
20
+ throw new Error("Matrix3 requires exactly 9 values.");
21
+ }
22
+ let i = 0;
23
+ for (const value of values) {
24
+ this.values[i] = value;
25
+ i++;
26
+ }
27
+ return this;
28
+ }
29
+ reset() {
30
+ let i = 0;
31
+ for (const _ of this.values) {
32
+ this.values[i] = 0;
33
+ i++;
34
+ }
35
+ }
36
+ copy(dest) {
37
+ if (!dest) {
38
+ dest = new Matrix3();
39
+ }
40
+ let i = 0;
41
+ for (const value of this.values) {
42
+ dest.values[i] = value;
43
+ i++;
44
+ }
45
+ return dest;
46
+ }
47
+ all() {
48
+ const data = [];
49
+ for (const value of this.values) {
50
+ data.push(value);
51
+ }
52
+ return data;
53
+ }
54
+ row(index) {
55
+ return [
56
+ this.values[index * 3],
57
+ this.values[index * 3 + 1],
58
+ this.values[index * 3 + 2]
59
+ ];
60
+ }
61
+ col(index) {
62
+ return [
63
+ this.values[index],
64
+ this.values[index + 3],
65
+ this.values[index + 6]
66
+ ];
67
+ }
68
+ equals(matrix, threshold = Matrix3.EPSILON) {
69
+ let i = 0;
70
+ for (const value of this.values) {
71
+ if (Math.abs(value - matrix.at(i)) > threshold) {
72
+ return false;
73
+ }
74
+ i++;
75
+ }
76
+ return true;
77
+ }
78
+ determinant() {
79
+ const a00 = this.values[0];
80
+ const a01 = this.values[1];
81
+ const a02 = this.values[2];
82
+ const a10 = this.values[3];
83
+ const a11 = this.values[4];
84
+ const a12 = this.values[5];
85
+ const a20 = this.values[6];
86
+ const a21 = this.values[7];
87
+ const a22 = this.values[8];
88
+ const det01 = a22 * a11 - a12 * a21;
89
+ const det11 = -a22 * a10 + a12 * a20;
90
+ const det21 = a21 * a10 - a11 * a20;
91
+ return a00 * det01 + a01 * det11 + a02 * det21;
92
+ }
93
+ setIdentity() {
94
+ this.reset();
95
+ this.values[0] = 1;
96
+ this.values[4] = 1;
97
+ this.values[8] = 1;
98
+ return this;
99
+ }
100
+ transpose() {
101
+ const transposedValues = [
102
+ this.values[0],
103
+ this.values[3],
104
+ this.values[6],
105
+ this.values[1],
106
+ this.values[4],
107
+ this.values[7],
108
+ this.values[2],
109
+ this.values[5],
110
+ this.values[8]
111
+ ];
112
+ return new Matrix3(transposedValues);
113
+ }
114
+ inverse() {
115
+ const a00 = this.values[0];
116
+ const a01 = this.values[1];
117
+ const a02 = this.values[2];
118
+ const a10 = this.values[3];
119
+ const a11 = this.values[4];
120
+ const a12 = this.values[5];
121
+ const a20 = this.values[6];
122
+ const a21 = this.values[7];
123
+ const a22 = this.values[8];
124
+ const det01 = a22 * a11 - a12 * a21;
125
+ const det11 = -a22 * a10 + a12 * a20;
126
+ const det21 = a21 * a10 - a11 * a20;
127
+ let det = a00 * det01 + a01 * det11 + a02 * det21;
128
+ if (Math.abs(det) < Matrix3.EPSILON) {
129
+ return null;
130
+ }
131
+ det = 1.0 / det;
132
+ const invValues = [
133
+ det01 * det,
134
+ (-a22 * a01 + a02 * a21) * det,
135
+ (a12 * a01 - a02 * a11) * det,
136
+ det11 * det,
137
+ (a22 * a00 - a02 * a20) * det,
138
+ (-a12 * a00 + a02 * a10) * det,
139
+ det21 * det,
140
+ (-a21 * a00 + a01 * a20) * det,
141
+ (a11 * a00 - a01 * a10) * det
142
+ ];
143
+ return new Matrix3(invValues);
144
+ }
145
+ multiply(matrix) {
146
+ const a00 = this.values[0];
147
+ const a01 = this.values[1];
148
+ const a02 = this.values[2];
149
+ const a10 = this.values[3];
150
+ const a11 = this.values[4];
151
+ const a12 = this.values[5];
152
+ const a20 = this.values[6];
153
+ const a21 = this.values[7];
154
+ const a22 = this.values[8];
155
+ const b00 = matrix.at(0);
156
+ const b01 = matrix.at(1);
157
+ const b02 = matrix.at(2);
158
+ const b10 = matrix.at(3);
159
+ const b11 = matrix.at(4);
160
+ const b12 = matrix.at(5);
161
+ const b20 = matrix.at(6);
162
+ const b21 = matrix.at(7);
163
+ const b22 = matrix.at(8);
164
+ const resultValues = [
165
+ b00 * a00 + b01 * a10 + b02 * a20,
166
+ b00 * a01 + b01 * a11 + b02 * a21,
167
+ b00 * a02 + b01 * a12 + b02 * a22,
168
+ b10 * a00 + b11 * a10 + b12 * a20,
169
+ b10 * a01 + b11 * a11 + b12 * a21,
170
+ b10 * a02 + b11 * a12 + b12 * a22,
171
+ b20 * a00 + b21 * a10 + b22 * a20,
172
+ b20 * a01 + b21 * a11 + b22 * a21,
173
+ b20 * a02 + b21 * a12 + b22 * a22
174
+ ];
175
+ return new Matrix3(resultValues);
176
+ }
177
+ multiplyVector2(vector, result) {
178
+ const x = vector.x;
179
+ const y = vector.y;
180
+ if (result) {
181
+ result.x = x * this.values[0] + y * this.values[3] + this.values[6];
182
+ result.y = x * this.values[1] + y * this.values[4] + this.values[7];
183
+ return result;
184
+ }
185
+ else {
186
+ return new Vector2_1.Vector2([
187
+ x * this.values[0] + y * this.values[3] + this.values[6],
188
+ x * this.values[1] + y * this.values[4] + this.values[7]
189
+ ]);
190
+ }
191
+ }
192
+ multiplyVector3(vector, result) {
193
+ const x = vector.x;
194
+ const y = vector.y;
195
+ const z = vector.z;
196
+ if (result) {
197
+ result.x = x * this.values[0] + y * this.values[3] + z * this.values[6];
198
+ result.y = x * this.values[1] + y * this.values[4] + z * this.values[7];
199
+ result.z = x * this.values[2] + y * this.values[5] + z * this.values[8];
200
+ return result;
201
+ }
202
+ else {
203
+ return new Vector3_1.Vector3([
204
+ x * this.values[0] + y * this.values[3] + z * this.values[6],
205
+ x * this.values[1] + y * this.values[4] + z * this.values[7],
206
+ x * this.values[2] + y * this.values[5] + z * this.values[8]
207
+ ]);
208
+ }
209
+ }
210
+ toMatrix4(result) {
211
+ const mat4Values = [
212
+ this.values[0],
213
+ this.values[1],
214
+ this.values[2],
215
+ 0,
216
+ this.values[3],
217
+ this.values[4],
218
+ this.values[5],
219
+ 0,
220
+ this.values[6],
221
+ this.values[7],
222
+ this.values[8],
223
+ 0,
224
+ 0,
225
+ 0,
226
+ 0,
227
+ 1
228
+ ];
229
+ if (result) {
230
+ result.init(mat4Values);
231
+ return result;
232
+ }
233
+ else {
234
+ return new Matrix4_1.Matrix4(mat4Values);
235
+ }
236
+ }
237
+ toQuaternion() {
238
+ const m00 = this.values[0];
239
+ const m01 = this.values[1];
240
+ const m02 = this.values[2];
241
+ const m10 = this.values[3];
242
+ const m11 = this.values[4];
243
+ const m12 = this.values[5];
244
+ const m20 = this.values[6];
245
+ const m21 = this.values[7];
246
+ const m22 = this.values[8];
247
+ const fourXSquaredMinus1 = m00 - m11 - m22;
248
+ const fourYSquaredMinus1 = m11 - m00 - m22;
249
+ const fourZSquaredMinus1 = m22 - m00 - m11;
250
+ const fourWSquaredMinus1 = m00 + m11 + m22;
251
+ let biggestIndex = 0;
252
+ let fourBiggestSquaredMinus1 = fourWSquaredMinus1;
253
+ if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) {
254
+ fourBiggestSquaredMinus1 = fourXSquaredMinus1;
255
+ biggestIndex = 1;
256
+ }
257
+ if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) {
258
+ fourBiggestSquaredMinus1 = fourYSquaredMinus1;
259
+ biggestIndex = 2;
260
+ }
261
+ if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) {
262
+ fourBiggestSquaredMinus1 = fourZSquaredMinus1;
263
+ biggestIndex = 3;
264
+ }
265
+ const biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5;
266
+ const mult = 0.25 / biggestVal;
267
+ const quat = new Quaternion_1.Quaternion();
268
+ switch (biggestIndex) {
269
+ case 0:
270
+ quat.w = biggestVal;
271
+ quat.x = (m12 - m21) * mult;
272
+ quat.y = (m20 - m02) * mult;
273
+ quat.z = (m01 - m10) * mult;
274
+ break;
275
+ case 1:
276
+ quat.w = (m12 - m21) * mult;
277
+ quat.x = biggestVal;
278
+ quat.y = (m01 + m10) * mult;
279
+ quat.z = (m20 + m02) * mult;
280
+ break;
281
+ case 2:
282
+ quat.w = (m20 - m02) * mult;
283
+ quat.x = (m01 + m10) * mult;
284
+ quat.y = biggestVal;
285
+ quat.z = (m12 + m21) * mult;
286
+ break;
287
+ case 3:
288
+ quat.w = (m01 - m10) * mult;
289
+ quat.x = (m20 + m02) * mult;
290
+ quat.y = (m12 + m21) * mult;
291
+ quat.z = biggestVal;
292
+ break;
293
+ }
294
+ return quat;
295
+ }
296
+ rotate(angle, axis) {
297
+ let x = axis.x;
298
+ let y = axis.y;
299
+ let z = axis.z;
300
+ let length = Math.sqrt(x * x + y * y + z * z);
301
+ if (length < Matrix3.EPSILON) {
302
+ return null;
303
+ }
304
+ if (length !== 1) {
305
+ length = 1 / length;
306
+ x *= length;
307
+ y *= length;
308
+ z *= length;
309
+ }
310
+ const s = Math.sin(angle);
311
+ const c = Math.cos(angle);
312
+ const t = 1.0 - c;
313
+ const b00 = x * x * t + c;
314
+ const b01 = y * x * t + z * s;
315
+ const b02 = z * x * t - y * s;
316
+ const b10 = x * y * t - z * s;
317
+ const b11 = y * y * t + c;
318
+ const b12 = z * y * t + x * s;
319
+ const b20 = x * z * t + y * s;
320
+ const b21 = y * z * t - x * s;
321
+ const b22 = z * z * t + c;
322
+ const a00 = this.values[0];
323
+ const a01 = this.values[1];
324
+ const a02 = this.values[2];
325
+ const a10 = this.values[3];
326
+ const a11 = this.values[4];
327
+ const a12 = this.values[5];
328
+ const a20 = this.values[6];
329
+ const a21 = this.values[7];
330
+ const a22 = this.values[8];
331
+ const resultValues = [
332
+ a00 * b00 + a10 * b01 + a20 * b02,
333
+ a01 * b00 + a11 * b01 + a21 * b02,
334
+ a02 * b00 + a12 * b01 + a22 * b02,
335
+ a00 * b10 + a10 * b11 + a20 * b12,
336
+ a01 * b10 + a11 * b11 + a21 * b12,
337
+ a02 * b10 + a12 * b11 + a22 * b12,
338
+ a00 * b20 + a10 * b21 + a20 * b22,
339
+ a01 * b20 + a11 * b21 + a21 * b22,
340
+ a02 * b20 + a12 * b21 + a22 * b22
341
+ ];
342
+ return new Matrix3(resultValues);
343
+ }
344
+ }
345
+ exports.Matrix3 = Matrix3;
346
+ Matrix3.identity = new Matrix3().setIdentity();
347
+ Matrix3.EPSILON = 1e-6;
348
+ //# sourceMappingURL=Matrix3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Matrix3.js","sourceRoot":"","sources":["../../../lib/classes/Matrix3.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { Vector4 } from './Vector4';
2
+ import { Vector3 } from './Vector3';
3
+ import { Matrix3 } from './Matrix3';
4
+ export declare class Matrix4 {
5
+ static readonly identity: Matrix4;
6
+ private readonly values;
7
+ constructor(values?: number[] | null);
8
+ static frustum(left: number, right: number, bottom: number, top: number, near: number, far: number): Matrix4;
9
+ static perspective(fov: number, aspect: number, near: number, far: number): Matrix4;
10
+ static orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): Matrix4;
11
+ static lookAt(position: Vector3, target: Vector3, up?: Vector3): Matrix4;
12
+ static product(m1: Matrix4, m2: Matrix4, result?: Matrix4 | null): Matrix4;
13
+ at(index: number): number;
14
+ init(values: unknown[]): this;
15
+ reset(): void;
16
+ copy(dest?: Matrix4 | null): Matrix4;
17
+ all(): number[];
18
+ row(index: number): number[];
19
+ col(index: number): number[];
20
+ equals(matrix: Matrix4, threshold?: number): boolean;
21
+ determinant(): number;
22
+ setIdentity(): this;
23
+ transpose(): Matrix4;
24
+ inverse(): Matrix4 | null;
25
+ multiply(matrix: Matrix4): Matrix4;
26
+ multiplyVector3(vector: Vector3): Vector3;
27
+ multiplyVector4(vector: Vector4): Vector4;
28
+ toMatrix3(): Matrix3;
29
+ toInverseMatrix3(): Matrix3 | null;
30
+ translate(vector: Vector3): Matrix4;
31
+ scale(vector: Vector3): Matrix4;
32
+ rotate(angle: number, axis: Vector3): Matrix4 | null;
33
+ toArray(): number[];
34
+ }