@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.15.11 → 3.16.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/RenderingEngine.d.ts +4 -2
- package/dist/RenderingEngine.d.ts.map +1 -1
- package/dist/RenderingEngine.js +4 -0
- package/dist/RenderingEngine.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IRenderingEngine.d.ts +2 -1
- package/dist/interfaces/IRenderingEngine.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.d.ts +6 -4
- package/dist/loaders/GeometryLoader.d.ts.map +1 -1
- package/dist/loaders/GeometryLoader.js +162 -108
- package/dist/loaders/GeometryLoader.js.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.d.ts +1 -2
- package/dist/loaders/HTMLElementAnchorLoader.d.ts.map +1 -1
- package/dist/loaders/HTMLElementAnchorLoader.js.map +1 -1
- package/dist/loaders/LightLoader.d.ts +4 -3
- package/dist/loaders/LightLoader.d.ts.map +1 -1
- package/dist/loaders/LightLoader.js +8 -0
- package/dist/loaders/LightLoader.js.map +1 -1
- package/dist/loaders/MaterialLoader.d.ts +15 -2
- package/dist/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/loaders/MaterialLoader.js +124 -61
- package/dist/loaders/MaterialLoader.js.map +1 -1
- package/dist/managers/CameraManager.d.ts +2 -2
- package/dist/managers/CameraManager.d.ts.map +1 -1
- package/dist/managers/CameraManager.js +25 -5
- package/dist/managers/CameraManager.js.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.d.ts.map +1 -1
- package/dist/managers/EnvironmentGeometryManager.js +6 -19
- package/dist/managers/EnvironmentGeometryManager.js.map +1 -1
- package/dist/managers/PostProcessingManager.d.ts.map +1 -1
- package/dist/managers/PostProcessingManager.js +18 -1
- package/dist/managers/PostProcessingManager.js.map +1 -1
- package/dist/managers/RenderingManager.d.ts.map +1 -1
- package/dist/managers/RenderingManager.js +6 -1
- package/dist/managers/RenderingManager.js.map +1 -1
- package/dist/managers/SceneTracingManager.d.ts.map +1 -1
- package/dist/managers/SceneTracingManager.js +2 -0
- package/dist/managers/SceneTracingManager.js.map +1 -1
- package/dist/managers/SceneTreeManager.d.ts +40 -11
- package/dist/managers/SceneTreeManager.d.ts.map +1 -1
- package/dist/managers/SceneTreeManager.js +304 -247
- package/dist/managers/SceneTreeManager.js.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/ContactShadow.js +2 -2
- package/dist/managers/environmentGeometry/ContactShadow.js.map +1 -1
- package/dist/managers/environmentGeometry/Grid.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/Grid.js +2 -2
- package/dist/managers/environmentGeometry/Grid.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlane.js +4 -3
- package/dist/managers/environmentGeometry/GroundPlane.js.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.d.ts.map +1 -1
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js +4 -4
- package/dist/managers/environmentGeometry/GroundPlaneShadow.js.map +1 -1
- package/dist/managers/sceneTree/SDTFUtils.d.ts +2 -2
- package/dist/managers/sceneTree/SDTFUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SDTFUtils.js +6 -6
- package/dist/managers/sceneTree/SDTFUtils.js.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts +3 -5
- package/dist/managers/sceneTree/SceenTreeManagerUtils.d.ts.map +1 -1
- package/dist/managers/sceneTree/SceenTreeManagerUtils.js +24 -32
- package/dist/managers/sceneTree/SceenTreeManagerUtils.js.map +1 -1
- package/dist/objects/SDObject.d.ts +15 -1
- package/dist/objects/SDObject.d.ts.map +1 -1
- package/dist/objects/SDObject.js +26 -4
- package/dist/objects/SDObject.js.map +1 -1
- package/package.json +17 -17
- package/dist/objects/SDBone.d.ts +0 -13
- package/dist/objects/SDBone.d.ts.map +0 -1
- package/dist/objects/SDBone.js +0 -75
- package/dist/objects/SDBone.js.map +0 -1
- package/dist/objects/SDData.d.ts +0 -19
- package/dist/objects/SDData.d.ts.map +0 -1
- package/dist/objects/SDData.js +0 -48
- package/dist/objects/SDData.js.map +0 -1
|
@@ -24,12 +24,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.GeometryLoader = void 0;
|
|
27
|
+
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
27
28
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
28
29
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
29
30
|
const gl_matrix_1 = require("gl-matrix");
|
|
30
31
|
const THREE = __importStar(require("three"));
|
|
31
32
|
const GemMaterial_1 = require("../materials/GemMaterial");
|
|
32
|
-
const SDData_1 = require("../objects/SDData");
|
|
33
33
|
class GeometryLoader {
|
|
34
34
|
// #endregion Properties (8)
|
|
35
35
|
// #region Constructors (1)
|
|
@@ -57,15 +57,18 @@ class GeometryLoader {
|
|
|
57
57
|
* @param geometry the geometry data
|
|
58
58
|
* @returns the geometry object
|
|
59
59
|
*/
|
|
60
|
-
load(geometry,
|
|
60
|
+
load(geometry, instanceData) {
|
|
61
|
+
// Cache key to avoid repeated string concatenation
|
|
62
|
+
const primitiveCacheKey = geometry.primitive.id + "_" + geometry.primitive.version;
|
|
61
63
|
const threeGeometry = (() => {
|
|
62
|
-
|
|
64
|
+
const cachedPrimitive = this._primitiveCache[primitiveCacheKey];
|
|
65
|
+
if (!cachedPrimitive) {
|
|
63
66
|
return this.loadPrimitive(geometry.primitive);
|
|
64
67
|
}
|
|
65
68
|
else {
|
|
66
|
-
|
|
67
|
-
const clone =
|
|
68
|
-
|
|
69
|
+
cachedPrimitive.counter++;
|
|
70
|
+
const clone = cachedPrimitive.threeGeometry.clone();
|
|
71
|
+
cachedPrimitive.clones.push(clone);
|
|
69
72
|
return clone;
|
|
70
73
|
}
|
|
71
74
|
})();
|
|
@@ -81,19 +84,26 @@ class GeometryLoader {
|
|
|
81
84
|
else {
|
|
82
85
|
incomingMaterialData = geometry.material;
|
|
83
86
|
}
|
|
87
|
+
const attributes = threeGeometry.attributes;
|
|
88
|
+
const morphAttributes = threeGeometry.morphAttributes;
|
|
89
|
+
const hasMorphTargets = Object.keys(morphAttributes).length > 0;
|
|
90
|
+
// Performance: Normalize settings to maximize shader program sharing
|
|
91
|
+
// These settings affect shader generation, so keep them consistent across materials
|
|
84
92
|
const materialSettings = {
|
|
85
93
|
mode: geometry.mode,
|
|
86
|
-
useVertexTangents:
|
|
87
|
-
useVertexColors:
|
|
94
|
+
useVertexTangents: attributes.tangent !== undefined,
|
|
95
|
+
useVertexColors: attributes.color !== undefined &&
|
|
88
96
|
this._renderingEngine.type !== viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES,
|
|
89
|
-
useFlatShading:
|
|
90
|
-
useMorphTargets:
|
|
91
|
-
useMorphNormals:
|
|
92
|
-
threeGeometry.morphAttributes.normal !== undefined,
|
|
97
|
+
useFlatShading: attributes.normal === undefined,
|
|
98
|
+
useMorphTargets: hasMorphTargets,
|
|
99
|
+
useMorphNormals: hasMorphTargets && morphAttributes.normal !== undefined,
|
|
93
100
|
};
|
|
94
|
-
if (incomingMaterialData instanceof
|
|
101
|
+
if (incomingMaterialData instanceof viewer_shared_node_tree_1.MaterialGemData) {
|
|
95
102
|
const gemMaterialData = incomingMaterialData;
|
|
96
|
-
|
|
103
|
+
// Only compute if not already computed
|
|
104
|
+
if (!threeGeometry.boundingSphere) {
|
|
105
|
+
threeGeometry.computeBoundingSphere();
|
|
106
|
+
}
|
|
97
107
|
const sphericalNormalMap = this.createCubeNormalMap(geometry, threeGeometry);
|
|
98
108
|
const center = threeGeometry.boundingSphere.center, radius = threeGeometry.boundingSphere.radius;
|
|
99
109
|
gemMaterialData.side = viewer_shared_types_1.MATERIAL_SIDE.FRONT;
|
|
@@ -101,52 +111,55 @@ class GeometryLoader {
|
|
|
101
111
|
gemMaterialData.radius = radius;
|
|
102
112
|
gemMaterialData.sphericalNormalMap = sphericalNormalMap;
|
|
103
113
|
}
|
|
104
|
-
while (parent.children.length !== 0)
|
|
105
|
-
parent.remove(parent.children[0]);
|
|
106
114
|
const material = this._renderingEngine.materialLoader.load(incomingMaterialData || geometry, materialSettings);
|
|
107
|
-
|
|
108
|
-
if (
|
|
109
|
-
|
|
115
|
+
// Performance: Disable unnecessary material features for static materials
|
|
116
|
+
if (!hasMorphTargets) {
|
|
117
|
+
// For non-transparent materials, ensure depth write/test are optimized
|
|
118
|
+
if (!material.transparent) {
|
|
119
|
+
material.depthWrite = true;
|
|
120
|
+
material.depthTest = true;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Performance: Mark material as not needing update to avoid shader recompilation
|
|
124
|
+
// unless properties that affect the shader have changed
|
|
125
|
+
material.needsUpdate = false;
|
|
126
|
+
let threeGeometryObject;
|
|
127
|
+
if (this._geometryCache[geometry.id + "_" + geometry.version]) {
|
|
110
128
|
this._geometryCache[geometry.id + "_" + geometry.version].counter++;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.
|
|
118
|
-
|
|
119
|
-
|
|
129
|
+
threeGeometryObject =
|
|
130
|
+
this._geometryCache[geometry.id + "_" + geometry.version].obj;
|
|
131
|
+
threeGeometryObject.material = material;
|
|
132
|
+
// Clear instance colors when in ATTRIBUTES mode to prevent them
|
|
133
|
+
// from multiplying with the attribute material color
|
|
134
|
+
if (threeGeometryObject instanceof THREE.InstancedMesh) {
|
|
135
|
+
if (this._renderingEngine.type === viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES) {
|
|
136
|
+
threeGeometryObject.instanceColor = null;
|
|
137
|
+
}
|
|
138
|
+
else if (instanceData && !threeGeometryObject.instanceColor) {
|
|
139
|
+
for (let i = 0; i < instanceData.instanceColors.length; i++) {
|
|
140
|
+
threeGeometryObject.setColorAt(i, this._renderingEngine.createThreeJsColor(instanceData.instanceColors[i]));
|
|
141
|
+
}
|
|
142
|
+
// setColorAt creates instanceColor; re-read after mutation
|
|
143
|
+
threeGeometryObject.instanceColor.needsUpdate = true;
|
|
144
|
+
}
|
|
120
145
|
}
|
|
121
|
-
obj.traverse((o) => {
|
|
122
|
-
if (o instanceof THREE.Points ||
|
|
123
|
-
o instanceof THREE.LineSegments ||
|
|
124
|
-
o instanceof THREE.LineLoop ||
|
|
125
|
-
o instanceof THREE.Line ||
|
|
126
|
-
o instanceof THREE.Mesh)
|
|
127
|
-
o.material = material;
|
|
128
|
-
});
|
|
129
146
|
}
|
|
130
147
|
else {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
148
|
+
threeGeometryObject = this.createMesh(geometry, threeGeometry, material, instanceData);
|
|
149
|
+
threeGeometryObject.userData.cacheKey =
|
|
150
|
+
geometry.id + "_" + geometry.version;
|
|
134
151
|
this._geometryCache[geometry.id + "_" + geometry.version] = {
|
|
135
|
-
obj,
|
|
152
|
+
obj: threeGeometryObject,
|
|
136
153
|
counter: 1,
|
|
137
154
|
clones: [],
|
|
138
155
|
primitiveCacheId: geometry.primitive.id + "_" + geometry.primitive.version,
|
|
139
156
|
};
|
|
140
|
-
parent.add(obj);
|
|
141
|
-
}
|
|
142
|
-
obj.children.forEach((m) => (m.castShadow = true));
|
|
143
|
-
if (material instanceof GemMaterial_1.GemMaterial) {
|
|
144
|
-
obj.children.forEach((m) => (m.receiveShadow = false));
|
|
145
157
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
158
|
+
threeGeometryObject.castShadow = geometry.castShadow;
|
|
159
|
+
threeGeometryObject.receiveShadow = !(material instanceof GemMaterial_1.GemMaterial)
|
|
160
|
+
? geometry.receiveShadow
|
|
161
|
+
: false;
|
|
162
|
+
return threeGeometryObject;
|
|
150
163
|
}
|
|
151
164
|
loadPrimitive(primitive) {
|
|
152
165
|
const geometry = new THREE.BufferGeometry();
|
|
@@ -184,7 +197,8 @@ class GeometryLoader {
|
|
|
184
197
|
}
|
|
185
198
|
}
|
|
186
199
|
primitive.convertedObject[this._renderingEngine.id] = geometry;
|
|
187
|
-
|
|
200
|
+
const primitiveCacheKey = primitive.id + "_" + primitive.version;
|
|
201
|
+
this._primitiveCache[primitiveCacheKey] = {
|
|
188
202
|
threeGeometry: geometry,
|
|
189
203
|
counter: 1,
|
|
190
204
|
clones: [],
|
|
@@ -203,6 +217,45 @@ class GeometryLoader {
|
|
|
203
217
|
}
|
|
204
218
|
}
|
|
205
219
|
}
|
|
220
|
+
updateGeometryMaterial(geometry) {
|
|
221
|
+
const cacheKey = geometry.id + "_" + geometry.version;
|
|
222
|
+
const cached = this._geometryCache[cacheKey];
|
|
223
|
+
if (!cached)
|
|
224
|
+
return;
|
|
225
|
+
let incomingMaterialData;
|
|
226
|
+
if (geometry.effectMaterials.length > 0) {
|
|
227
|
+
incomingMaterialData =
|
|
228
|
+
geometry.effectMaterials[geometry.effectMaterials.length - 1]
|
|
229
|
+
.material;
|
|
230
|
+
}
|
|
231
|
+
else if (this._renderingEngine.type === viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES) {
|
|
232
|
+
incomingMaterialData = geometry.attributeMaterial;
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
incomingMaterialData = geometry.material;
|
|
236
|
+
}
|
|
237
|
+
const threeGeometry = cached.obj.geometry;
|
|
238
|
+
const attributes = threeGeometry.attributes;
|
|
239
|
+
const morphAttributes = threeGeometry.morphAttributes;
|
|
240
|
+
const hasMorphTargets = Object.keys(morphAttributes).length > 0;
|
|
241
|
+
const materialSettings = {
|
|
242
|
+
mode: geometry.mode,
|
|
243
|
+
useVertexTangents: attributes.tangent !== undefined,
|
|
244
|
+
useVertexColors: attributes.color !== undefined &&
|
|
245
|
+
this._renderingEngine.type !== viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES,
|
|
246
|
+
useFlatShading: attributes.normal === undefined,
|
|
247
|
+
useMorphTargets: hasMorphTargets,
|
|
248
|
+
useMorphNormals: hasMorphTargets && morphAttributes.normal !== undefined,
|
|
249
|
+
};
|
|
250
|
+
cached.obj.material = this._renderingEngine.materialLoader.load(incomingMaterialData || geometry, materialSettings);
|
|
251
|
+
// Clear instance colors when in ATTRIBUTES mode to prevent them
|
|
252
|
+
// from multiplying with the attribute material color
|
|
253
|
+
if (cached.obj instanceof THREE.InstancedMesh) {
|
|
254
|
+
if (this._renderingEngine.type === viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES) {
|
|
255
|
+
cached.obj.instanceColor = null;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
206
259
|
removeFromGeometryCache(id) {
|
|
207
260
|
if (this._geometryCache[id]) {
|
|
208
261
|
if (this._geometryCache[id].counter === 1) {
|
|
@@ -239,7 +292,7 @@ class GeometryLoader {
|
|
|
239
292
|
geometry.computeVertexNormals();
|
|
240
293
|
const computedNormalAttribute = (geometry.getAttribute("normal"));
|
|
241
294
|
// store the computed normals in the attribute data
|
|
242
|
-
primitive.attributes[attributeId] = new
|
|
295
|
+
primitive.attributes[attributeId] = new viewer_shared_node_tree_1.AttributeData(new Float32Array(computedNormalAttribute.array), computedNormalAttribute.itemSize, 0, 0, 3, computedNormalAttribute.normalized, computedNormalAttribute.array.length / 3);
|
|
243
296
|
return true;
|
|
244
297
|
}
|
|
245
298
|
return false;
|
|
@@ -402,26 +455,27 @@ class GeometryLoader {
|
|
|
402
455
|
};
|
|
403
456
|
return this._gemSphericalMapsCache[geometryData.primitive.id + "_" + geometryData.primitive.version].texture;
|
|
404
457
|
}
|
|
405
|
-
createMesh(
|
|
458
|
+
createMesh(geometry, threeGeometry, material, instanceData) {
|
|
459
|
+
let threeGeometryObject;
|
|
406
460
|
if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.POINTS) {
|
|
407
461
|
const points = new THREE.Points(threeGeometry, material);
|
|
408
462
|
geometry.convertedObject[this._renderingEngine.id] = points;
|
|
409
|
-
|
|
463
|
+
threeGeometryObject = points;
|
|
410
464
|
}
|
|
411
465
|
else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.LINES) {
|
|
412
466
|
const lineSegments = new THREE.LineSegments(threeGeometry, material);
|
|
413
467
|
geometry.convertedObject[this._renderingEngine.id] = lineSegments;
|
|
414
|
-
|
|
468
|
+
threeGeometryObject = lineSegments;
|
|
415
469
|
}
|
|
416
470
|
else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.LINE_LOOP) {
|
|
417
471
|
const lineLoop = new THREE.LineLoop(threeGeometry, material);
|
|
418
472
|
geometry.convertedObject[this._renderingEngine.id] = lineLoop;
|
|
419
|
-
|
|
473
|
+
threeGeometryObject = lineLoop;
|
|
420
474
|
}
|
|
421
475
|
else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.LINE_STRIP) {
|
|
422
476
|
const line = new THREE.Line(threeGeometry, material);
|
|
423
477
|
geometry.convertedObject[this._renderingEngine.id] = line;
|
|
424
|
-
|
|
478
|
+
threeGeometryObject = line;
|
|
425
479
|
}
|
|
426
480
|
else if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES ||
|
|
427
481
|
geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP ||
|
|
@@ -430,60 +484,66 @@ class GeometryLoader {
|
|
|
430
484
|
if (geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_STRIP ||
|
|
431
485
|
geometry.mode === viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLE_FAN)
|
|
432
486
|
this.convertToTriangleMode(bufferGeometry, geometry.mode);
|
|
433
|
-
if (
|
|
434
|
-
const
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
if (instanceData && instanceData.instanceMatrices.length > 0) {
|
|
444
|
-
const instancedMesh = new THREE.InstancedMesh(bufferGeometry, material, instanceData.instanceMatrices.length);
|
|
445
|
-
for (let i = 0; i < instanceData.instanceMatrices.length; i++) {
|
|
446
|
-
instancedMesh.setMatrixAt(i, new THREE.Matrix4().fromArray(instanceData.instanceMatrices[i]));
|
|
487
|
+
if (instanceData && instanceData.instanceMatrices.length > 0) {
|
|
488
|
+
const instanceCount = instanceData.instanceMatrices.length;
|
|
489
|
+
const instancedMesh = new THREE.InstancedMesh(bufferGeometry, material, instanceCount);
|
|
490
|
+
// Reuse matrix object to reduce allocations
|
|
491
|
+
const tempMatrix = new THREE.Matrix4();
|
|
492
|
+
const useInstanceColors = this._renderingEngine.type !== viewer_shared_types_1.RENDERER_TYPE.ATTRIBUTES;
|
|
493
|
+
for (let i = 0; i < instanceCount; i++) {
|
|
494
|
+
tempMatrix.fromArray(instanceData.instanceMatrices[i]);
|
|
495
|
+
instancedMesh.setMatrixAt(i, tempMatrix);
|
|
496
|
+
if (useInstanceColors) {
|
|
447
497
|
instancedMesh.setColorAt(i, this._renderingEngine.createThreeJsColor(instanceData.instanceColors[i]));
|
|
448
498
|
}
|
|
449
|
-
if (instancedMesh.instanceColor)
|
|
450
|
-
instancedMesh.instanceColor.needsUpdate = true;
|
|
451
|
-
instancedMesh.instanceMatrix.needsUpdate = true;
|
|
452
|
-
geometry.convertedObject[this._renderingEngine.id] =
|
|
453
|
-
instancedMesh;
|
|
454
|
-
obj.add(instancedMesh);
|
|
455
|
-
}
|
|
456
|
-
else {
|
|
457
|
-
const mesh = new THREE.Mesh(bufferGeometry, material);
|
|
458
|
-
geometry.convertedObject[this._renderingEngine.id] = mesh;
|
|
459
|
-
obj.add(mesh);
|
|
460
499
|
}
|
|
500
|
+
if (instancedMesh.instanceColor)
|
|
501
|
+
instancedMesh.instanceColor.needsUpdate = true;
|
|
502
|
+
instancedMesh.instanceMatrix.needsUpdate = true;
|
|
503
|
+
// Enable frustum culling for instanced meshes
|
|
504
|
+
instancedMesh.frustumCulled = true;
|
|
505
|
+
geometry.convertedObject[this._renderingEngine.id] =
|
|
506
|
+
instancedMesh;
|
|
507
|
+
threeGeometryObject = instancedMesh;
|
|
508
|
+
}
|
|
509
|
+
else {
|
|
510
|
+
const mesh = new THREE.Mesh(bufferGeometry, material);
|
|
511
|
+
geometry.convertedObject[this._renderingEngine.id] = mesh;
|
|
512
|
+
threeGeometryObject = mesh;
|
|
461
513
|
}
|
|
462
514
|
}
|
|
463
515
|
else {
|
|
464
516
|
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError(`GeometryLoader.load: Unrecognized primitive mode ${geometry.mode}.`);
|
|
465
517
|
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
518
|
+
// Cache userData and bounding box data to reduce allocations
|
|
519
|
+
const userDataCache = {
|
|
520
|
+
SDid: geometry.id,
|
|
521
|
+
SDversion: geometry.version,
|
|
522
|
+
primitiveSDid: geometry.primitive.id,
|
|
523
|
+
primitiveSDversion: geometry.primitive.version,
|
|
524
|
+
};
|
|
525
|
+
const bbox = geometry.boundingBox;
|
|
526
|
+
const bboxMin = new THREE.Vector3(bbox.min[0], bbox.min[1], bbox.min[2]);
|
|
527
|
+
const bboxMax = new THREE.Vector3(bbox.max[0], bbox.max[1], bbox.max[2]);
|
|
528
|
+
const bsphereCenter = new THREE.Vector3(bbox.boundingSphere.center[0], bbox.boundingSphere.center[1], bbox.boundingSphere.center[2]);
|
|
529
|
+
const renderOrder = geometry.renderOrder;
|
|
530
|
+
const threeGeom = threeGeometryObject.geometry;
|
|
531
|
+
threeGeom.userData = userDataCache;
|
|
532
|
+
threeGeometryObject.renderOrder = renderOrder;
|
|
533
|
+
// Performance: Disable matrixAutoUpdate for static geometry (no animations/transforms)
|
|
534
|
+
// This prevents Three.js from recalculating matrices every frame
|
|
535
|
+
if (!instanceData) {
|
|
536
|
+
threeGeometryObject.matrixAutoUpdate = false;
|
|
537
|
+
}
|
|
538
|
+
if (threeGeometryObject instanceof THREE.Mesh &&
|
|
539
|
+
threeGeometryObject.userData.transparencyPlaceholder !== true) {
|
|
540
|
+
// Assign bounding box directly without unnecessary clones
|
|
541
|
+
threeGeom.boundingBox = new THREE.Box3(bboxMin, bboxMax);
|
|
542
|
+
threeGeom.boundingSphere = new THREE.Sphere(bsphereCenter, bbox.boundingSphere.radius);
|
|
543
|
+
threeGeometryObject.morphTargetInfluences =
|
|
544
|
+
geometry.morphWeights;
|
|
545
|
+
}
|
|
546
|
+
return threeGeometryObject;
|
|
487
547
|
}
|
|
488
548
|
getAttributeName(attributeId) {
|
|
489
549
|
switch (attributeId) {
|
|
@@ -506,12 +566,6 @@ class GeometryLoader {
|
|
|
506
566
|
case "COLOR0":
|
|
507
567
|
case "COLOR":
|
|
508
568
|
return "color";
|
|
509
|
-
case "WEIGHT":
|
|
510
|
-
case "WEIGHTS_0":
|
|
511
|
-
return "skinWeight";
|
|
512
|
-
case "JOINT":
|
|
513
|
-
case "JOINTS_0":
|
|
514
|
-
return "skinIndex";
|
|
515
569
|
case "TANGENT":
|
|
516
570
|
return "tangent";
|
|
517
571
|
case "POSITION_INDEX":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeometryLoader.js","sourceRoot":"","sources":["../../src/loaders/GeometryLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAK6C;AAC7C,+EAG4C;AAC5C,yEAOyC;AACzC,yCAA+B;AAC/B,6CAA+B;AAE/B,0DAAqD;AAUrD,MAAa,cAAc;IA+B1B,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;QA5BtD,2BAAsB,GAM1B,EAAE,CAAC;QACC,mBAAc,GAOlB,EAAE,CAAC;QACC,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAClC,oBAAe,GAMnB,EAAE,CAAC;IAM0D,CAAC;IAElE,8BAA8B;IAE9B,6BAA6B;IAEtB,kBAAkB;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc;YACpC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe;YACrC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC3B,CAAC;IAEM,IAAI,KAAU,CAAC;IAEtB;;;;;OAKG;IACI,IAAI,CACV,QAAsB,EACtB,YAA2B;QAE3B,mDAAmD;QACnD,MAAM,iBAAiB,GACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QAE1D,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;YAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,EAAE;gBACrB,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC9C;iBAAM;gBACN,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBACpD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC;aACb;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,oBAAkD,CAAC;QACvD,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,oBAAoB;gBACnB,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC3D,QAAQ,CAAC;SACZ;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU,EAAE;YACnE,oBAAoB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;SAClD;aAAM;YACN,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACzC;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACtD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhE,qEAAqE;QACrE,oFAAoF;QACpF,MAAM,gBAAgB,GAAG;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,iBAAiB,EAAE,UAAU,CAAC,OAAO,KAAK,SAAS;YACnD,eAAe,EACd,UAAU,CAAC,KAAK,KAAK,SAAS;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU;YACxD,cAAc,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS;YAC/C,eAAe,EAAE,eAAe;YAChC,eAAe,EACd,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS;SACxD,CAAC;QAEF,IAAI,oBAAoB,YAAY,yCAAe,EAAE;YACpD,MAAM,eAAe,GAAoB,oBAAoB,CAAC;YAC9D,uCAAuC;YACvC,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;gBAClC,aAAa,CAAC,qBAAqB,EAAE,CAAC;aACtC;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAClD,QAAQ,EACR,aAAa,CACb,CAAC;YAEF,MAAM,MAAM,GAAG,aAAa,CAAC,cAAe,CAAC,MAAM,EAClD,MAAM,GAAG,aAAa,CAAC,cAAe,CAAC,MAAM,CAAC;YAE/C,eAAe,CAAC,IAAI,GAAG,mCAAa,CAAC,KAAK,CAAC;YAE3C,eAAe,CAAC,MAAM,GAAG,gBAAI,CAAC,UAAU,CACvC,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,EACR,MAAM,CAAC,CAAC,CACR,CAAC;YACF,eAAe,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,eAAe,CAAC,kBAAmB,GAAG,kBAAkB,CAAC;SACnE;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CACzD,oBAAoB,IAAI,QAAQ,EAChC,gBAAgB,CAChB,CAAC;QAEF,0EAA0E;QAC1E,IAAI,CAAC,eAAe,EAAE;YACrB,uEAAuE;YACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC1B,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC3B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;aAC1B;SACD;QAED,iFAAiF;QACjF,wDAAwD;QACxD,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;QAE7B,IAAI,mBAAiC,CAAC;QACtC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YACpE,mBAAmB;gBAClB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;YAE/D,mBAAmB,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAExC,gEAAgE;YAChE,qDAAqD;YACrD,IAAI,mBAAmB,YAAY,KAAK,CAAC,aAAa,EAAE;gBACvD,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU,EAAE;oBAC5D,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC;iBACzC;qBAAM,IAAI,YAAY,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;oBAC9D,KACC,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,MAAM,EACtC,CAAC,EAAE,EACF;wBACD,mBAAmB,CAAC,UAAU,CAC7B,CAAC,EACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACvC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAC9B,CACD,CAAC;qBACF;oBACD,2DAA2D;oBAE1D,mBACA,CAAC,aAAc,CAAC,WAAW,GAAG,IAAI,CAAC;iBACpC;aACD;SACD;aAAM;YACN,mBAAmB,GAAG,IAAI,CAAC,UAAU,CACpC,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,YAAY,CACZ,CAAC;YACF,mBAAmB,CAAC,QAAQ,CAAC,QAAQ;gBACpC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG;gBAC3D,GAAG,EAAE,mBAAmB;gBACxB,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,EAAE;gBACV,gBAAgB,EACf,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO;aACzD,CAAC;SACF;QAED,mBAAmB,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACrD,mBAAmB,CAAC,aAAa,GAAG,CAAC,CAAC,QAAQ,YAAY,yBAAW,CAAC;YACrE,CAAC,CAAC,QAAQ,CAAC,aAAa;YACxB,CAAC,CAAC,KAAK,CAAC;QAET,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAEM,aAAa,CAAC,SAAyB;QAC7C,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,SAAS,CAAC,OAAO;YACpB,QAAQ,CAAC,QAAQ,CAChB,IAAI,KAAK,CAAC,eAAe,CACxB,SAAS,CAAC,OAAQ,CAAC,KAAK,EACxB,SAAS,CAAC,OAAQ,CAAC,QAAQ,CAC3B,CACD,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,UAAU,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAChC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EACjC,WAAW,CACX,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAEzD,IAAI,WAAW,KAAK,QAAQ;gBAC3B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC9D,SAAS;YAEX,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAE7C,MAAM,kBAAkB,GACvB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC;YACtD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACrC,MAAM,OAAO,GAGP,EAAE,CAAC;gBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE;oBACjD,OAAO,CAAC,IAAI,CACX,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CACtD,CAAC;gBACH,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;aAClD;YAED,qFAAqF;YACrF,gFAAgF;YAChF,MAAM,cAAc,GAAG,YAAY,EAClC,gBAAgB,GAAG,KAAK,CAAC;YAC1B,IACC,aAAa,KAAK,IAAI;gBACtB,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,EACpC;gBACD,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAEhD,MAAM,kBAAkB,GACvB,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC;gBACtD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACrC,MAAM,OAAO,GAGP,EAAE,CAAC;oBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE;wBACjD,OAAO,CAAC,IAAI,CACX,IAAI,CAAC,aAAa,CACjB,kBAAkB,CAAC,CAAC,CAAC,EACrB,WAAW,CACX,CACD,CAAC;oBACH,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;iBACrD;aACD;SACD;QACD,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAE/D,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC;QACjE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG;YACzC,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,EAAE;SACV,CAAC;QACF,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,+BAA+B,CAAC,EAAU;QAChD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE;YACpC,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;gBAClD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;aACvC;iBAAM;gBACN,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAC1C;SACD;IACF,CAAC;IAEM,sBAAsB,CAAC,QAAsB;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAI,oBAAkD,CAAC;QACvD,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,oBAAoB;gBACnB,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC3D,QAAQ,CAAC;SACZ;aAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU,EAAE;YACnE,oBAAoB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;SAClD;aAAM;YACN,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACzC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC5C,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC;QACtD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEhE,MAAM,gBAAgB,GAAG;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,iBAAiB,EAAE,UAAU,CAAC,OAAO,KAAK,SAAS;YACnD,eAAe,EACd,UAAU,CAAC,KAAK,KAAK,SAAS;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU;YACxD,cAAc,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS;YAC/C,eAAe,EAAE,eAAe;YAChC,eAAe,EACd,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS;SACxD,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAC9D,oBAAoB,IAAI,QAAQ,EAChC,gBAAgB,CAChB,CAAC;QAEF,gEAAgE;QAChE,qDAAqD;QACrD,IAAI,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,aAAa,EAAE;YAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU,EAAE;gBAC5D,MAAM,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;aAChC;SACD;IACF,CAAC;IAEM,uBAAuB,CAAC,EAAU;QACxC,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;YAC5B,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;gBAC1C,IAAI,CAAC,wBAAwB,CAC5B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,gBAAgB,CACxC,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5C,IAAI,CAAC,wBAAwB,CAC5B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,gBAAgB,CACxC,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;aAC/B;iBAAM;gBACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aAClC;SACD;IACF,CAAC;IAED,gCAAgC;IAEhC,8BAA8B;IAEtB,YAAY,CACnB,SAAyB,EACzB,WAAmB,EACnB,MAAgE,EAChE,QAA8B;QAE9B,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE;YACxC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;gBAC9C,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;aACN;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;gBAClD,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;aACN;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE;gBAClD,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;aACN;SACD;QACD,IAAI,CAAC,YAAY,EAAE;YAClB,QAAQ,CAAC,oBAAoB,EAAE,CAAC;YAChC,MAAM,uBAAuB,GAA0B,CACtD,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC/B,CAAC;YAEF,mDAAmD;YACnD,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,uCAAa,CACpD,IAAI,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAC/C,uBAAuB,CAAC,QAAQ,EAChC,CAAC,EACD,CAAC,EACD,CAAC,EACD,uBAAuB,CAAC,UAAU,EAClC,uBAAuB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CACxC,CAAC;YACF,OAAO,IAAI,CAAC;SACZ;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,qBAAqB,CAC5B,QAA8B,EAC9B,QAAwB;QAExB,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAChC,gCAAgC;QAChC,IAAI,KAAK,KAAK,IAAI,EAAE;YACnB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC3B,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;aAC5B;iBAAM;gBACN,MAAM,IAAI,4DAAmC,CAC5C,8FAA8F,CAC9F,CAAC;aACF;SACD;QAED,IAAI,KAAK,KAAK,IAAI;YACjB,MAAM,IAAI,4DAAmC,CAC5C,iFAAiF,CACjF,CAAC;QAEH,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,QAAQ,KAAK,oCAAc,CAAC,YAAY,EAAE;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBAC5C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACnC;SACD;aAAM;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAChB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACnC;qBAAM;oBACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/B;aACD;SACD;QAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,iBAAiB;YAC9C,MAAM,IAAI,4DAAmC,CAC5C,sFAAsF,CACtF,CAAC;QAEH,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAC1B,YAA0B,EAC1B,QAA8B,EAC9B,UAAU,GAAG,IAAI;QAEjB,IACC,IAAI,CAAC,sBAAsB,CAC1B,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAChE,EACA;YACD,IAAI,CAAC,sBAAsB,CAC1B,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAChE,CAAC,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,sBAAsB,CACjC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAChE,CAAC,OAAO,CAAC;SACV;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,0BAA0B,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAChE,UAAU,EACV;gBACC,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,SAAS,EAAE,KAAK,CAAC,YAAY;gBAC7B,SAAS,EAAE,KAAK,CAAC,YAAY;aAC7B,CACD,CAAC;YACF,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;YAChE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS;gBAChD,KAAK,CAAC,aAAa,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS;gBAChD,KAAK,CAAC,aAAa,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAClE,IAAI,CAAC,cAAc,GAAG,IAAI,KAAK,CAAC,UAAU,CACzC,KAAK,EACL,KAAK,EACL,IAAI,CAAC,0BAA0B,CAC/B,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACxC;aAAM;YACN,IAAI,CAAC,0BAA0B,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAChE,UAAU,EACV;gBACC,MAAM,EAAE,KAAK,CAAC,UAAU;gBACxB,SAAS,EAAE,KAAK,CAAC,YAAY;gBAC7B,SAAS,EAAE,KAAK,CAAC,YAAY;aAC7B,CACD,CAAC;YACF,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;YAChE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS;gBAChD,KAAK,CAAC,aAAa,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS;gBAChD,KAAK,CAAC,aAAa,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;YAClE,IAAI,CAAC,cAAe,CAAC,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC;SACpE;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC7B,MAAM,aAAa,GAAG;gBACrB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/D,YAAY,EAAE;;;;;;;iBAOD;gBACb,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCH;aACb,CAAC;YAEF,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC;gBAClD,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAC3D,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,cAAc,EAAE,aAAa,CAAC,cAAc;aAC5C,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;YACpD,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC;SAC1D;QAED,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,cAAe,CAAC,MAAM,CAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC9B,IAAI,CAAC,SAAS,CACd,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAExB,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG;YACpD,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,OAAO;SACzC,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAC1B,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAChE,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO;YAChD,YAAY,EAAE,IAAI,CAAC,0BAA0B;YAC7C,OAAO,EAAE,CAAC;SACV,CAAC;QACF,OAAO,IAAI,CAAC,sBAAsB,CACjC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAChE,CAAC,OAAO,CAAC;IACX,CAAC;IAEO,UAAU,CACjB,QAAsB,EACtB,aAAmC,EACnC,QAAwB,EACxB,YAA2B;QAE3B,IAAI,mBAAiC,CAAC;QACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,MAAM,EAAE;YAC5C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACzD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;YAC5D,mBAAmB,GAAG,MAAM,CAAC;SAC7B;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,KAAK,EAAE;YAClD,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,YAAY,CAC1C,aAAa,EACb,QAAQ,CACR,CAAC;YACF,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC;YAClE,mBAAmB,GAAG,YAAY,CAAC;SACnC;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,SAAS,EAAE;YACtD,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC7D,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YAC9D,mBAAmB,GAAG,QAAQ,CAAC;SAC/B;aAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,UAAU,EAAE;YACvD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACrD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;YAC1D,mBAAmB,GAAG,IAAI,CAAC;SAC3B;aAAM,IACN,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,SAAS;YAC1C,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,cAAc;YAC/C,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,YAAY,EAC5C;YACD,MAAM,cAAc,GAAG,aAAa,CAAC;YACrC,IACC,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,cAAc;gBAC/C,QAAQ,CAAC,IAAI,KAAK,oCAAc,CAAC,YAAY;gBAE7C,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3D,IAAI,YAAY,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7D,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC3D,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,aAAa,CAC5C,cAAc,EACd,QAAQ,EACR,aAAa,CACb,CAAC;gBACF,4CAA4C;gBAC5C,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,iBAAiB,GACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,mCAAa,CAAC,UAAU,CAAC;gBACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;oBACvC,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvD,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oBACzC,IAAI,iBAAiB,EAAE;wBACtB,aAAa,CAAC,UAAU,CACvB,CAAC,EACD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACvC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAC9B,CACD,CAAC;qBACF;iBACD;gBAED,IAAI,aAAa,CAAC,aAAa;oBAC9B,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC;gBAChD,aAAa,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;gBAEhD,8CAA8C;gBAC9C,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC;gBAEnC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACjD,aAAa,CAAC;gBACf,mBAAmB,GAAG,aAAa,CAAC;aACpC;iBAAM;gBACN,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACtD,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;gBAC1D,mBAAmB,GAAG,IAAI,CAAC;aAC3B;SACD;aAAM;YACN,MAAM,IAAI,4DAAmC,CAC5C,oDAAoD,QAAQ,CAAC,IAAI,GAAG,CACpE,CAAC;SACF;QAED,6DAA6D;QAC7D,MAAM,aAAa,GAAG;YACrB,IAAI,EAAE,QAAQ,CAAC,EAAE;YACjB,SAAS,EAAE,QAAQ,CAAC,OAAO;YAC3B,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;YACpC,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO;SAC9C,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACX,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,OAAO,CAChC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EACX,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CACX,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,CACtC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAC7B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAC7B,CAAC;QACF,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEzC,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAC/C,SAAS,CAAC,QAAQ,GAAG,aAAa,CAAC;QACnC,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;QAE9C,uFAAuF;QACvF,iEAAiE;QACjE,IAAI,CAAC,YAAY,EAAE;YAClB,mBAAmB,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC7C;QAED,IACC,mBAAmB,YAAY,KAAK,CAAC,IAAI;YACzC,mBAAmB,CAAC,QAAQ,CAAC,uBAAuB,KAAK,IAAI,EAC5D;YACD,0DAA0D;YAC1D,SAAS,CAAC,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzD,SAAS,CAAC,cAAc,GAAG,IAAI,KAAK,CAAC,MAAM,CAC1C,aAAa,EACb,IAAI,CAAC,cAAc,CAAC,MAAM,CAC1B,CAAC;YACW,mBAAoB,CAAC,qBAAqB;gBACtD,QAAQ,CAAC,YAAY,CAAC;SACvB;QAED,OAAO,mBAAmB,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC3C,QAAQ,WAAW,EAAE;YACpB,KAAK,UAAU;gBACd,OAAO,UAAU,CAAC;YACnB,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU,CAAC;YAChB,KAAK,IAAI;gBACR,OAAO,IAAI,CAAC;YACb,KAAK,YAAY;gBAChB,OAAO,KAAK,CAAC;YACd,KAAK,YAAY;gBAChB,OAAO,KAAK,CAAC;YACd,KAAK,YAAY;gBAChB,OAAO,KAAK,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO;gBACX,OAAO,OAAO,CAAC;YAChB,KAAK,SAAS;gBACb,OAAO,SAAS,CAAC;YAClB,KAAK,gBAAgB;gBACpB,OAAO,eAAe,CAAC;YACxB;gBACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAChB,2DAA2D,WAAW,GAAG,CACzE,CAAC;SACH;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAEO,aAAa,CACpB,eAA+B,EAC/B,WAAmB;QAEnB,IAAI,MAAgE,CAAC;QAErE,IACC,eAAe,CAAC,UAAU;YAC1B,eAAe,CAAC,UAAU,KAAK,eAAe,CAAC,SAAS,EACvD;YACD,iEAAiE;YACjE,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,iBAAiB,CACrC,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,YAAY,CACzD,CAAC;YACF,MAAM,GAAG,IAAI,KAAK,CAAC,0BAA0B,CAC5C,EAAE,EACF,eAAe,CAAC,QAAQ,EACxB,CAAC,eAAe,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;gBACxD,eAAe,CAAC,YAAY,EAC7B,eAAe,CAAC,UAAU,CAC1B,CAAC;SACF;aAAM;YACN,MAAM,GAAG,IAAI,KAAK,CAAC,eAAe,CACjC,eAAe,CAAC,KAAK,EACrB,eAAe,CAAC,QAAQ,EACxB,WAAW,KAAK,SAAS;gBACzB,WAAW,KAAK,QAAQ;gBACxB,WAAW,KAAK,OAAO;gBACtB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,eAAe,CAAC,UAAU,CAC7B,CAAC;SACF;QAED,IAAI,eAAe,CAAC,MAAM,EAAE;YAC3B,IAAI,eAAe,CAAC,KAAK,KAAK,IAAI,EAAE;gBACnC,8FAA8F;gBAC9F,MAAM,GAAG,IAAI,KAAK,CAAC,eAAe,CACjC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,EAC7B,eAAe,CAAC,QAAQ,EACxB,eAAe,CAAC,UAAU,CAC1B,CAAC;aACF;YAED,KACC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,eAAe,CAAC,aAAc,CAAC,MAAM,EACrD,CAAC,GAAG,EAAE,EACN,CAAC,EAAE,EACF;gBACD,MAAM,KAAK,GAAG,eAAe,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CACV,KAAK,EACL,eAAe,CAAC,YAAa,CAAC,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAC3D,CAAC;gBACF,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC;oBAChC,MAAM,CAAC,IAAI,CACV,KAAK,EACL,eAAe,CAAC,YAAa,CAC5B,CAAC,GAAG,eAAe,CAAC,QAAQ,GAAG,CAAC,CAChC,CACD,CAAC;gBACH,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC;oBAChC,MAAM,CAAC,IAAI,CACV,KAAK,EACL,eAAe,CAAC,YAAa,CAC5B,CAAC,GAAG,eAAe,CAAC,QAAQ,GAAG,CAAC,CAChC,CACD,CAAC;gBACH,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC;oBAChC,MAAM,CAAC,IAAI,CACV,KAAK,EACL,eAAe,CAAC,YAAa,CAC5B,CAAC,GAAG,eAAe,CAAC,QAAQ,GAAG,CAAC,CAChC,CACD,CAAC;gBACH,IAAI,eAAe,CAAC,QAAQ,IAAI,CAAC;oBAChC,MAAM,IAAI,4DAAmC,CAC5C,+EAA+E,CAC/E,CAAC;aACH;SACD;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,wBAAwB,CAAC,EAAU;QAC1C,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;gBAC3C,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACjD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa;qBACtD,UAAU;oBACX,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEtD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7C,CAAC,CAAC,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,UAAU;wBAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACvD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACN,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;aACnC;SACD;IACF,CAAC;CAGD;AA53BD,wCA43BC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
2
|
-
import { HTMLElementAnchorData } from "@shapediver/viewer.shared.types";
|
|
1
|
+
import { HTMLElementAnchorData, ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
2
|
import { ILoader } from "../interfaces/ILoader";
|
|
4
3
|
import { RenderingEngine } from "../RenderingEngine";
|
|
5
4
|
export declare class HTMLElementAnchorLoader implements ILoader {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTMLElementAnchorLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HTMLElementAnchorLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,qBAAqB,EACrB,SAAS,EACT,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,uBAAwB,YAAW,OAAO;IAe1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAZ7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAKvB;IACP,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;gBAMf,gBAAgB,EAAE,eAAe;IAS9D,IAAW,SAAS,IAAI,cAAc,CAErC;IAMM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IA4C9D,IAAI,IAAI,IAAI;IAIZ,IAAI,CACV,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,qBAAqB,EAC7B,oBAAoB,EAAE,OAAO,GAC3B,IAAI;IAuBA,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IActC,cAAc,CAAC,MAAM,EAAE,OAAO;CAiBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HTMLElementAnchorLoader.js","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"HTMLElementAnchorLoader.js","sourceRoot":"","sources":["../../src/loaders/HTMLElementAnchorLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AbstractLight } from "@shapediver/viewer.rendering-engine.light-engine";
|
|
2
2
|
import { IBox } from "@shapediver/viewer.shared.math";
|
|
3
|
+
import * as THREE from "three";
|
|
3
4
|
import { ILoader } from "../interfaces/ILoader";
|
|
4
|
-
import {
|
|
5
|
+
import { SDObject } from "../objects/SDObject";
|
|
5
6
|
import { RenderingEngine } from "../RenderingEngine";
|
|
6
7
|
export declare class LightLoader implements ILoader {
|
|
7
8
|
private readonly _renderingEngine;
|
|
@@ -12,8 +13,8 @@ export declare class LightLoader implements ILoader {
|
|
|
12
13
|
set forceDisabledShadows(value: boolean);
|
|
13
14
|
get shadowMapCount(): number;
|
|
14
15
|
set shadowMapCount(value: number);
|
|
15
|
-
adjustToBoundingBox(light: AbstractLight, dataChild:
|
|
16
|
+
adjustToBoundingBox(light: AbstractLight, dataChild: SDObject, boundingBox: IBox): void;
|
|
16
17
|
init(): void;
|
|
17
|
-
load(light: AbstractLight, dataChild:
|
|
18
|
+
load(light: AbstractLight, dataChild: SDObject): THREE.Light<THREE.LightShadow<THREE.Camera> | undefined> | null;
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=LightLoader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EAMb,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAU,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"LightLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,aAAa,EAMb,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAU,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,WAAY,YAAW,OAAO;IAU9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAP7C,OAAO,CAAC,qBAAqB,CAAkB;IAC/C,OAAO,CAAC,eAAe,CAAK;gBAMC,gBAAgB,EAAE,eAAe;IAM9D,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED,IAAW,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAE7C;IAED,IAAW,cAAc,IAAI,MAAM,CAElC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,EAEtC;IAMM,mBAAmB,CACzB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,QAAQ,EACnB,WAAW,EAAE,IAAI;IA2CX,IAAI,IAAI,IAAI;IAEZ,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ;CAwJrD"}
|
|
@@ -102,6 +102,10 @@ class LightLoader {
|
|
|
102
102
|
if (!threeLight) {
|
|
103
103
|
threeLight = new THREE.DirectionalLight();
|
|
104
104
|
dataChild.add(threeLight);
|
|
105
|
+
threeLight.target.userData.SDid =
|
|
106
|
+
light.id;
|
|
107
|
+
threeLight.target.userData.SDversion =
|
|
108
|
+
light.version;
|
|
105
109
|
dataChild.add(threeLight.target);
|
|
106
110
|
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
107
111
|
}
|
|
@@ -157,6 +161,9 @@ class LightLoader {
|
|
|
157
161
|
threeLight = new THREE.SpotLight(this._renderingEngine.createThreeJsColor(light.color), light.intensity, light.distance, light.angle, light.penumbra, light.decay);
|
|
158
162
|
dataChild.add(threeLight);
|
|
159
163
|
dataChild.add(threeLight.target);
|
|
164
|
+
threeLight.target.userData.SDid = light.id;
|
|
165
|
+
threeLight.target.userData.SDversion =
|
|
166
|
+
light.version;
|
|
160
167
|
light.convertedObject[this._renderingEngine.id] = threeLight;
|
|
161
168
|
}
|
|
162
169
|
const threeSpotLight = threeLight;
|
|
@@ -174,6 +181,7 @@ class LightLoader {
|
|
|
174
181
|
threeSpotLight.position.set(light.position[0], light.position[1], light.position[2]);
|
|
175
182
|
threeSpotLight.target.position.set(light.target[0], light.target[1], light.target[2]);
|
|
176
183
|
}
|
|
184
|
+
return threeLight;
|
|
177
185
|
}
|
|
178
186
|
}
|
|
179
187
|
exports.LightLoader = LightLoader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LightLoader.js","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2GAO0D;AAE1D,6CAA+B;AAK/B,MAAa,WAAW;IAMvB,4BAA4B;IAE5B,2BAA2B;IAE3B,YAA6B,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;QAT9D,yBAAyB;QAEjB,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAG,CAAC,CAAC;IAMqC,CAAC;IAElE,8BAA8B;IAE9B,yCAAyC;IAEzC,IAAW,oBAAoB;QAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAc;QAC7C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,IAAW,cAAc;QACxB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED,IAAW,cAAc,CAAC,KAAa;QACtC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,4CAA4C;IAE5C,6BAA6B;IAEtB,mBAAmB,CACzB,KAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"LightLoader.js","sourceRoot":"","sources":["../../src/loaders/LightLoader.ts"],"names":[],"mappings":"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"}
|