@caspertech/node-metaverse 0.6.5 → 0.6.7
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/dist/lib/classes/Caps.js +7 -0
- package/dist/lib/classes/Caps.js.map +1 -1
- package/dist/lib/classes/Circuit.js +0 -3
- package/dist/lib/classes/Circuit.js.map +1 -1
- package/dist/lib/classes/LLGLTFMaterial.spec.js +47 -17
- package/dist/lib/classes/LLGLTFMaterial.spec.js.map +1 -1
- package/dist/lib/classes/LLGLTFMaterialData.d.ts +184 -24
- package/dist/lib/classes/LLGLTFMaterialOverride.d.ts +20 -0
- package/dist/lib/classes/LLGLTFMaterialOverride.js +261 -0
- package/dist/lib/classes/LLGLTFMaterialOverride.js.map +1 -0
- package/dist/lib/classes/LLGLTFMaterialOverride.spec.d.ts +1 -0
- package/dist/lib/classes/LLGLTFMaterialOverride.spec.js +225 -0
- package/dist/lib/classes/LLGLTFMaterialOverride.spec.js.map +1 -0
- package/dist/lib/classes/ObjectStoreFull.js +86 -58
- package/dist/lib/classes/ObjectStoreFull.js.map +1 -1
- package/dist/lib/classes/ObjectStoreLite.d.ts +38 -15
- package/dist/lib/classes/ObjectStoreLite.js +232 -112
- package/dist/lib/classes/ObjectStoreLite.js.map +1 -1
- package/dist/lib/classes/TextureEntry.d.ts +2 -0
- package/dist/lib/classes/TextureEntry.js +1 -0
- package/dist/lib/classes/TextureEntry.js.map +1 -1
- package/dist/lib/classes/llsd/LLSDNotationParser.js +1 -10
- package/dist/lib/classes/llsd/LLSDNotationParser.js.map +1 -1
- package/dist/lib/classes/public/ExtraParams.spec.d.ts +1 -0
- package/dist/lib/classes/public/ExtraParams.spec.js +31 -0
- package/dist/lib/classes/public/ExtraParams.spec.js.map +1 -0
- package/dist/lib/classes/public/GameObject.js +42 -2
- package/dist/lib/classes/public/GameObject.js.map +1 -1
- package/dist/lib/classes/public/GameObject.spec.d.ts +1 -0
- package/dist/lib/classes/public/GameObject.spec.js +148 -0
- package/dist/lib/classes/public/GameObject.spec.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LLGLTFMaterialOverride = void 0;
|
|
4
|
+
const UUID_1 = require("./UUID");
|
|
5
|
+
class LLGLTFMaterialOverride {
|
|
6
|
+
getFullMaterialJSON() {
|
|
7
|
+
const obj = {};
|
|
8
|
+
obj.asset = {
|
|
9
|
+
version: '2.0',
|
|
10
|
+
};
|
|
11
|
+
let texIndex = 0;
|
|
12
|
+
const material = {};
|
|
13
|
+
const addTexture = (texNum) => {
|
|
14
|
+
var _a, _b, _c, _d;
|
|
15
|
+
let idx = undefined;
|
|
16
|
+
if ((this.textures && this.textures.length > texNum && this.textures[texNum] !== null) || (this.textureTransforms && this.textureTransforms.length > texNum && this.textureTransforms[texNum] !== null)) {
|
|
17
|
+
idx = texIndex++;
|
|
18
|
+
if (idx === 0) {
|
|
19
|
+
obj.images = [];
|
|
20
|
+
obj.textures = [];
|
|
21
|
+
}
|
|
22
|
+
const texture = (_a = this.textures) === null || _a === void 0 ? void 0 : _a[texNum];
|
|
23
|
+
if (texture) {
|
|
24
|
+
obj.images.push({
|
|
25
|
+
uri: texture
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
obj.images.push({
|
|
30
|
+
uri: UUID_1.UUID.zero().toString()
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const tex = {
|
|
34
|
+
source: idx
|
|
35
|
+
};
|
|
36
|
+
if (this.textureTransforms && this.textureTransforms.length > texNum && this.textureTransforms[texNum] !== null) {
|
|
37
|
+
const trans = this.textureTransforms[texNum];
|
|
38
|
+
tex.extensions = {
|
|
39
|
+
KHR_texture_transform: {
|
|
40
|
+
offset: (_b = trans === null || trans === void 0 ? void 0 : trans.offset) !== null && _b !== void 0 ? _b : undefined,
|
|
41
|
+
scale: (_c = trans === null || trans === void 0 ? void 0 : trans.scale) !== null && _c !== void 0 ? _c : undefined,
|
|
42
|
+
rotation: (_d = trans === null || trans === void 0 ? void 0 : trans.rotation) !== null && _d !== void 0 ? _d : undefined
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
if (obj.textures === undefined) {
|
|
47
|
+
obj.textures = [
|
|
48
|
+
tex
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
obj.textures.push(tex);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return idx;
|
|
56
|
+
};
|
|
57
|
+
if (this.baseColor !== undefined
|
|
58
|
+
|| (this.textures !== undefined
|
|
59
|
+
&& ((this.textures.length > 0
|
|
60
|
+
&& this.textures[0] !== undefined)
|
|
61
|
+
|| (this.textures.length > 2
|
|
62
|
+
&& this.textures[2] !== undefined)))
|
|
63
|
+
|| this.metallicFactor !== undefined
|
|
64
|
+
|| this.roughnessFactor !== undefined) {
|
|
65
|
+
const pbrMetallicRoughness = {
|
|
66
|
+
baseColorFactor: this.baseColor,
|
|
67
|
+
metallicFactor: this.metallicFactor,
|
|
68
|
+
roughnessFactor: this.roughnessFactor
|
|
69
|
+
};
|
|
70
|
+
let texIdx2 = addTexture(0);
|
|
71
|
+
if (texIdx2 !== undefined) {
|
|
72
|
+
pbrMetallicRoughness.baseColorTexture = {
|
|
73
|
+
index: texIdx2
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
texIdx2 = addTexture(2);
|
|
77
|
+
if (texIdx2 !== undefined) {
|
|
78
|
+
pbrMetallicRoughness.metallicRoughnessTexture = {
|
|
79
|
+
index: texIdx2
|
|
80
|
+
};
|
|
81
|
+
material.occlusionTexture = {
|
|
82
|
+
index: texIdx2
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
material.pbrMetallicRoughness = pbrMetallicRoughness;
|
|
86
|
+
}
|
|
87
|
+
if (this.alphaMode !== undefined) {
|
|
88
|
+
if (this.alphaMode === 0) {
|
|
89
|
+
material.extras = {
|
|
90
|
+
override_alpha_mode: true
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
else if (this.alphaMode === 1) {
|
|
94
|
+
material.alphaMode = 'BLEND';
|
|
95
|
+
}
|
|
96
|
+
else if (this.alphaMode === 2) {
|
|
97
|
+
material.alphaMode = 'MASK';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (this.alphaCutoff !== undefined) {
|
|
101
|
+
material.alphaCutoff = this.alphaCutoff;
|
|
102
|
+
}
|
|
103
|
+
if (this.emissiveFactor !== undefined) {
|
|
104
|
+
material.emissiveFactor = this.emissiveFactor;
|
|
105
|
+
}
|
|
106
|
+
if (this.doubleSided) {
|
|
107
|
+
material.doubleSided = this.doubleSided;
|
|
108
|
+
}
|
|
109
|
+
else if (this.doubleSided === false) {
|
|
110
|
+
if (!material.extras) {
|
|
111
|
+
material.extras = {};
|
|
112
|
+
}
|
|
113
|
+
material.extras.override_double_sided = true;
|
|
114
|
+
}
|
|
115
|
+
let texIdx = addTexture(3);
|
|
116
|
+
if (texIdx !== undefined) {
|
|
117
|
+
material.emissiveTexture = {
|
|
118
|
+
index: texIdx
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
texIdx = addTexture(1);
|
|
122
|
+
if (texIdx !== undefined) {
|
|
123
|
+
material.normalTexture = {
|
|
124
|
+
index: texIdx
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
if (Object.keys(material).length > 0) {
|
|
128
|
+
obj.materials = [
|
|
129
|
+
material
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
return JSON.stringify(obj);
|
|
133
|
+
}
|
|
134
|
+
setTexture(idx, uuid) {
|
|
135
|
+
if (!this.textures) {
|
|
136
|
+
this.textures = [];
|
|
137
|
+
}
|
|
138
|
+
for (let x = this.textures.length; x < idx + 1; x++) {
|
|
139
|
+
this.textures.push(null);
|
|
140
|
+
}
|
|
141
|
+
this.textures[idx] = uuid;
|
|
142
|
+
}
|
|
143
|
+
setTransform(idx, trans) {
|
|
144
|
+
if (!this.textureTransforms) {
|
|
145
|
+
this.textureTransforms = [];
|
|
146
|
+
}
|
|
147
|
+
for (let x = this.textureTransforms.length; x < idx + 1; x++) {
|
|
148
|
+
this.textureTransforms.push(null);
|
|
149
|
+
}
|
|
150
|
+
this.textureTransforms[idx] = trans;
|
|
151
|
+
}
|
|
152
|
+
static fromFullMaterialJSON(json) {
|
|
153
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
154
|
+
const obj = JSON.parse(json);
|
|
155
|
+
const over = new LLGLTFMaterialOverride();
|
|
156
|
+
if (!((_a = obj.materials) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
157
|
+
return over;
|
|
158
|
+
}
|
|
159
|
+
const mat = obj.materials[0];
|
|
160
|
+
const getTexture = (idx) => {
|
|
161
|
+
var _a, _b;
|
|
162
|
+
const found = {
|
|
163
|
+
uuid: null,
|
|
164
|
+
transform: null
|
|
165
|
+
};
|
|
166
|
+
if (obj.textures && Array.isArray(obj.textures) && obj.textures.length > idx) {
|
|
167
|
+
const source = obj.textures[idx].source;
|
|
168
|
+
if (source !== undefined && obj.images && Array.isArray(obj.images) && obj.images.length > source) {
|
|
169
|
+
const img = obj.images[source];
|
|
170
|
+
if ('uri' in img) {
|
|
171
|
+
found.uuid = (_a = img.uri) !== null && _a !== void 0 ? _a : null;
|
|
172
|
+
if (found.uuid === UUID_1.UUID.zero().toString()) {
|
|
173
|
+
found.uuid = null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const transform = (_b = obj.textures[idx].extensions) === null || _b === void 0 ? void 0 : _b.KHR_texture_transform;
|
|
178
|
+
if (transform) {
|
|
179
|
+
found.transform = transform !== null && transform !== void 0 ? transform : null;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return found;
|
|
183
|
+
};
|
|
184
|
+
if (mat.pbrMetallicRoughness) {
|
|
185
|
+
const pbr = mat.pbrMetallicRoughness;
|
|
186
|
+
if (pbr.metallicFactor !== undefined) {
|
|
187
|
+
over.metallicFactor = pbr.metallicFactor;
|
|
188
|
+
}
|
|
189
|
+
if (pbr.roughnessFactor !== undefined) {
|
|
190
|
+
over.roughnessFactor = pbr.roughnessFactor;
|
|
191
|
+
}
|
|
192
|
+
if (pbr.baseColorFactor !== undefined && Array.isArray(pbr.baseColorFactor) && pbr.baseColorFactor.length === 4) {
|
|
193
|
+
over.baseColor = pbr.baseColorFactor;
|
|
194
|
+
}
|
|
195
|
+
if (((_b = pbr.baseColorTexture) === null || _b === void 0 ? void 0 : _b.index) !== undefined) {
|
|
196
|
+
const tex = getTexture(pbr.baseColorTexture.index);
|
|
197
|
+
if (tex && tex.uuid) {
|
|
198
|
+
over.setTexture(0, tex.uuid);
|
|
199
|
+
}
|
|
200
|
+
if (tex && tex.transform) {
|
|
201
|
+
over.setTransform(0, tex.transform);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (((_c = pbr.metallicRoughnessTexture) === null || _c === void 0 ? void 0 : _c.index) !== undefined) {
|
|
205
|
+
const tex = getTexture(pbr.metallicRoughnessTexture.index);
|
|
206
|
+
if (tex && tex.uuid) {
|
|
207
|
+
over.setTexture(2, tex.uuid);
|
|
208
|
+
}
|
|
209
|
+
if (tex && tex.transform) {
|
|
210
|
+
over.setTransform(2, tex.transform);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (mat.alphaMode) {
|
|
215
|
+
switch (mat.alphaMode) {
|
|
216
|
+
case 'BLEND':
|
|
217
|
+
over.alphaMode = 1;
|
|
218
|
+
break;
|
|
219
|
+
case 'MASK':
|
|
220
|
+
over.alphaMode = 2;
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else if (mat.extras && mat.extras.override_alpha_mode) {
|
|
225
|
+
over.alphaMode = 0;
|
|
226
|
+
}
|
|
227
|
+
if (mat.alphaCutoff !== undefined) {
|
|
228
|
+
over.alphaCutoff = mat.alphaCutoff;
|
|
229
|
+
}
|
|
230
|
+
if (mat.emissiveFactor !== undefined) {
|
|
231
|
+
over.emissiveFactor = mat.emissiveFactor;
|
|
232
|
+
}
|
|
233
|
+
if (mat.doubleSided === true) {
|
|
234
|
+
over.doubleSided = true;
|
|
235
|
+
}
|
|
236
|
+
else if (mat.extras && mat.extras.override_double_sided) {
|
|
237
|
+
over.doubleSided = false;
|
|
238
|
+
}
|
|
239
|
+
if (((_d = mat.normalTexture) === null || _d === void 0 ? void 0 : _d.index) !== undefined) {
|
|
240
|
+
const tex = getTexture((_e = mat.normalTexture) === null || _e === void 0 ? void 0 : _e.index);
|
|
241
|
+
if (tex && tex.uuid) {
|
|
242
|
+
over.setTexture(1, tex.uuid);
|
|
243
|
+
}
|
|
244
|
+
if (tex && tex.transform) {
|
|
245
|
+
over.setTransform(1, tex.transform);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (((_f = mat.emissiveTexture) === null || _f === void 0 ? void 0 : _f.index) !== undefined) {
|
|
249
|
+
const tex = getTexture((_g = mat.emissiveTexture) === null || _g === void 0 ? void 0 : _g.index);
|
|
250
|
+
if (tex && tex.uuid) {
|
|
251
|
+
over.setTexture(3, tex.uuid);
|
|
252
|
+
}
|
|
253
|
+
if (tex && tex.transform) {
|
|
254
|
+
over.setTransform(3, tex.transform);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return over;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
exports.LLGLTFMaterialOverride = LLGLTFMaterialOverride;
|
|
261
|
+
//# sourceMappingURL=LLGLTFMaterialOverride.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLGLTFMaterialOverride.js","sourceRoot":"","sources":["../../../lib/classes/LLGLTFMaterialOverride.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const LLGLTFMaterialOverride_1 = require("./LLGLTFMaterialOverride");
|
|
4
|
+
const assert = require("assert");
|
|
5
|
+
const m = new LLGLTFMaterialOverride_1.LLGLTFMaterialOverride();
|
|
6
|
+
m.textures = [
|
|
7
|
+
'a6edc906-2f9f-5fb2-a373-efac406f0ef2',
|
|
8
|
+
'2f70a4f7-4ece-48d2-8963-32192608067d',
|
|
9
|
+
'45a45cc0-463c-49dd-9133-5202399a16d4',
|
|
10
|
+
'39bf5b2b-0619-4892-872c-024e2f601684'
|
|
11
|
+
];
|
|
12
|
+
m.doubleSided = true;
|
|
13
|
+
m.emissiveFactor = [
|
|
14
|
+
0.1,
|
|
15
|
+
0.69,
|
|
16
|
+
0.420
|
|
17
|
+
];
|
|
18
|
+
m.alphaCutoff = 0.42;
|
|
19
|
+
m.alphaMode = 1;
|
|
20
|
+
m.roughnessFactor = 0.23;
|
|
21
|
+
m.metallicFactor = 0.91;
|
|
22
|
+
m.baseColor = [
|
|
23
|
+
0.1,
|
|
24
|
+
0.2,
|
|
25
|
+
0.3,
|
|
26
|
+
0.4
|
|
27
|
+
];
|
|
28
|
+
m.textureTransforms = [
|
|
29
|
+
{
|
|
30
|
+
rotation: 0.43,
|
|
31
|
+
scale: [
|
|
32
|
+
0.2,
|
|
33
|
+
0.4
|
|
34
|
+
],
|
|
35
|
+
offset: [
|
|
36
|
+
1.0,
|
|
37
|
+
0.5
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
rotation: 0.52,
|
|
42
|
+
scale: [
|
|
43
|
+
0.9,
|
|
44
|
+
0.1
|
|
45
|
+
],
|
|
46
|
+
offset: [
|
|
47
|
+
0.8,
|
|
48
|
+
0.3
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
rotation: 0.43,
|
|
53
|
+
scale: [
|
|
54
|
+
0.1,
|
|
55
|
+
0.9
|
|
56
|
+
],
|
|
57
|
+
offset: [
|
|
58
|
+
1.3,
|
|
59
|
+
0.6
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
rotation: 0.43,
|
|
64
|
+
scale: [
|
|
65
|
+
0.0,
|
|
66
|
+
0.11
|
|
67
|
+
],
|
|
68
|
+
offset: [
|
|
69
|
+
0.5,
|
|
70
|
+
0.4
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
];
|
|
74
|
+
const m3 = new LLGLTFMaterialOverride_1.LLGLTFMaterialOverride();
|
|
75
|
+
m3.textures = [
|
|
76
|
+
null,
|
|
77
|
+
null,
|
|
78
|
+
'45a45cc0-463c-49dd-9133-5202399a16d4',
|
|
79
|
+
'39bf5b2b-0619-4892-872c-024e2f601684'
|
|
80
|
+
];
|
|
81
|
+
m3.doubleSided = false;
|
|
82
|
+
m3.emissiveFactor = [
|
|
83
|
+
0.1,
|
|
84
|
+
0.69,
|
|
85
|
+
0.420
|
|
86
|
+
];
|
|
87
|
+
m3.alphaCutoff = 0.42;
|
|
88
|
+
m3.alphaMode = 0;
|
|
89
|
+
m3.roughnessFactor = 0.23;
|
|
90
|
+
m3.metallicFactor = 0.91;
|
|
91
|
+
m3.baseColor = [
|
|
92
|
+
0.1,
|
|
93
|
+
0.2,
|
|
94
|
+
0.3,
|
|
95
|
+
0.4
|
|
96
|
+
];
|
|
97
|
+
m3.textureTransforms = [
|
|
98
|
+
{
|
|
99
|
+
rotation: 0.43,
|
|
100
|
+
scale: [
|
|
101
|
+
0.2,
|
|
102
|
+
0.4
|
|
103
|
+
],
|
|
104
|
+
offset: [
|
|
105
|
+
1.0,
|
|
106
|
+
0.5
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
null,
|
|
110
|
+
{
|
|
111
|
+
rotation: 0.43,
|
|
112
|
+
scale: [
|
|
113
|
+
0.1,
|
|
114
|
+
0.9
|
|
115
|
+
],
|
|
116
|
+
offset: [
|
|
117
|
+
1.3,
|
|
118
|
+
0.6
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
rotation: 0.43,
|
|
123
|
+
scale: [
|
|
124
|
+
0.0,
|
|
125
|
+
0.11
|
|
126
|
+
],
|
|
127
|
+
offset: [
|
|
128
|
+
0.5,
|
|
129
|
+
0.4
|
|
130
|
+
]
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
describe('LLGLTFMaterialOverride', () => {
|
|
134
|
+
it('outputs valid JSON', () => {
|
|
135
|
+
assert.equal(m.getFullMaterialJSON(), '{"asset":{"version":"2.0"},"images":[{"uri":"a6edc906-2f9f-5fb2-a373-efac406f0ef2"},{"uri":"45a45cc0-463c-49dd-9133-5202399a16d4"},{"uri":"39bf5b2b-0619-4892-872c-024e2f601684"},{"uri":"2f70a4f7-4ece-48d2-8963-32192608067d"}],"textures":[{"source":0,"extensions":{"KHR_texture_transform":{"offset":[1,0.5],"scale":[0.2,0.4],"rotation":0.43}}},{"source":1,"extensions":{"KHR_texture_transform":{"offset":[1.3,0.6],"scale":[0.1,0.9],"rotation":0.43}}},{"source":2,"extensions":{"KHR_texture_transform":{"offset":[0.5,0.4],"scale":[0,0.11],"rotation":0.43}}},{"source":3,"extensions":{"KHR_texture_transform":{"offset":[0.8,0.3],"scale":[0.9,0.1],"rotation":0.52}}}],"materials":[{"occlusionTexture":{"index":1},"pbrMetallicRoughness":{"baseColorFactor":[0.1,0.2,0.3,0.4],"metallicFactor":0.91,"roughnessFactor":0.23,"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}},"alphaMode":"BLEND","alphaCutoff":0.42,"emissiveFactor":[0.1,0.69,0.42],"doubleSided":true,"emissiveTexture":{"index":2},"normalTexture":{"index":3}}]}');
|
|
136
|
+
});
|
|
137
|
+
it('parses json JSON correctly', () => {
|
|
138
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, _122, _123, _124, _125, _126, _127, _128, _129, _130, _131, _132, _133, _134, _135, _136, _137, _138, _139, _140, _141, _142, _143, _144, _145, _146, _147, _148, _149, _150, _151, _152, _153, _154, _155, _156, _157, _158, _159, _160, _161, _162, _163, _164, _165, _166, _167, _168, _169, _170, _171, _172, _173, _174, _175, _176, _177, _178, _179, _180, _181, _182, _183, _184, _185, _186, _187, _188, _189, _190, _191, _192, _193, _194, _195, _196, _197, _198, _199, _200, _201, _202, _203, _204, _205, _206, _207, _208, _209, _210, _211, _212, _213, _214, _215, _216, _217, _218, _219, _220, _221, _222, _223, _224, _225, _226, _227, _228, _229, _230, _231, _232, _233, _234, _235, _236, _237, _238, _239, _240, _241, _242, _243, _244, _245, _246, _247, _248, _249, _250, _251, _252, _253, _254, _255, _256, _257, _258, _259;
|
|
139
|
+
let json = m.getFullMaterialJSON();
|
|
140
|
+
const m2 = LLGLTFMaterialOverride_1.LLGLTFMaterialOverride.fromFullMaterialJSON(json);
|
|
141
|
+
assert.equal(m2.roughnessFactor, m.roughnessFactor);
|
|
142
|
+
assert.equal(m2.doubleSided, m.doubleSided);
|
|
143
|
+
assert.equal(m2.alphaCutoff, m.alphaCutoff);
|
|
144
|
+
assert.equal(m2.alphaMode, m.alphaMode);
|
|
145
|
+
assert.equal(m2.metallicFactor, m.metallicFactor);
|
|
146
|
+
assert.equal((_a = m2.baseColor) === null || _a === void 0 ? void 0 : _a.length, (_b = m.baseColor) === null || _b === void 0 ? void 0 : _b.length);
|
|
147
|
+
assert.equal((_c = m2.baseColor) === null || _c === void 0 ? void 0 : _c[0], (_d = m.baseColor) === null || _d === void 0 ? void 0 : _d[0]);
|
|
148
|
+
assert.equal((_e = m2.baseColor) === null || _e === void 0 ? void 0 : _e[1], (_f = m.baseColor) === null || _f === void 0 ? void 0 : _f[1]);
|
|
149
|
+
assert.equal((_g = m2.baseColor) === null || _g === void 0 ? void 0 : _g[2], (_h = m.baseColor) === null || _h === void 0 ? void 0 : _h[2]);
|
|
150
|
+
assert.equal((_j = m2.baseColor) === null || _j === void 0 ? void 0 : _j[3], (_k = m.baseColor) === null || _k === void 0 ? void 0 : _k[3]);
|
|
151
|
+
assert.equal((_l = m2.emissiveFactor) === null || _l === void 0 ? void 0 : _l.length, (_m = m.emissiveFactor) === null || _m === void 0 ? void 0 : _m.length);
|
|
152
|
+
assert.equal((_o = m2.emissiveFactor) === null || _o === void 0 ? void 0 : _o[0], (_p = m.emissiveFactor) === null || _p === void 0 ? void 0 : _p[0]);
|
|
153
|
+
assert.equal((_q = m2.emissiveFactor) === null || _q === void 0 ? void 0 : _q[1], (_r = m.emissiveFactor) === null || _r === void 0 ? void 0 : _r[1]);
|
|
154
|
+
assert.equal((_s = m2.emissiveFactor) === null || _s === void 0 ? void 0 : _s[2], (_t = m.emissiveFactor) === null || _t === void 0 ? void 0 : _t[2]);
|
|
155
|
+
assert.equal((_u = m2.textures) === null || _u === void 0 ? void 0 : _u.length, (_v = m.textures) === null || _v === void 0 ? void 0 : _v.length);
|
|
156
|
+
assert.equal((_w = m2.textures) === null || _w === void 0 ? void 0 : _w[0], (_x = m.textures) === null || _x === void 0 ? void 0 : _x[0]);
|
|
157
|
+
assert.equal((_y = m2.textures) === null || _y === void 0 ? void 0 : _y[1], (_z = m.textures) === null || _z === void 0 ? void 0 : _z[1]);
|
|
158
|
+
assert.equal((_0 = m2.textures) === null || _0 === void 0 ? void 0 : _0[2], (_1 = m.textures) === null || _1 === void 0 ? void 0 : _1[2]);
|
|
159
|
+
assert.equal((_2 = m2.textures) === null || _2 === void 0 ? void 0 : _2[3], (_3 = m.textures) === null || _3 === void 0 ? void 0 : _3[3]);
|
|
160
|
+
assert.equal((_4 = m2.textureTransforms) === null || _4 === void 0 ? void 0 : _4.length, (_5 = m.textureTransforms) === null || _5 === void 0 ? void 0 : _5.length);
|
|
161
|
+
assert.equal((_8 = (_7 = (_6 = m2.textureTransforms) === null || _6 === void 0 ? void 0 : _6[0]) === null || _7 === void 0 ? void 0 : _7.offset) === null || _8 === void 0 ? void 0 : _8[0], (_11 = (_10 = (_9 = m.textureTransforms) === null || _9 === void 0 ? void 0 : _9[0]) === null || _10 === void 0 ? void 0 : _10.offset) === null || _11 === void 0 ? void 0 : _11[0]);
|
|
162
|
+
assert.equal((_14 = (_13 = (_12 = m2.textureTransforms) === null || _12 === void 0 ? void 0 : _12[0]) === null || _13 === void 0 ? void 0 : _13.offset) === null || _14 === void 0 ? void 0 : _14[1], (_17 = (_16 = (_15 = m.textureTransforms) === null || _15 === void 0 ? void 0 : _15[0]) === null || _16 === void 0 ? void 0 : _16.offset) === null || _17 === void 0 ? void 0 : _17[1]);
|
|
163
|
+
assert.equal((_20 = (_19 = (_18 = m2.textureTransforms) === null || _18 === void 0 ? void 0 : _18[0]) === null || _19 === void 0 ? void 0 : _19.scale) === null || _20 === void 0 ? void 0 : _20[0], (_23 = (_22 = (_21 = m.textureTransforms) === null || _21 === void 0 ? void 0 : _21[0]) === null || _22 === void 0 ? void 0 : _22.scale) === null || _23 === void 0 ? void 0 : _23[0]);
|
|
164
|
+
assert.equal((_26 = (_25 = (_24 = m2.textureTransforms) === null || _24 === void 0 ? void 0 : _24[0]) === null || _25 === void 0 ? void 0 : _25.scale) === null || _26 === void 0 ? void 0 : _26[1], (_29 = (_28 = (_27 = m.textureTransforms) === null || _27 === void 0 ? void 0 : _27[0]) === null || _28 === void 0 ? void 0 : _28.scale) === null || _29 === void 0 ? void 0 : _29[1]);
|
|
165
|
+
assert.equal((_31 = (_30 = m2.textureTransforms) === null || _30 === void 0 ? void 0 : _30[0]) === null || _31 === void 0 ? void 0 : _31.rotation, (_33 = (_32 = m.textureTransforms) === null || _32 === void 0 ? void 0 : _32[0]) === null || _33 === void 0 ? void 0 : _33.rotation);
|
|
166
|
+
assert.equal((_36 = (_35 = (_34 = m2.textureTransforms) === null || _34 === void 0 ? void 0 : _34[1]) === null || _35 === void 0 ? void 0 : _35.offset) === null || _36 === void 0 ? void 0 : _36[0], (_39 = (_38 = (_37 = m.textureTransforms) === null || _37 === void 0 ? void 0 : _37[1]) === null || _38 === void 0 ? void 0 : _38.offset) === null || _39 === void 0 ? void 0 : _39[0]);
|
|
167
|
+
assert.equal((_42 = (_41 = (_40 = m2.textureTransforms) === null || _40 === void 0 ? void 0 : _40[1]) === null || _41 === void 0 ? void 0 : _41.offset) === null || _42 === void 0 ? void 0 : _42[1], (_45 = (_44 = (_43 = m.textureTransforms) === null || _43 === void 0 ? void 0 : _43[1]) === null || _44 === void 0 ? void 0 : _44.offset) === null || _45 === void 0 ? void 0 : _45[1]);
|
|
168
|
+
assert.equal((_48 = (_47 = (_46 = m2.textureTransforms) === null || _46 === void 0 ? void 0 : _46[1]) === null || _47 === void 0 ? void 0 : _47.scale) === null || _48 === void 0 ? void 0 : _48[0], (_51 = (_50 = (_49 = m.textureTransforms) === null || _49 === void 0 ? void 0 : _49[1]) === null || _50 === void 0 ? void 0 : _50.scale) === null || _51 === void 0 ? void 0 : _51[0]);
|
|
169
|
+
assert.equal((_54 = (_53 = (_52 = m2.textureTransforms) === null || _52 === void 0 ? void 0 : _52[1]) === null || _53 === void 0 ? void 0 : _53.scale) === null || _54 === void 0 ? void 0 : _54[1], (_57 = (_56 = (_55 = m.textureTransforms) === null || _55 === void 0 ? void 0 : _55[1]) === null || _56 === void 0 ? void 0 : _56.scale) === null || _57 === void 0 ? void 0 : _57[1]);
|
|
170
|
+
assert.equal((_59 = (_58 = m2.textureTransforms) === null || _58 === void 0 ? void 0 : _58[1]) === null || _59 === void 0 ? void 0 : _59.rotation, (_61 = (_60 = m.textureTransforms) === null || _60 === void 0 ? void 0 : _60[1]) === null || _61 === void 0 ? void 0 : _61.rotation);
|
|
171
|
+
assert.equal((_64 = (_63 = (_62 = m2.textureTransforms) === null || _62 === void 0 ? void 0 : _62[2]) === null || _63 === void 0 ? void 0 : _63.offset) === null || _64 === void 0 ? void 0 : _64[0], (_67 = (_66 = (_65 = m.textureTransforms) === null || _65 === void 0 ? void 0 : _65[2]) === null || _66 === void 0 ? void 0 : _66.offset) === null || _67 === void 0 ? void 0 : _67[0]);
|
|
172
|
+
assert.equal((_70 = (_69 = (_68 = m2.textureTransforms) === null || _68 === void 0 ? void 0 : _68[2]) === null || _69 === void 0 ? void 0 : _69.offset) === null || _70 === void 0 ? void 0 : _70[1], (_73 = (_72 = (_71 = m.textureTransforms) === null || _71 === void 0 ? void 0 : _71[2]) === null || _72 === void 0 ? void 0 : _72.offset) === null || _73 === void 0 ? void 0 : _73[1]);
|
|
173
|
+
assert.equal((_76 = (_75 = (_74 = m2.textureTransforms) === null || _74 === void 0 ? void 0 : _74[2]) === null || _75 === void 0 ? void 0 : _75.scale) === null || _76 === void 0 ? void 0 : _76[0], (_79 = (_78 = (_77 = m.textureTransforms) === null || _77 === void 0 ? void 0 : _77[2]) === null || _78 === void 0 ? void 0 : _78.scale) === null || _79 === void 0 ? void 0 : _79[0]);
|
|
174
|
+
assert.equal((_82 = (_81 = (_80 = m2.textureTransforms) === null || _80 === void 0 ? void 0 : _80[2]) === null || _81 === void 0 ? void 0 : _81.scale) === null || _82 === void 0 ? void 0 : _82[1], (_85 = (_84 = (_83 = m.textureTransforms) === null || _83 === void 0 ? void 0 : _83[2]) === null || _84 === void 0 ? void 0 : _84.scale) === null || _85 === void 0 ? void 0 : _85[1]);
|
|
175
|
+
assert.equal((_87 = (_86 = m2.textureTransforms) === null || _86 === void 0 ? void 0 : _86[2]) === null || _87 === void 0 ? void 0 : _87.rotation, (_89 = (_88 = m.textureTransforms) === null || _88 === void 0 ? void 0 : _88[2]) === null || _89 === void 0 ? void 0 : _89.rotation);
|
|
176
|
+
assert.equal((_92 = (_91 = (_90 = m2.textureTransforms) === null || _90 === void 0 ? void 0 : _90[3]) === null || _91 === void 0 ? void 0 : _91.offset) === null || _92 === void 0 ? void 0 : _92[0], (_95 = (_94 = (_93 = m.textureTransforms) === null || _93 === void 0 ? void 0 : _93[3]) === null || _94 === void 0 ? void 0 : _94.offset) === null || _95 === void 0 ? void 0 : _95[0]);
|
|
177
|
+
assert.equal((_98 = (_97 = (_96 = m2.textureTransforms) === null || _96 === void 0 ? void 0 : _96[3]) === null || _97 === void 0 ? void 0 : _97.offset) === null || _98 === void 0 ? void 0 : _98[1], (_101 = (_100 = (_99 = m.textureTransforms) === null || _99 === void 0 ? void 0 : _99[3]) === null || _100 === void 0 ? void 0 : _100.offset) === null || _101 === void 0 ? void 0 : _101[1]);
|
|
178
|
+
assert.equal((_104 = (_103 = (_102 = m2.textureTransforms) === null || _102 === void 0 ? void 0 : _102[3]) === null || _103 === void 0 ? void 0 : _103.scale) === null || _104 === void 0 ? void 0 : _104[0], (_107 = (_106 = (_105 = m.textureTransforms) === null || _105 === void 0 ? void 0 : _105[3]) === null || _106 === void 0 ? void 0 : _106.scale) === null || _107 === void 0 ? void 0 : _107[0]);
|
|
179
|
+
assert.equal((_110 = (_109 = (_108 = m2.textureTransforms) === null || _108 === void 0 ? void 0 : _108[3]) === null || _109 === void 0 ? void 0 : _109.scale) === null || _110 === void 0 ? void 0 : _110[1], (_113 = (_112 = (_111 = m.textureTransforms) === null || _111 === void 0 ? void 0 : _111[3]) === null || _112 === void 0 ? void 0 : _112.scale) === null || _113 === void 0 ? void 0 : _113[1]);
|
|
180
|
+
assert.equal((_115 = (_114 = m2.textureTransforms) === null || _114 === void 0 ? void 0 : _114[3]) === null || _115 === void 0 ? void 0 : _115.rotation, (_117 = (_116 = m.textureTransforms) === null || _116 === void 0 ? void 0 : _116[3]) === null || _117 === void 0 ? void 0 : _117.rotation);
|
|
181
|
+
json = m3.getFullMaterialJSON();
|
|
182
|
+
const m4 = LLGLTFMaterialOverride_1.LLGLTFMaterialOverride.fromFullMaterialJSON(json);
|
|
183
|
+
assert.equal(m4.roughnessFactor, m3.roughnessFactor);
|
|
184
|
+
assert.equal(m4.doubleSided, m3.doubleSided);
|
|
185
|
+
assert.equal(m4.alphaCutoff, m3.alphaCutoff);
|
|
186
|
+
assert.equal(m4.alphaMode, m3.alphaMode);
|
|
187
|
+
assert.equal(m4.metallicFactor, m3.metallicFactor);
|
|
188
|
+
assert.equal((_118 = m4.baseColor) === null || _118 === void 0 ? void 0 : _118.length, (_119 = m3.baseColor) === null || _119 === void 0 ? void 0 : _119.length);
|
|
189
|
+
assert.equal((_120 = m4.baseColor) === null || _120 === void 0 ? void 0 : _120[0], (_121 = m3.baseColor) === null || _121 === void 0 ? void 0 : _121[0]);
|
|
190
|
+
assert.equal((_122 = m4.baseColor) === null || _122 === void 0 ? void 0 : _122[1], (_123 = m3.baseColor) === null || _123 === void 0 ? void 0 : _123[1]);
|
|
191
|
+
assert.equal((_124 = m4.baseColor) === null || _124 === void 0 ? void 0 : _124[2], (_125 = m3.baseColor) === null || _125 === void 0 ? void 0 : _125[2]);
|
|
192
|
+
assert.equal((_126 = m4.baseColor) === null || _126 === void 0 ? void 0 : _126[3], (_127 = m3.baseColor) === null || _127 === void 0 ? void 0 : _127[3]);
|
|
193
|
+
assert.equal((_128 = m4.emissiveFactor) === null || _128 === void 0 ? void 0 : _128.length, (_129 = m3.emissiveFactor) === null || _129 === void 0 ? void 0 : _129.length);
|
|
194
|
+
assert.equal((_130 = m4.emissiveFactor) === null || _130 === void 0 ? void 0 : _130[0], (_131 = m3.emissiveFactor) === null || _131 === void 0 ? void 0 : _131[0]);
|
|
195
|
+
assert.equal((_132 = m4.emissiveFactor) === null || _132 === void 0 ? void 0 : _132[1], (_133 = m3.emissiveFactor) === null || _133 === void 0 ? void 0 : _133[1]);
|
|
196
|
+
assert.equal((_134 = m4.emissiveFactor) === null || _134 === void 0 ? void 0 : _134[2], (_135 = m3.emissiveFactor) === null || _135 === void 0 ? void 0 : _135[2]);
|
|
197
|
+
assert.equal((_136 = m4.textures) === null || _136 === void 0 ? void 0 : _136.length, (_137 = m3.textures) === null || _137 === void 0 ? void 0 : _137.length);
|
|
198
|
+
assert.equal((_138 = m4.textures) === null || _138 === void 0 ? void 0 : _138[0], (_139 = m3.textures) === null || _139 === void 0 ? void 0 : _139[0]);
|
|
199
|
+
assert.equal((_140 = m4.textures) === null || _140 === void 0 ? void 0 : _140[1], (_141 = m3.textures) === null || _141 === void 0 ? void 0 : _141[1]);
|
|
200
|
+
assert.equal((_142 = m4.textures) === null || _142 === void 0 ? void 0 : _142[2], (_143 = m3.textures) === null || _143 === void 0 ? void 0 : _143[2]);
|
|
201
|
+
assert.equal((_144 = m4.textures) === null || _144 === void 0 ? void 0 : _144[3], (_145 = m3.textures) === null || _145 === void 0 ? void 0 : _145[3]);
|
|
202
|
+
assert.equal((_146 = m4.textureTransforms) === null || _146 === void 0 ? void 0 : _146.length, (_147 = m3.textureTransforms) === null || _147 === void 0 ? void 0 : _147.length);
|
|
203
|
+
assert.equal((_150 = (_149 = (_148 = m4.textureTransforms) === null || _148 === void 0 ? void 0 : _148[0]) === null || _149 === void 0 ? void 0 : _149.offset) === null || _150 === void 0 ? void 0 : _150[0], (_153 = (_152 = (_151 = m3.textureTransforms) === null || _151 === void 0 ? void 0 : _151[0]) === null || _152 === void 0 ? void 0 : _152.offset) === null || _153 === void 0 ? void 0 : _153[0]);
|
|
204
|
+
assert.equal((_156 = (_155 = (_154 = m4.textureTransforms) === null || _154 === void 0 ? void 0 : _154[0]) === null || _155 === void 0 ? void 0 : _155.offset) === null || _156 === void 0 ? void 0 : _156[1], (_159 = (_158 = (_157 = m3.textureTransforms) === null || _157 === void 0 ? void 0 : _157[0]) === null || _158 === void 0 ? void 0 : _158.offset) === null || _159 === void 0 ? void 0 : _159[1]);
|
|
205
|
+
assert.equal((_162 = (_161 = (_160 = m4.textureTransforms) === null || _160 === void 0 ? void 0 : _160[0]) === null || _161 === void 0 ? void 0 : _161.scale) === null || _162 === void 0 ? void 0 : _162[0], (_165 = (_164 = (_163 = m3.textureTransforms) === null || _163 === void 0 ? void 0 : _163[0]) === null || _164 === void 0 ? void 0 : _164.scale) === null || _165 === void 0 ? void 0 : _165[0]);
|
|
206
|
+
assert.equal((_168 = (_167 = (_166 = m4.textureTransforms) === null || _166 === void 0 ? void 0 : _166[0]) === null || _167 === void 0 ? void 0 : _167.scale) === null || _168 === void 0 ? void 0 : _168[1], (_171 = (_170 = (_169 = m3.textureTransforms) === null || _169 === void 0 ? void 0 : _169[0]) === null || _170 === void 0 ? void 0 : _170.scale) === null || _171 === void 0 ? void 0 : _171[1]);
|
|
207
|
+
assert.equal((_173 = (_172 = m4.textureTransforms) === null || _172 === void 0 ? void 0 : _172[0]) === null || _173 === void 0 ? void 0 : _173.rotation, (_175 = (_174 = m3.textureTransforms) === null || _174 === void 0 ? void 0 : _174[0]) === null || _175 === void 0 ? void 0 : _175.rotation);
|
|
208
|
+
assert.equal((_178 = (_177 = (_176 = m4.textureTransforms) === null || _176 === void 0 ? void 0 : _176[1]) === null || _177 === void 0 ? void 0 : _177.offset) === null || _178 === void 0 ? void 0 : _178[0], (_181 = (_180 = (_179 = m3.textureTransforms) === null || _179 === void 0 ? void 0 : _179[1]) === null || _180 === void 0 ? void 0 : _180.offset) === null || _181 === void 0 ? void 0 : _181[0]);
|
|
209
|
+
assert.equal((_184 = (_183 = (_182 = m4.textureTransforms) === null || _182 === void 0 ? void 0 : _182[1]) === null || _183 === void 0 ? void 0 : _183.offset) === null || _184 === void 0 ? void 0 : _184[1], (_187 = (_186 = (_185 = m3.textureTransforms) === null || _185 === void 0 ? void 0 : _185[1]) === null || _186 === void 0 ? void 0 : _186.offset) === null || _187 === void 0 ? void 0 : _187[1]);
|
|
210
|
+
assert.equal((_190 = (_189 = (_188 = m4.textureTransforms) === null || _188 === void 0 ? void 0 : _188[1]) === null || _189 === void 0 ? void 0 : _189.scale) === null || _190 === void 0 ? void 0 : _190[0], (_193 = (_192 = (_191 = m3.textureTransforms) === null || _191 === void 0 ? void 0 : _191[1]) === null || _192 === void 0 ? void 0 : _192.scale) === null || _193 === void 0 ? void 0 : _193[0]);
|
|
211
|
+
assert.equal((_196 = (_195 = (_194 = m4.textureTransforms) === null || _194 === void 0 ? void 0 : _194[1]) === null || _195 === void 0 ? void 0 : _195.scale) === null || _196 === void 0 ? void 0 : _196[1], (_199 = (_198 = (_197 = m3.textureTransforms) === null || _197 === void 0 ? void 0 : _197[1]) === null || _198 === void 0 ? void 0 : _198.scale) === null || _199 === void 0 ? void 0 : _199[1]);
|
|
212
|
+
assert.equal((_201 = (_200 = m4.textureTransforms) === null || _200 === void 0 ? void 0 : _200[1]) === null || _201 === void 0 ? void 0 : _201.rotation, (_203 = (_202 = m3.textureTransforms) === null || _202 === void 0 ? void 0 : _202[1]) === null || _203 === void 0 ? void 0 : _203.rotation);
|
|
213
|
+
assert.equal((_206 = (_205 = (_204 = m4.textureTransforms) === null || _204 === void 0 ? void 0 : _204[2]) === null || _205 === void 0 ? void 0 : _205.offset) === null || _206 === void 0 ? void 0 : _206[0], (_209 = (_208 = (_207 = m3.textureTransforms) === null || _207 === void 0 ? void 0 : _207[2]) === null || _208 === void 0 ? void 0 : _208.offset) === null || _209 === void 0 ? void 0 : _209[0]);
|
|
214
|
+
assert.equal((_212 = (_211 = (_210 = m4.textureTransforms) === null || _210 === void 0 ? void 0 : _210[2]) === null || _211 === void 0 ? void 0 : _211.offset) === null || _212 === void 0 ? void 0 : _212[1], (_215 = (_214 = (_213 = m3.textureTransforms) === null || _213 === void 0 ? void 0 : _213[2]) === null || _214 === void 0 ? void 0 : _214.offset) === null || _215 === void 0 ? void 0 : _215[1]);
|
|
215
|
+
assert.equal((_218 = (_217 = (_216 = m4.textureTransforms) === null || _216 === void 0 ? void 0 : _216[2]) === null || _217 === void 0 ? void 0 : _217.scale) === null || _218 === void 0 ? void 0 : _218[0], (_221 = (_220 = (_219 = m3.textureTransforms) === null || _219 === void 0 ? void 0 : _219[2]) === null || _220 === void 0 ? void 0 : _220.scale) === null || _221 === void 0 ? void 0 : _221[0]);
|
|
216
|
+
assert.equal((_224 = (_223 = (_222 = m4.textureTransforms) === null || _222 === void 0 ? void 0 : _222[2]) === null || _223 === void 0 ? void 0 : _223.scale) === null || _224 === void 0 ? void 0 : _224[1], (_227 = (_226 = (_225 = m3.textureTransforms) === null || _225 === void 0 ? void 0 : _225[2]) === null || _226 === void 0 ? void 0 : _226.scale) === null || _227 === void 0 ? void 0 : _227[1]);
|
|
217
|
+
assert.equal((_229 = (_228 = m4.textureTransforms) === null || _228 === void 0 ? void 0 : _228[2]) === null || _229 === void 0 ? void 0 : _229.rotation, (_231 = (_230 = m3.textureTransforms) === null || _230 === void 0 ? void 0 : _230[2]) === null || _231 === void 0 ? void 0 : _231.rotation);
|
|
218
|
+
assert.equal((_234 = (_233 = (_232 = m4.textureTransforms) === null || _232 === void 0 ? void 0 : _232[3]) === null || _233 === void 0 ? void 0 : _233.offset) === null || _234 === void 0 ? void 0 : _234[0], (_237 = (_236 = (_235 = m3.textureTransforms) === null || _235 === void 0 ? void 0 : _235[3]) === null || _236 === void 0 ? void 0 : _236.offset) === null || _237 === void 0 ? void 0 : _237[0]);
|
|
219
|
+
assert.equal((_240 = (_239 = (_238 = m4.textureTransforms) === null || _238 === void 0 ? void 0 : _238[3]) === null || _239 === void 0 ? void 0 : _239.offset) === null || _240 === void 0 ? void 0 : _240[1], (_243 = (_242 = (_241 = m3.textureTransforms) === null || _241 === void 0 ? void 0 : _241[3]) === null || _242 === void 0 ? void 0 : _242.offset) === null || _243 === void 0 ? void 0 : _243[1]);
|
|
220
|
+
assert.equal((_246 = (_245 = (_244 = m4.textureTransforms) === null || _244 === void 0 ? void 0 : _244[3]) === null || _245 === void 0 ? void 0 : _245.scale) === null || _246 === void 0 ? void 0 : _246[0], (_249 = (_248 = (_247 = m3.textureTransforms) === null || _247 === void 0 ? void 0 : _247[3]) === null || _248 === void 0 ? void 0 : _248.scale) === null || _249 === void 0 ? void 0 : _249[0]);
|
|
221
|
+
assert.equal((_252 = (_251 = (_250 = m4.textureTransforms) === null || _250 === void 0 ? void 0 : _250[3]) === null || _251 === void 0 ? void 0 : _251.scale) === null || _252 === void 0 ? void 0 : _252[1], (_255 = (_254 = (_253 = m3.textureTransforms) === null || _253 === void 0 ? void 0 : _253[3]) === null || _254 === void 0 ? void 0 : _254.scale) === null || _255 === void 0 ? void 0 : _255[1]);
|
|
222
|
+
assert.equal((_257 = (_256 = m4.textureTransforms) === null || _256 === void 0 ? void 0 : _256[3]) === null || _257 === void 0 ? void 0 : _257.rotation, (_259 = (_258 = m3.textureTransforms) === null || _258 === void 0 ? void 0 : _258[3]) === null || _259 === void 0 ? void 0 : _259.rotation);
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=LLGLTFMaterialOverride.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLGLTFMaterialOverride.spec.js","sourceRoot":"","sources":["../../../lib/classes/LLGLTFMaterialOverride.spec.ts"],"names":[],"mappings":"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"}
|