@shapediver/viewer.data-engine.geometry-engine 2.10.1-rc.0 → 2.12.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/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +18 -14
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +53 -49
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +98 -94
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +2 -2
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +67 -63
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +15 -11
- package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.js +10 -6
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js +5 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.js +19 -15
- package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +78 -60
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts +4 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +27 -20
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/src/GeometryEngine.ts +29 -29
- package/src/gltfv1/GLTFLoader.ts +31 -31
- package/src/gltfv2/GLTFLoader.ts +66 -66
- package/src/gltfv2/loaders/BufferLoader.ts +10 -10
- package/src/gltfv2/loaders/MaterialLoader.ts +39 -33
- package/src/gltfv2/loaders/TextureLoader.ts +41 -30
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,20 +8,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.MaterialLoader = void 0;
|
|
13
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
14
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
15
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
16
|
+
const viewer_data_engine_material_engine_1 = require("@shapediver/viewer.data-engine.material-engine");
|
|
17
|
+
const GLTFLoader_1 = require("../GLTFLoader");
|
|
18
|
+
class MaterialLoader {
|
|
16
19
|
// #endregion Properties (4)
|
|
17
20
|
// #region Constructors (1)
|
|
18
21
|
constructor(_content, _textureLoader) {
|
|
19
22
|
this._content = _content;
|
|
20
23
|
this._textureLoader = _textureLoader;
|
|
21
24
|
// #region Properties (4)
|
|
22
|
-
this._converter = Converter.instance;
|
|
23
|
-
this._materialEngine = MaterialEngine.instance;
|
|
25
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
26
|
+
this._materialEngine = viewer_data_engine_material_engine_1.MaterialEngine.instance;
|
|
24
27
|
this._loaded = {};
|
|
25
28
|
}
|
|
26
29
|
// #endregion Constructors (1)
|
|
@@ -39,7 +42,7 @@ export class MaterialLoader {
|
|
|
39
42
|
this._loaded = {};
|
|
40
43
|
if (!this._content.materials)
|
|
41
44
|
return;
|
|
42
|
-
|
|
45
|
+
const promises = [];
|
|
43
46
|
for (let i = 0; i < this._content.materials.length; i++) {
|
|
44
47
|
const materialId = i;
|
|
45
48
|
const material = this._content.materials[materialId];
|
|
@@ -47,24 +50,27 @@ export class MaterialLoader {
|
|
|
47
50
|
const materialDataProperties = {};
|
|
48
51
|
if (material.name !== undefined)
|
|
49
52
|
materialDataProperties.name = material.name;
|
|
50
|
-
if (materialExtensions[GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET]) {
|
|
51
|
-
const materialPreset = materialExtensions[GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET];
|
|
52
|
-
promises.push(new Promise((resolve, reject) =>
|
|
53
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET]) {
|
|
54
|
+
const materialPreset = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.SHAPEDIVER_MATERIALS_PRESET];
|
|
55
|
+
promises.push(new Promise((resolve, reject) => {
|
|
53
56
|
try {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
this._materialEngine.loadPresetMaterial(materialPreset.materialpreset)
|
|
58
|
+
.then(materialData => {
|
|
59
|
+
materialData.name = material.name;
|
|
60
|
+
materialData.color = materialPreset.color;
|
|
61
|
+
this._loaded[materialId] = materialData;
|
|
62
|
+
resolve();
|
|
63
|
+
})
|
|
64
|
+
.catch(reject);
|
|
59
65
|
}
|
|
60
66
|
catch (e) {
|
|
61
67
|
reject(e);
|
|
62
68
|
}
|
|
63
|
-
}))
|
|
69
|
+
}));
|
|
64
70
|
continue;
|
|
65
71
|
}
|
|
66
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
67
|
-
const pbrSpecularGlossiness = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS];
|
|
72
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
73
|
+
const pbrSpecularGlossiness = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS];
|
|
68
74
|
const specularGlossinessMaterialDataProperties = materialDataProperties;
|
|
69
75
|
specularGlossinessMaterialDataProperties.color = '#ffffff';
|
|
70
76
|
specularGlossinessMaterialDataProperties.opacity = 1.0;
|
|
@@ -73,7 +79,7 @@ export class MaterialLoader {
|
|
|
73
79
|
specularGlossinessMaterialDataProperties.opacity = pbrSpecularGlossiness.diffuseFactor[3];
|
|
74
80
|
}
|
|
75
81
|
if (pbrSpecularGlossiness.diffuseTexture !== undefined) {
|
|
76
|
-
const diffuseTextureOptions = pbrSpecularGlossiness.diffuseTexture.extensions && pbrSpecularGlossiness.diffuseTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.diffuseTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
82
|
+
const diffuseTextureOptions = pbrSpecularGlossiness.diffuseTexture.extensions && pbrSpecularGlossiness.diffuseTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.diffuseTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
77
83
|
if (pbrSpecularGlossiness.diffuseTexture.texCoord !== undefined)
|
|
78
84
|
diffuseTextureOptions.texCoord = pbrSpecularGlossiness.diffuseTexture.texCoord;
|
|
79
85
|
specularGlossinessMaterialDataProperties.map = this.loadMap(pbrSpecularGlossiness.diffuseTexture.index, diffuseTextureOptions);
|
|
@@ -85,13 +91,13 @@ export class MaterialLoader {
|
|
|
85
91
|
specularGlossinessMaterialDataProperties.specular = [pbrSpecularGlossiness.specularFactor[0] * 255, pbrSpecularGlossiness.specularFactor[1] * 255, pbrSpecularGlossiness.specularFactor[2] * 255];
|
|
86
92
|
}
|
|
87
93
|
if (pbrSpecularGlossiness.specularGlossinessTexture !== undefined) {
|
|
88
|
-
const specularGlossinessTextureOptions = pbrSpecularGlossiness.specularGlossinessTexture.extensions && pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
94
|
+
const specularGlossinessTextureOptions = pbrSpecularGlossiness.specularGlossinessTexture.extensions && pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? pbrSpecularGlossiness.specularGlossinessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
89
95
|
if (pbrSpecularGlossiness.specularGlossinessTexture.texCoord !== undefined)
|
|
90
96
|
specularGlossinessTextureOptions.texCoord = pbrSpecularGlossiness.specularGlossinessTexture.texCoord;
|
|
91
97
|
specularGlossinessMaterialDataProperties.specularGlossinessMap = this.loadMap(pbrSpecularGlossiness.specularGlossinessTexture.index, specularGlossinessTextureOptions);
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
|
-
else if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
100
|
+
else if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
95
101
|
const unlitMaterialDataProperties = materialDataProperties;
|
|
96
102
|
unlitMaterialDataProperties.color = '#ffffff';
|
|
97
103
|
unlitMaterialDataProperties.opacity = 1.0;
|
|
@@ -101,7 +107,7 @@ export class MaterialLoader {
|
|
|
101
107
|
unlitMaterialDataProperties.opacity = material.pbrMetallicRoughness.baseColorFactor[3];
|
|
102
108
|
}
|
|
103
109
|
if (material.pbrMetallicRoughness.baseColorTexture !== undefined) {
|
|
104
|
-
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
110
|
+
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
105
111
|
if (material.pbrMetallicRoughness.baseColorTexture.texCoord !== undefined)
|
|
106
112
|
baseColorTextureOptions.texCoord = material.pbrMetallicRoughness.baseColorTexture.texCoord;
|
|
107
113
|
unlitMaterialDataProperties.map = this.loadMap(material.pbrMetallicRoughness.baseColorTexture.index, baseColorTextureOptions);
|
|
@@ -117,7 +123,7 @@ export class MaterialLoader {
|
|
|
117
123
|
standardMaterialDataProperties.opacity = material.pbrMetallicRoughness.baseColorFactor[3];
|
|
118
124
|
}
|
|
119
125
|
if (material.pbrMetallicRoughness.baseColorTexture !== undefined) {
|
|
120
|
-
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
126
|
+
const baseColorTextureOptions = material.pbrMetallicRoughness.baseColorTexture.extensions && material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.baseColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
121
127
|
if (material.pbrMetallicRoughness.baseColorTexture.texCoord !== undefined)
|
|
122
128
|
baseColorTextureOptions.texCoord = material.pbrMetallicRoughness.baseColorTexture.texCoord;
|
|
123
129
|
standardMaterialDataProperties.map = this.loadMap(material.pbrMetallicRoughness.baseColorTexture.index, baseColorTextureOptions);
|
|
@@ -129,7 +135,7 @@ export class MaterialLoader {
|
|
|
129
135
|
standardMaterialDataProperties.roughness = material.pbrMetallicRoughness.roughnessFactor;
|
|
130
136
|
}
|
|
131
137
|
if (material.pbrMetallicRoughness.metallicRoughnessTexture !== undefined) {
|
|
132
|
-
const metallicRoughnessTextureOptions = material.pbrMetallicRoughness.metallicRoughnessTexture.extensions && material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
138
|
+
const metallicRoughnessTextureOptions = material.pbrMetallicRoughness.metallicRoughnessTexture.extensions && material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.pbrMetallicRoughness.metallicRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
133
139
|
if (material.pbrMetallicRoughness.metallicRoughnessTexture.texCoord !== undefined)
|
|
134
140
|
metallicRoughnessTextureOptions.texCoord = material.pbrMetallicRoughness.metallicRoughnessTexture.texCoord;
|
|
135
141
|
standardMaterialDataProperties.metalnessRoughnessMap = this.loadMap(material.pbrMetallicRoughness.metallicRoughnessTexture.index, metallicRoughnessTextureOptions);
|
|
@@ -140,7 +146,7 @@ export class MaterialLoader {
|
|
|
140
146
|
* Loading of the general properties
|
|
141
147
|
*/
|
|
142
148
|
if (material.normalTexture !== undefined) {
|
|
143
|
-
const normalTextureOptions = material.normalTexture.extensions && material.normalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.normalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
149
|
+
const normalTextureOptions = material.normalTexture.extensions && material.normalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.normalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
144
150
|
if (material.normalTexture.texCoord !== undefined)
|
|
145
151
|
normalTextureOptions.texCoord = material.normalTexture.texCoord;
|
|
146
152
|
materialDataProperties.normalMap = this.loadMap(material.normalTexture.index, normalTextureOptions);
|
|
@@ -150,7 +156,7 @@ export class MaterialLoader {
|
|
|
150
156
|
}
|
|
151
157
|
}
|
|
152
158
|
if (material.occlusionTexture !== undefined) {
|
|
153
|
-
const occlusionTextureOptions = material.occlusionTexture.extensions && material.occlusionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.occlusionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
159
|
+
const occlusionTextureOptions = material.occlusionTexture.extensions && material.occlusionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.occlusionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
154
160
|
if (material.occlusionTexture.texCoord !== undefined)
|
|
155
161
|
occlusionTextureOptions.texCoord = material.occlusionTexture.texCoord;
|
|
156
162
|
materialDataProperties.aoMap = this.loadMap(material.occlusionTexture.index, occlusionTextureOptions);
|
|
@@ -159,7 +165,7 @@ export class MaterialLoader {
|
|
|
159
165
|
}
|
|
160
166
|
}
|
|
161
167
|
if (material.emissiveTexture !== undefined) {
|
|
162
|
-
const emissiveTextureOptions = material.emissiveTexture.extensions && material.emissiveTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.emissiveTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
168
|
+
const emissiveTextureOptions = material.emissiveTexture.extensions && material.emissiveTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? material.emissiveTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
163
169
|
if (material.emissiveTexture.texCoord !== undefined)
|
|
164
170
|
emissiveTextureOptions.texCoord = material.emissiveTexture.texCoord;
|
|
165
171
|
materialDataProperties.emissiveMap = this.loadMap(material.emissiveTexture.index, emissiveTextureOptions);
|
|
@@ -168,8 +174,8 @@ export class MaterialLoader {
|
|
|
168
174
|
materialDataProperties.emissiveness = [material.emissiveFactor[0] * 255, material.emissiveFactor[1] * 255, material.emissiveFactor[2] * 255];
|
|
169
175
|
}
|
|
170
176
|
if (material.alphaMode !== undefined) {
|
|
171
|
-
materialDataProperties.alphaMode = material.alphaMode.toLowerCase() === MATERIAL_ALPHA.MASK ? MATERIAL_ALPHA.MASK : material.alphaMode.toLowerCase() === MATERIAL_ALPHA.BLEND ? MATERIAL_ALPHA.BLEND : MATERIAL_ALPHA.OPAQUE;
|
|
172
|
-
if (materialDataProperties.alphaMode === MATERIAL_ALPHA.MASK) {
|
|
177
|
+
materialDataProperties.alphaMode = material.alphaMode.toLowerCase() === viewer_shared_types_1.MATERIAL_ALPHA.MASK ? viewer_shared_types_1.MATERIAL_ALPHA.MASK : material.alphaMode.toLowerCase() === viewer_shared_types_1.MATERIAL_ALPHA.BLEND ? viewer_shared_types_1.MATERIAL_ALPHA.BLEND : viewer_shared_types_1.MATERIAL_ALPHA.OPAQUE;
|
|
178
|
+
if (materialDataProperties.alphaMode === viewer_shared_types_1.MATERIAL_ALPHA.MASK) {
|
|
173
179
|
materialDataProperties.alphaCutoff = material.alphaCutoff !== undefined ? material.alphaCutoff : 0.5;
|
|
174
180
|
}
|
|
175
181
|
}
|
|
@@ -177,31 +183,31 @@ export class MaterialLoader {
|
|
|
177
183
|
materialDataProperties.alphaCutoff = material.alphaCutoff;
|
|
178
184
|
}
|
|
179
185
|
if (material.doubleSided !== undefined) {
|
|
180
|
-
materialDataProperties.side = material.doubleSided ? MATERIAL_SIDE.DOUBLE : MATERIAL_SIDE.FRONT;
|
|
186
|
+
materialDataProperties.side = material.doubleSided ? viewer_shared_types_1.MATERIAL_SIDE.DOUBLE : viewer_shared_types_1.MATERIAL_SIDE.FRONT;
|
|
181
187
|
}
|
|
182
188
|
/**
|
|
183
189
|
* Early exit for specular glossiness and unlit materials
|
|
184
190
|
*/
|
|
185
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
191
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_PBRSPECULARGLOSSINESS]) {
|
|
186
192
|
const specularGlossinessMaterialDataProperties = materialDataProperties;
|
|
187
|
-
const materialData = new MaterialSpecularGlossinessData(specularGlossinessMaterialDataProperties);
|
|
193
|
+
const materialData = new viewer_shared_types_1.MaterialSpecularGlossinessData(specularGlossinessMaterialDataProperties);
|
|
188
194
|
this._loaded[materialId] = materialData;
|
|
189
195
|
continue;
|
|
190
196
|
}
|
|
191
|
-
else if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
197
|
+
else if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_UNLIT]) {
|
|
192
198
|
const unlitMaterialDataProperties = materialDataProperties;
|
|
193
|
-
const materialData = new MaterialUnlitData(unlitMaterialDataProperties);
|
|
199
|
+
const materialData = new viewer_shared_types_1.MaterialUnlitData(unlitMaterialDataProperties);
|
|
194
200
|
this._loaded[materialId] = materialData;
|
|
195
201
|
continue;
|
|
196
202
|
}
|
|
197
203
|
const standardMaterialDataProperties = materialDataProperties;
|
|
198
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT]) {
|
|
199
|
-
const clearcoatExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT];
|
|
204
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT]) {
|
|
205
|
+
const clearcoatExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_CLEARCOAT];
|
|
200
206
|
if (clearcoatExtension.clearcoatFactor !== undefined) {
|
|
201
207
|
standardMaterialDataProperties.clearcoat = clearcoatExtension.clearcoatFactor;
|
|
202
208
|
}
|
|
203
209
|
if (clearcoatExtension.clearcoatTexture !== undefined) {
|
|
204
|
-
const clearcoatTextureOptions = clearcoatExtension.clearcoatTexture.extensions && clearcoatExtension.clearcoatTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
210
|
+
const clearcoatTextureOptions = clearcoatExtension.clearcoatTexture.extensions && clearcoatExtension.clearcoatTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
205
211
|
if (clearcoatExtension.clearcoatTexture.texCoord !== undefined)
|
|
206
212
|
clearcoatTextureOptions.texCoord = clearcoatExtension.clearcoatTexture.texCoord;
|
|
207
213
|
standardMaterialDataProperties.clearcoatMap = this.loadMap(clearcoatExtension.clearcoatTexture.index, clearcoatTextureOptions);
|
|
@@ -210,43 +216,43 @@ export class MaterialLoader {
|
|
|
210
216
|
standardMaterialDataProperties.clearcoatRoughness = clearcoatExtension.clearcoatRoughnessFactor;
|
|
211
217
|
}
|
|
212
218
|
if (clearcoatExtension.clearcoatRoughnessTexture !== undefined) {
|
|
213
|
-
const clearcoatRoughnessTextureOptions = clearcoatExtension.clearcoatRoughnessTexture.extensions && clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
219
|
+
const clearcoatRoughnessTextureOptions = clearcoatExtension.clearcoatRoughnessTexture.extensions && clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
214
220
|
if (clearcoatExtension.clearcoatRoughnessTexture.texCoord !== undefined)
|
|
215
221
|
clearcoatRoughnessTextureOptions.texCoord = clearcoatExtension.clearcoatRoughnessTexture.texCoord;
|
|
216
222
|
standardMaterialDataProperties.clearcoatRoughnessMap = this.loadMap(clearcoatExtension.clearcoatRoughnessTexture.index, clearcoatRoughnessTextureOptions);
|
|
217
223
|
}
|
|
218
224
|
if (clearcoatExtension.clearcoatNormalTexture !== undefined) {
|
|
219
|
-
const clearcoatNormalTextureOptions = clearcoatExtension.clearcoatNormalTexture.extensions && clearcoatExtension.clearcoatNormalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatNormalTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
225
|
+
const clearcoatNormalTextureOptions = clearcoatExtension.clearcoatNormalTexture.extensions && clearcoatExtension.clearcoatNormalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? clearcoatExtension.clearcoatNormalTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
220
226
|
if (clearcoatExtension.clearcoatNormalTexture.texCoord !== undefined)
|
|
221
227
|
clearcoatNormalTextureOptions.texCoord = clearcoatExtension.clearcoatNormalTexture.texCoord;
|
|
222
228
|
standardMaterialDataProperties.clearcoatNormalMap = this.loadMap(clearcoatExtension.clearcoatNormalTexture.index, clearcoatNormalTextureOptions);
|
|
223
229
|
}
|
|
224
230
|
}
|
|
225
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_IOR]) {
|
|
226
|
-
const iorExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_IOR];
|
|
231
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_IOR]) {
|
|
232
|
+
const iorExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_IOR];
|
|
227
233
|
if (iorExtension.ior !== undefined) {
|
|
228
234
|
standardMaterialDataProperties.ior = iorExtension.ior;
|
|
229
235
|
}
|
|
230
236
|
}
|
|
231
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION]) {
|
|
232
|
-
const transmissionExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION];
|
|
237
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION]) {
|
|
238
|
+
const transmissionExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_TRANSMISSION];
|
|
233
239
|
if (transmissionExtension.transmissionFactor !== undefined) {
|
|
234
240
|
standardMaterialDataProperties.transmission = transmissionExtension.transmissionFactor;
|
|
235
241
|
}
|
|
236
242
|
if (transmissionExtension.transmissionTexture !== undefined) {
|
|
237
|
-
const transmissionTextureOptions = transmissionExtension.transmissionTexture.extensions && transmissionExtension.transmissionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? transmissionExtension.transmissionTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
243
|
+
const transmissionTextureOptions = transmissionExtension.transmissionTexture.extensions && transmissionExtension.transmissionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? transmissionExtension.transmissionTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
238
244
|
if (transmissionExtension.transmissionTexture.texCoord !== undefined)
|
|
239
245
|
transmissionTextureOptions.texCoord = transmissionExtension.transmissionTexture.texCoord;
|
|
240
246
|
standardMaterialDataProperties.transmissionMap = this.loadMap(transmissionExtension.transmissionTexture.index, transmissionTextureOptions);
|
|
241
247
|
}
|
|
242
248
|
}
|
|
243
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME]) {
|
|
244
|
-
const volumeExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME];
|
|
249
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME]) {
|
|
250
|
+
const volumeExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_VOLUME];
|
|
245
251
|
if (volumeExtension.thicknessFactor !== undefined) {
|
|
246
252
|
standardMaterialDataProperties.thickness = volumeExtension.thicknessFactor;
|
|
247
253
|
}
|
|
248
254
|
if (volumeExtension.thicknessTexture !== undefined) {
|
|
249
|
-
const thicknessTextureOptions = volumeExtension.thicknessTexture.extensions && volumeExtension.thicknessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? volumeExtension.thicknessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
255
|
+
const thicknessTextureOptions = volumeExtension.thicknessTexture.extensions && volumeExtension.thicknessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? volumeExtension.thicknessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
250
256
|
if (volumeExtension.thicknessTexture.texCoord !== undefined)
|
|
251
257
|
thicknessTextureOptions.texCoord = volumeExtension.thicknessTexture.texCoord;
|
|
252
258
|
standardMaterialDataProperties.thicknessMap = this.loadMap(volumeExtension.thicknessTexture.index, thicknessTextureOptions);
|
|
@@ -258,8 +264,8 @@ export class MaterialLoader {
|
|
|
258
264
|
standardMaterialDataProperties.attenuationColor = [volumeExtension.attenuationColor[0] * 255, volumeExtension.attenuationColor[1] * 255, volumeExtension.attenuationColor[2] * 255];
|
|
259
265
|
}
|
|
260
266
|
}
|
|
261
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN]) {
|
|
262
|
-
const sheenExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN];
|
|
267
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN]) {
|
|
268
|
+
const sheenExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SHEEN];
|
|
263
269
|
standardMaterialDataProperties.sheen = 1.0;
|
|
264
270
|
if (sheenExtension.sheenColorFactor !== undefined) {
|
|
265
271
|
standardMaterialDataProperties.sheenColor = [sheenExtension.sheenColorFactor[0] * 255, sheenExtension.sheenColorFactor[1] * 255, sheenExtension.sheenColorFactor[2] * 255];
|
|
@@ -268,20 +274,20 @@ export class MaterialLoader {
|
|
|
268
274
|
standardMaterialDataProperties.sheenRoughness = sheenExtension.sheenRoughnessFactor;
|
|
269
275
|
}
|
|
270
276
|
if (sheenExtension.sheenColorTexture !== undefined) {
|
|
271
|
-
const sheenColorTextureOptions = sheenExtension.sheenColorTexture.extensions && sheenExtension.sheenColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
277
|
+
const sheenColorTextureOptions = sheenExtension.sheenColorTexture.extensions && sheenExtension.sheenColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
272
278
|
if (sheenExtension.sheenColorTexture.texCoord !== undefined)
|
|
273
279
|
sheenColorTextureOptions.texCoord = sheenExtension.sheenColorTexture.texCoord;
|
|
274
280
|
standardMaterialDataProperties.sheenColorMap = this.loadMap(sheenExtension.sheenColorTexture.index, sheenColorTextureOptions);
|
|
275
281
|
}
|
|
276
282
|
if (sheenExtension.sheenRoughnessTexture !== undefined) {
|
|
277
|
-
const sheenRoughnessTextureOptions = sheenExtension.sheenRoughnessTexture.extensions && sheenExtension.sheenRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenRoughnessTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
283
|
+
const sheenRoughnessTextureOptions = sheenExtension.sheenRoughnessTexture.extensions && sheenExtension.sheenRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? sheenExtension.sheenRoughnessTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
278
284
|
if (sheenExtension.sheenRoughnessTexture.texCoord !== undefined)
|
|
279
285
|
sheenRoughnessTextureOptions.texCoord = sheenExtension.sheenRoughnessTexture.texCoord;
|
|
280
286
|
standardMaterialDataProperties.sheenRoughnessMap = this.loadMap(sheenExtension.sheenRoughnessTexture.index, sheenRoughnessTextureOptions);
|
|
281
287
|
}
|
|
282
288
|
}
|
|
283
|
-
if (materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR]) {
|
|
284
|
-
const specularExtension = materialExtensions[GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR];
|
|
289
|
+
if (materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR]) {
|
|
290
|
+
const specularExtension = materialExtensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_MATERIALS_SPECULAR];
|
|
285
291
|
if (specularExtension.specularFactor !== undefined) {
|
|
286
292
|
standardMaterialDataProperties.specularIntensity = specularExtension.specularFactor;
|
|
287
293
|
}
|
|
@@ -289,19 +295,19 @@ export class MaterialLoader {
|
|
|
289
295
|
standardMaterialDataProperties.specularColor = [specularExtension.specularColorFactor[0] * 255, specularExtension.specularColorFactor[1] * 255, specularExtension.specularColorFactor[2] * 255];
|
|
290
296
|
}
|
|
291
297
|
if (specularExtension.specularColorTexture !== undefined) {
|
|
292
|
-
const specularColorTextureOptions = specularExtension.specularColorTexture.extensions && specularExtension.specularColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularColorTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
298
|
+
const specularColorTextureOptions = specularExtension.specularColorTexture.extensions && specularExtension.specularColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularColorTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
293
299
|
if (specularExtension.specularColorTexture.texCoord !== undefined)
|
|
294
300
|
specularColorTextureOptions.texCoord = specularExtension.specularColorTexture.texCoord;
|
|
295
301
|
standardMaterialDataProperties.specularColorMap = this.loadMap(specularExtension.specularColorTexture.index, specularColorTextureOptions);
|
|
296
302
|
}
|
|
297
303
|
if (specularExtension.specularTexture !== undefined) {
|
|
298
|
-
const specularTextureOptions = specularExtension.specularTexture.extensions && specularExtension.specularTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularTexture.extensions[GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
304
|
+
const specularTextureOptions = specularExtension.specularTexture.extensions && specularExtension.specularTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] ? specularExtension.specularTexture.extensions[GLTFLoader_1.GLTF_EXTENSIONS.KHR_TEXTURE_TRANSFORM] : {};
|
|
299
305
|
if (specularExtension.specularTexture.texCoord !== undefined)
|
|
300
306
|
specularTextureOptions.texCoord = specularExtension.specularTexture.texCoord;
|
|
301
307
|
standardMaterialDataProperties.specularIntensityMap = this.loadMap(specularExtension.specularTexture.index, specularTextureOptions);
|
|
302
308
|
}
|
|
303
309
|
}
|
|
304
|
-
const materialData = new MaterialStandardData(standardMaterialDataProperties);
|
|
310
|
+
const materialData = new viewer_shared_types_1.MaterialStandardData(standardMaterialDataProperties);
|
|
305
311
|
this._loaded[materialId] = materialData;
|
|
306
312
|
}
|
|
307
313
|
yield Promise.all(promises);
|
|
@@ -316,8 +322,20 @@ export class MaterialLoader {
|
|
|
316
322
|
if (!this._content.images)
|
|
317
323
|
throw new Error('Images not available.');
|
|
318
324
|
const sampler = this._content.samplers && texture.sampler && this._content.samplers[texture.sampler] ? this._content.samplers[texture.sampler] : {};
|
|
319
|
-
const
|
|
320
|
-
return new MapData(
|
|
325
|
+
const loadedTexture = this._textureLoader.getTexture(textureId);
|
|
326
|
+
return new viewer_shared_types_1.MapData(loadedTexture.image, {
|
|
327
|
+
blob: loadedTexture.blob,
|
|
328
|
+
wrapS: sampler.wrapS,
|
|
329
|
+
wrapT: sampler.wrapT,
|
|
330
|
+
minFilter: sampler.minFilter,
|
|
331
|
+
magFilter: sampler.magFilter,
|
|
332
|
+
offset: properties && properties.offset ? gl_matrix_1.vec2.fromValues(properties.offset[0], properties.offset[1]) : gl_matrix_1.vec2.create(),
|
|
333
|
+
repeat: properties && properties.scale ? gl_matrix_1.vec2.fromValues(properties.scale[0], properties.scale[1]) : gl_matrix_1.vec2.fromValues(1, 1),
|
|
334
|
+
rotation: properties && properties.rotation !== undefined ? properties.rotation : 0,
|
|
335
|
+
texCoord: properties === null || properties === void 0 ? void 0 : properties.texCoord,
|
|
336
|
+
flipY: false
|
|
337
|
+
});
|
|
321
338
|
}
|
|
322
339
|
}
|
|
340
|
+
exports.MaterialLoader = MaterialLoader;
|
|
323
341
|
//# sourceMappingURL=MaterialLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAc,MAAM,oCAAoC,CAAA;AAO1E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,cAAc,EACd,aAAa,EACb,8BAA8B,EAC9B,oBAAoB,EACpB,iBAAiB,EAMjB,OAAO,GAER,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAA;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG/C,MAAM,OAAO,cAAc;IAQvB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,QAAkB,EAAmB,cAA6B;QAAlE,aAAQ,GAAR,QAAQ,CAAU;QAAmB,mBAAc,GAAd,cAAc,CAAe;QAX/F,yBAAyB;QAER,eAAU,GAAc,SAAS,CAAC,QAAQ,CAAC;QAC3C,oBAAe,GAAmB,cAAc,CAAC,QAAQ,CAAC;QAEnE,YAAO,GAA6C,EAAE,CAAC;IAMoC,CAAC;IAEpG,8BAA8B;IAE9B,6BAA6B;IAEtB,WAAW,CAAC,UAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACrG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QAChH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAClG,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAEY,IAAI;;YACb,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO;YAErC,IAAI,QAAQ,GAAoB,EAAE,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAG,CAAC,CAAC;gBACrB,MAAM,QAAQ,GAAsB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;gBAErD,MAAM,sBAAsB,GAAoC,EAAE,CAAC;gBACnE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAAE,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE7E,IAAI,kBAAkB,CAAC,eAAe,CAAC,2BAA2B,CAAC,EAAE;oBACjE,MAAM,cAAc,GAAiC,kBAAkB,CAAC,eAAe,CAAC,2BAA2B,CAAC,CAAC;oBACrH,QAAQ,CAAC,IAAI,CACT,IAAI,OAAO,CAAO,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,IAAI;4BACA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;4BAClG,YAAY,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;4BAClC,YAAY,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;4BAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;4BACxC,OAAO,EAAE,CAAC;yBACb;wBAAC,OAAO,CAAC,EAAE;4BACR,MAAM,CAAC,CAAC,CAAC,CAAC;yBACb;oBACL,CAAC,CAAA,CAAC,CACL,CAAA;oBACD,SAAS;iBACZ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,qBAAqB,GAA0D,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC;oBAC7J,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBAEnH,wCAAwC,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC3D,wCAAwC,CAAC,OAAO,GAAG,GAAG,CAAC;oBAEvD,IAAI,qBAAqB,CAAC,aAAa,KAAK,SAAS,EAAE;wBACnD,wCAAwC,CAAC,KAAK,GAAG,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;wBAC5L,wCAAwC,CAAC,OAAO,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;qBAC7F;oBAED,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,cAAc,CAAC,UAAU,IAAI,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtQ,IAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,KAAK,SAAS;4BAAE,qBAAqB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,cAAc,CAAC,QAAQ,CAAC;wBAC/I,wCAAwC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;qBAClI;oBACD,wCAAwC,CAAC,YAAY,GAAG,SAAS,CAAC;oBAClE,wCAAwC,CAAC,UAAU,GAAG,qBAAqB,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1J,wCAAwC,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAE9D,IAAI,qBAAqB,CAAC,cAAc,KAAK,SAAS,EAAE;wBACpD,wCAAwC,CAAC,QAAQ,GAAG,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACrM;oBAED,IAAI,qBAAqB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC/D,MAAM,gCAAgC,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,IAAI,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClT,IAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAChL,wCAAwC,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC1K;iBACJ;qBAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,2BAA2B,CAAC,KAAK,GAAG,SAAS,CAAC;oBAC9C,2BAA2B,CAAC,OAAO,GAAG,GAAG,CAAC;oBAE1C,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,2BAA2B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC7M,2BAA2B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC1F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,2BAA2B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACjI;qBACJ;iBACJ;qBAAM;oBACH,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;oBAC/F,IAAI,QAAQ,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBAC7C,8BAA8B,CAAC,KAAK,GAAG,SAAS,CAAC;wBACjD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;4BAChN,8BAA8B,CAAC,OAAO,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;yBAC7F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,KAAK,SAAS,EAAE;4BAC9D,MAAM,uBAAuB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtS,IAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;gCAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACrK,8BAA8B,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;yBACpI;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,cAAc,KAAK,SAAS,EAAE;4BAC5D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,cAAc,CAAC;yBAC3F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,eAAe,KAAK,SAAS,EAAE;4BAC7D,8BAA8B,CAAC,SAAS,GAAG,QAAQ,CAAC,oBAAoB,CAAC,eAAe,CAAC;yBAC5F;wBACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,KAAK,SAAS,EAAE;4BACtE,MAAM,+BAA+B,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACtU,IAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,KAAK,SAAS;gCAAE,+BAA+B,CAAC,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,QAAQ,CAAC;4BAC7L,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;yBACtK;qBACJ;iBACJ;gBAED;;mBAEG;gBAEH,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE;oBACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3N,IAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,KAAK,SAAS;wBAAE,oBAAoB,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAElH,sBAAsB,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;oBACpG,sBAAsB,CAAC,WAAW,GAAG,CAAC,CAAC;oBACvC,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE;wBAC5C,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;qBACrE;iBACJ;gBACD,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE;oBACzC,MAAM,uBAAuB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,IAAI,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvO,IAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;wBAAE,uBAAuB,CAAC,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBAE3H,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;oBACtG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS,EAAE;wBAClD,sBAAsB,CAAC,cAAc,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;qBAC9E;iBACJ;gBACD,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE;oBACxC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnO,IAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;wBAAE,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;oBACxH,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;iBAC7G;gBAED,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE;oBACvC,sBAAsB,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;iBAChJ;gBACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE;oBAClC,sBAAsB,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;oBAC7N,IAAI,sBAAsB,CAAC,SAAS,KAAK,cAAc,CAAC,IAAI,EAAE;wBAC1D,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;qBACxG;iBACJ;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;iBAC7D;gBACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;oBACpC,sBAAsB,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;iBACnG;gBAED;;mBAEG;gBACH,IAAI,kBAAkB,CAAC,eAAe,CAAC,mCAAmC,CAAC,EAAE;oBACzE,MAAM,wCAAwC,GAA8C,sBAAsB,CAAC;oBACnH,MAAM,YAAY,GAAG,IAAI,8BAA8B,CAAC,wCAAwC,CAAC,CAAC;oBAClG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;qBAAM,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBAChE,MAAM,2BAA2B,GAAiC,sBAAsB,CAAC;oBACzF,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;oBACxC,SAAS;iBACZ;gBAED,MAAM,8BAA8B,GAAoC,sBAAsB,CAAC;gBAE/F,IAAI,kBAAkB,CAAC,eAAe,CAAC,uBAAuB,CAAC,EAAE;oBAC7D,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;oBACvF,IAAI,kBAAkB,CAAC,eAAe,KAAK,SAAS,EAAE;wBAClD,8BAA8B,CAAC,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC;qBACjF;oBAED,IAAI,kBAAkB,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBACnD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrQ,IAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBAC/I,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAClI;oBAED,IAAI,kBAAkB,CAAC,wBAAwB,KAAK,SAAS,EAAE;wBAC3D,8BAA8B,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC;qBACnG;oBAED,IAAI,kBAAkB,CAAC,yBAAyB,KAAK,SAAS,EAAE;wBAC5D,MAAM,gCAAgC,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzS,IAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;4BAAE,gCAAgC,CAAC,QAAQ,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,QAAQ,CAAC;wBAC1K,8BAA8B,CAAC,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;qBAC7J;oBAED,IAAI,kBAAkB,CAAC,sBAAsB,KAAK,SAAS,EAAE;wBACzD,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,IAAI,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7R,IAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,KAAK,SAAS;4BAAE,6BAA6B,CAAC,QAAQ,GAAG,kBAAkB,CAAC,sBAAsB,CAAC,QAAQ,CAAC;wBACjK,8BAA8B,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;qBACpJ;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;oBACvD,MAAM,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;oBAC3E,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE;wBAChC,8BAA8B,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;qBACzD;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,0BAA0B,CAAC,EAAE;oBAChE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;oBAC7F,IAAI,qBAAqB,CAAC,kBAAkB,KAAK,SAAS,EAAE;wBACxD,8BAA8B,CAAC,YAAY,GAAG,qBAAqB,CAAC,kBAAkB,CAAC;qBAC1F;oBAED,IAAI,qBAAqB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACzD,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC1R,IAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,KAAK,SAAS;4BAAE,0BAA0B,CAAC,QAAQ,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,CAAC;wBAC9J,8BAA8B,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;qBAC9I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,oBAAoB,CAAC,EAAE;oBAC1D,MAAM,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;oBACjF,IAAI,eAAe,CAAC,eAAe,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,SAAS,GAAG,eAAe,CAAC,eAAe,CAAC;qBAC9E;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,MAAM,uBAAuB,GAAG,eAAe,CAAC,gBAAgB,CAAC,UAAU,IAAI,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC5P,IAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,KAAK,SAAS;4BAAE,uBAAuB,CAAC,QAAQ,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBACzI,8BAA8B,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;qBAC/H;oBAED,IAAI,eAAe,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,mBAAmB,GAAG,eAAe,CAAC,mBAAmB,CAAC;qBAC5F;oBAED,IAAI,eAAe,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,gBAAgB,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACvL;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,EAAE;oBACzD,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;oBAC/E,8BAA8B,CAAC,KAAK,GAAG,GAAG,CAAC;oBAC3C,IAAI,cAAc,CAAC,gBAAgB,KAAK,SAAS,EAAE;wBAC/C,8BAA8B,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBAC9K;oBAED,IAAI,cAAc,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACnD,8BAA8B,CAAC,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC;qBACvF;oBAED,IAAI,cAAc,CAAC,iBAAiB,KAAK,SAAS,EAAE;wBAChD,MAAM,wBAAwB,GAAG,cAAc,CAAC,iBAAiB,CAAC,UAAU,IAAI,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7P,IAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,KAAK,SAAS;4BAAE,wBAAwB,CAAC,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;qBACjI;oBAED,IAAI,cAAc,CAAC,qBAAqB,KAAK,SAAS,EAAE;wBACpD,MAAM,4BAA4B,GAAG,cAAc,CAAC,qBAAqB,CAAC,UAAU,IAAI,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7Q,IAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,KAAK,SAAS;4BAAE,4BAA4B,CAAC,QAAQ,GAAG,cAAc,CAAC,qBAAqB,CAAC,QAAQ,CAAC;wBACtJ,8BAA8B,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;qBAC7I;iBACJ;gBAED,IAAI,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAC,EAAE;oBAC5D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;oBAErF,IAAI,iBAAiB,CAAC,cAAc,KAAK,SAAS,EAAE;wBAChD,8BAA8B,CAAC,iBAAiB,GAAG,iBAAiB,CAAC,cAAc,CAAC;qBACvF;oBAED,IAAI,iBAAiB,CAAC,mBAAmB,KAAK,SAAS,EAAE;wBACrD,8BAA8B,CAAC,aAAa,GAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;qBACnM;oBAED,IAAI,iBAAiB,CAAC,oBAAoB,KAAK,SAAS,EAAE;wBACtD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,IAAI,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClR,IAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,KAAK,SAAS;4BAAE,2BAA2B,CAAC,QAAQ,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,QAAQ,CAAC;wBACzJ,8BAA8B,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;qBAC7I;oBAED,IAAI,iBAAiB,CAAC,eAAe,KAAK,SAAS,EAAE;wBACjD,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,eAAe,CAAC,UAAU,IAAI,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9P,IAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;4BAAE,sBAAsB,CAAC,QAAQ,GAAG,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC;wBAC1I,8BAA8B,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;qBACvI;iBACJ;gBAED,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC;aAC3C;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,OAAO,CAAC,SAAiB,EAAE,UAA0F;QACzH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpJ,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE5D,OAAO,IAAI,OAAO,CACd,SAAS,EACT,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,SAAS,EACT,SAAS,EACT,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACzG,UAAU,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACtG,UAAU,IAAI,UAAU,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EACzE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,EACpB,KAAK,CACR,CAAC;IACN,CAAC;CAGJ"}
|
|
1
|
+
{"version":3,"file":"MaterialLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/MaterialLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,10 @@ export declare class TextureLoader {
|
|
|
8
8
|
private readonly _httpClient;
|
|
9
9
|
private _loaded;
|
|
10
10
|
constructor(_content: IGLTF_v2, _bufferViewLoader: BufferViewLoader, _baseUri?: string | undefined);
|
|
11
|
-
getTexture(textureId: number):
|
|
11
|
+
getTexture(textureId: number): {
|
|
12
|
+
image: HTMLImageElement;
|
|
13
|
+
blob: Blob;
|
|
14
|
+
};
|
|
12
15
|
load(): Promise<void>;
|
|
13
16
|
}
|
|
14
17
|
//# sourceMappingURL=TextureLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,
|
|
1
|
+
{"version":3,"file":"TextureLoader.d.ts","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,aAAa;IAiBV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAY,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAAoB,OAAO,CAAC,QAAQ,CAAC;IAdxH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAE/D,OAAO,CAAC,OAAO,CAKR;gBAMsB,QAAQ,EAAE,QAAQ,EAAmB,iBAAiB,EAAE,gBAAgB,EAAU,QAAQ,CAAC,oBAAQ;IAMzH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG;QAClC,KAAK,EAAE,gBAAgB,CAAC;QACxB,IAAI,EAAE,IAAI,CAAA;KACb;IAOY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA4DrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -7,17 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TextureLoader = void 0;
|
|
13
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
14
|
+
class TextureLoader {
|
|
15
|
+
// #endregion Properties (3)
|
|
13
16
|
// #region Constructors (1)
|
|
14
17
|
constructor(_content, _bufferViewLoader, _baseUri) {
|
|
15
18
|
this._content = _content;
|
|
16
19
|
this._bufferViewLoader = _bufferViewLoader;
|
|
17
20
|
this._baseUri = _baseUri;
|
|
18
|
-
// #region Properties (
|
|
19
|
-
this._converter = Converter.instance;
|
|
20
|
-
this._httpClient = HttpClient.instance;
|
|
21
|
+
// #region Properties (3)
|
|
22
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
23
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
21
24
|
this._loaded = {};
|
|
22
25
|
}
|
|
23
26
|
// #endregion Constructors (1)
|
|
@@ -35,7 +38,7 @@ export class TextureLoader {
|
|
|
35
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
36
39
|
if (!this._content.textures)
|
|
37
40
|
return;
|
|
38
|
-
|
|
41
|
+
const promises = [];
|
|
39
42
|
for (let i = 0; i < this._content.textures.length; i++) {
|
|
40
43
|
const textureId = i;
|
|
41
44
|
const texture = this._content.textures[textureId];
|
|
@@ -52,27 +55,30 @@ export class TextureLoader {
|
|
|
52
55
|
array[i] = dataView.getUint8(i);
|
|
53
56
|
const blob = new Blob([new Uint8Array(array)], { type: image.mimeType });
|
|
54
57
|
const dataUri = URL.createObjectURL(blob);
|
|
58
|
+
const img = new Image();
|
|
55
59
|
promises.push(new Promise((resolve, reject) => {
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
60
|
+
img.onload = () => {
|
|
61
|
+
this._loaded[textureId] = {
|
|
62
|
+
image: img,
|
|
63
|
+
blob
|
|
64
|
+
};
|
|
65
|
+
URL.revokeObjectURL(dataUri);
|
|
66
|
+
resolve();
|
|
67
|
+
};
|
|
68
|
+
img.onerror = reject;
|
|
64
69
|
}));
|
|
70
|
+
img.crossOrigin = 'anonymous';
|
|
71
|
+
img.src = dataUri;
|
|
65
72
|
}
|
|
66
73
|
else {
|
|
67
74
|
const url = DATA_URI_REGEX.test(image.uri) || HTTPS_URI_REGEX.test(image.uri) ? image.uri : `${this._baseUri}/${image.uri}`;
|
|
68
75
|
promises.push(new Promise((resolve, reject) => {
|
|
69
76
|
this._httpClient.loadTexture(url)
|
|
70
77
|
.then(response => {
|
|
71
|
-
this.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}).catch(e => reject(e));
|
|
78
|
+
this._loaded[textureId] = response.data;
|
|
79
|
+
resolve();
|
|
80
|
+
})
|
|
81
|
+
.catch(e => reject(e));
|
|
76
82
|
}));
|
|
77
83
|
}
|
|
78
84
|
}
|
|
@@ -80,4 +86,5 @@ export class TextureLoader {
|
|
|
80
86
|
});
|
|
81
87
|
}
|
|
82
88
|
}
|
|
89
|
+
exports.TextureLoader = TextureLoader;
|
|
83
90
|
//# sourceMappingURL=TextureLoader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextureLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextureLoader.js","sourceRoot":"","sources":["../../../src/gltfv2/loaders/TextureLoader.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GeometryEngine = void 0;
|
|
4
|
+
const GeometryEngine_1 = require("./GeometryEngine");
|
|
5
|
+
Object.defineProperty(exports, "GeometryEngine", { enumerable: true, get: function () { return GeometryEngine_1.GeometryEngine; } });
|
|
3
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAG/C,+FAHO,+BAAc,OAGP"}
|