@combeenation/3d-viewer 6.4.1-beta1 → 7.0.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib-cjs/api/classes/element.d.ts +4 -0
- package/dist/lib-cjs/api/classes/element.js +59 -58
- package/dist/lib-cjs/api/classes/element.js.map +1 -1
- package/dist/lib-cjs/api/classes/event.d.ts +55 -1
- package/dist/lib-cjs/api/classes/event.js +55 -1
- package/dist/lib-cjs/api/classes/event.js.map +1 -1
- package/dist/lib-cjs/api/classes/fuzzyMap.d.ts +7 -0
- package/dist/lib-cjs/api/classes/fuzzyMap.js +22 -0
- package/dist/lib-cjs/api/classes/fuzzyMap.js.map +1 -0
- package/dist/lib-cjs/api/classes/parameter.d.ts +12 -0
- package/dist/lib-cjs/api/classes/parameter.js +86 -33
- package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
- package/dist/lib-cjs/api/classes/parameterObservable.js +2 -27
- package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
- package/dist/lib-cjs/api/classes/variant.d.ts +23 -4
- package/dist/lib-cjs/api/classes/variant.js +45 -20
- package/dist/lib-cjs/api/classes/variant.js.map +1 -1
- package/dist/lib-cjs/api/classes/variantInstance.d.ts +11 -2
- package/dist/lib-cjs/api/classes/variantInstance.js +22 -2
- package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
- package/dist/lib-cjs/api/classes/viewer.d.ts +13 -1
- package/dist/lib-cjs/api/classes/viewer.js +57 -7
- package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
- package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -1
- package/dist/lib-cjs/api/manager/animationManager.d.ts +3 -3
- package/dist/lib-cjs/api/manager/animationManager.js.map +1 -1
- package/dist/lib-cjs/api/manager/sceneManager.js.map +1 -1
- package/dist/lib-cjs/api/manager/tagManager.d.ts +108 -0
- package/dist/lib-cjs/api/manager/tagManager.js +420 -0
- package/dist/lib-cjs/api/manager/tagManager.js.map +1 -0
- package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +8 -3
- package/dist/lib-cjs/api/manager/variantInstanceManager.js +27 -8
- package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +1 -1
- package/dist/lib-cjs/api/store/specStorage.d.ts +8 -0
- package/dist/lib-cjs/api/store/specStorage.js +15 -0
- package/dist/lib-cjs/api/store/specStorage.js.map +1 -1
- package/dist/lib-cjs/api/util/babylonHelper.d.ts +36 -7
- package/dist/lib-cjs/api/util/babylonHelper.js +92 -15
- package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
- package/dist/lib-cjs/api/util/globalTypes.d.ts +38 -1
- package/dist/lib-cjs/api/util/sceneLoaderHelper.d.ts +1 -0
- package/dist/lib-cjs/api/util/sceneLoaderHelper.js +20 -2
- package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +1 -1
- package/dist/lib-cjs/buildinfo.json +1 -1
- package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
- package/dist/lib-cjs/index.d.ts +3 -1
- package/dist/lib-cjs/index.js +5 -1
- package/dist/lib-cjs/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/classes/element.ts +96 -82
- package/src/api/classes/event.ts +68 -1
- package/src/api/classes/fuzzyMap.ts +21 -0
- package/src/api/classes/parameter.ts +91 -34
- package/src/api/classes/parameterObservable.ts +2 -29
- package/src/api/classes/variant.ts +82 -33
- package/src/api/classes/variantInstance.ts +27 -1
- package/src/api/classes/viewer.ts +63 -12
- package/src/api/classes/viewerLight.ts +10 -10
- package/src/api/manager/animationManager.ts +2 -2
- package/src/api/manager/sceneManager.ts +5 -1
- package/src/api/manager/tagManager.ts +451 -0
- package/src/api/manager/variantInstanceManager.ts +35 -8
- package/src/api/store/specStorage.ts +17 -0
- package/src/api/util/babylonHelper.ts +99 -21
- package/src/api/util/globalTypes.ts +56 -1
- package/src/api/util/sceneLoaderHelper.ts +21 -2
- package/src/dev.ts +3 -1
- package/src/index.ts +4 -0
- package/src/types.d.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specStorage.js","sourceRoot":"","sources":["../../../../src/api/store/specStorage.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,MAAa,WAAW;IAGtB;;OAEG;IACH,YAAgC,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,aAA4B;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAI,GAAG,EAAE;YACP,OAAO,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAM,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"specStorage.js","sourceRoot":"","sources":["../../../../src/api/store/specStorage.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,MAAa,WAAW;IAGtB;;OAEG;IACH,YAAgC,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,aAA4B;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAI,GAAG,EAAE;YACP,OAAO,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAM,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAjED,kCAiEC"}
|
|
@@ -29,11 +29,12 @@ declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) =>
|
|
|
29
29
|
declare const getDottedPathForNode: (node: Node) => DottedPath;
|
|
30
30
|
/**
|
|
31
31
|
* @param node
|
|
32
|
+
* @param nodeNamingStrategy
|
|
32
33
|
* @param predicate
|
|
33
34
|
* @param deep
|
|
34
35
|
* @return TransformNode | null
|
|
35
36
|
*/
|
|
36
|
-
declare const cloneTransformNode: (node: TransformNode, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
|
|
37
|
+
declare const cloneTransformNode: (node: TransformNode, nodeNamingStrategy: NodeNamingStrategy, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
|
|
37
38
|
/**
|
|
38
39
|
* @param node
|
|
39
40
|
*/
|
|
@@ -57,7 +58,12 @@ declare const injectNodeMetadata: (node: Node, metadata: {}, deep?: boolean) =>
|
|
|
57
58
|
* @param callableParameters
|
|
58
59
|
* @param deep
|
|
59
60
|
*/
|
|
60
|
-
declare const assertTransformNode: (node: TransformNode, assertCallable:
|
|
61
|
+
declare const assertTransformNode: (node: TransformNode, assertCallable: (node: TransformNode, ...args: any[]) => void, callableParameters?: any[], deep?: boolean) => void;
|
|
62
|
+
/**
|
|
63
|
+
* @param node
|
|
64
|
+
* @param parameter
|
|
65
|
+
*/
|
|
66
|
+
declare const assertMeshCapability: (node: TransformNode, parameter: string) => void;
|
|
61
67
|
/**
|
|
62
68
|
* @param node
|
|
63
69
|
* @param deep
|
|
@@ -102,17 +108,17 @@ declare const changeEnvironment: (scene: Scene, envDef: EnvironmentDefinition) =
|
|
|
102
108
|
* Finally the material will not be applied before all its textures have been loaded. In this way "flickering" effects
|
|
103
109
|
* will be avoided, since the material would be incomplete without its loaded textures.
|
|
104
110
|
*/
|
|
105
|
-
declare const setMaterial: (
|
|
111
|
+
declare const setMaterial: (node: TransformNode, materialId: string, deep?: boolean, variant?: Variant) => void;
|
|
106
112
|
/**
|
|
107
113
|
* Gets the Material either from the given {@link Variant}, the given scene or tries to create it from an Combeenation
|
|
108
114
|
* material asset when inside a Combeenation configurator.
|
|
109
115
|
*/
|
|
110
116
|
declare const getOrCreateMaterial: (scene: Scene, materialId: string, variant?: Variant) => Material;
|
|
111
117
|
/**
|
|
112
|
-
* Waits until the materials textures are loaded and
|
|
113
|
-
* request
|
|
118
|
+
* Waits until the materials textures are loaded and shaders are compiled.
|
|
119
|
+
* Then sets the material on the node if there is no newer "set material" request
|
|
114
120
|
*/
|
|
115
|
-
declare const
|
|
121
|
+
declare const applyMaterial: (material: Material, node: AbstractMesh) => Promise<void>;
|
|
116
122
|
/**
|
|
117
123
|
* !!! Warning !!!
|
|
118
124
|
* This function is not public API. Whilst it can help solving certain problems, it only works reliably in well defined
|
|
@@ -203,4 +209,27 @@ declare type BaseTextureWithOnLoadObservable = BaseTexture & {
|
|
|
203
209
|
* See the following for more details: https://forum.babylonjs.com/t/basetexture-whenallready-returns-too-early/34501/6
|
|
204
210
|
*/
|
|
205
211
|
declare const isTextureWithOnLoadObservable: (texture: BaseTexture) => texture is BaseTextureWithOnLoadObservable;
|
|
206
|
-
|
|
212
|
+
/**
|
|
213
|
+
* @param objects
|
|
214
|
+
* @param tagMapping
|
|
215
|
+
*/
|
|
216
|
+
declare const mapTags: (objects: object[], tagMapping: TagMapping) => string[];
|
|
217
|
+
/**
|
|
218
|
+
* Gets an array of ids for nodeIds that exist in both TransformNode arrays.
|
|
219
|
+
* @param nodes1
|
|
220
|
+
* @param nodes2
|
|
221
|
+
* @param predicate
|
|
222
|
+
*/
|
|
223
|
+
declare const intersectingNodeNames: (nodes1: Node[], nodes2: Node[], predicate?: ((node: Node) => boolean) | undefined) => string[];
|
|
224
|
+
/**
|
|
225
|
+
* Gets an array of ids for duplicate nodeIds in given node array.
|
|
226
|
+
* @param nodes
|
|
227
|
+
* @param predicate
|
|
228
|
+
*/
|
|
229
|
+
declare const duplicateNodeNames: (nodes: Node[], predicate?: ((node: Node) => boolean) | undefined) => string[];
|
|
230
|
+
/**
|
|
231
|
+
* Reports duplicate nodeIds.
|
|
232
|
+
* @param nodeNames
|
|
233
|
+
*/
|
|
234
|
+
declare const reportDuplicateNodeNames: (nodeNames: string[]) => void;
|
|
235
|
+
export { getRootNode, isTextureWithOnLoadObservable, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, getOrCreateMaterial, applyMaterial, injectNodeMetadata, assertTransformNode, assertMeshCapability, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, transformTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh, changeEnvironment, backgroundDomeName, envHelperMetadataName, mapTags, intersectingNodeNames, duplicateNodeNames, reportDuplicateNodeNames, };
|
|
@@ -9,8 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.envHelperMetadataName = exports.backgroundDomeName = exports.changeEnvironment = exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.transformTransformNode = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectNodeMetadata = exports.
|
|
12
|
+
exports.reportDuplicateNodeNames = exports.duplicateNodeNames = exports.intersectingNodeNames = exports.mapTags = exports.envHelperMetadataName = exports.backgroundDomeName = exports.changeEnvironment = exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.transformTransformNode = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertMeshCapability = exports.assertTransformNode = exports.injectNodeMetadata = exports.applyMaterial = exports.getOrCreateMaterial = exports.cloneTransformNodeMaterial = exports.cloneNodeWithParents = exports.cloneTransformNode = exports.getDottedPathForNode = exports.mapToDottedNodes = exports.isTextureWithOnLoadObservable = exports.getRootNode = void 0;
|
|
13
13
|
const dottedPath_1 = require("../classes/dottedPath");
|
|
14
|
+
const event_1 = require("../classes/event");
|
|
14
15
|
const sceneSetup_1 = require("../internal/sceneSetup");
|
|
15
16
|
const sceneLoaderHelper_1 = require("./sceneLoaderHelper");
|
|
16
17
|
const photoDome_1 = require("@babylonjs/core/Helpers/photoDome");
|
|
@@ -23,6 +24,7 @@ const math_vector_1 = require("@babylonjs/core/Maths/math.vector");
|
|
|
23
24
|
const abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
|
|
24
25
|
const instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
|
|
25
26
|
const transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
|
|
27
|
+
const tags_1 = require("@babylonjs/core/Misc/tags");
|
|
26
28
|
const tools_1 = require("@babylonjs/core/Misc/tools");
|
|
27
29
|
const lodash_es_1 = require("lodash-es");
|
|
28
30
|
const backgroundDomeName = 'BackgroundDome_ViewerGenerated';
|
|
@@ -79,17 +81,21 @@ const getDottedPathForNode = function (node) {
|
|
|
79
81
|
exports.getDottedPathForNode = getDottedPathForNode;
|
|
80
82
|
/**
|
|
81
83
|
* @param node
|
|
84
|
+
* @param nodeNamingStrategy
|
|
82
85
|
* @param predicate
|
|
83
86
|
* @param deep
|
|
84
87
|
* @return TransformNode | null
|
|
85
88
|
*/
|
|
86
|
-
const cloneTransformNode = function (node, predicate, deep = true) {
|
|
89
|
+
const cloneTransformNode = function (node, nodeNamingStrategy, predicate, deep = true) {
|
|
87
90
|
if (predicate && !predicate(node)) {
|
|
88
91
|
return null;
|
|
89
92
|
}
|
|
90
|
-
const
|
|
93
|
+
const newName = nodeNamingStrategy.handler(node, nodeNamingStrategy.payload);
|
|
94
|
+
const clone = node.clone(newName, node.parent, true);
|
|
91
95
|
if (clone) {
|
|
96
|
+
clone.id = newName;
|
|
92
97
|
clone.metadata = (0, lodash_es_1.cloneDeep)(node.metadata);
|
|
98
|
+
injectNodeMetadata(clone, { cloneSource: node }, false);
|
|
93
99
|
// if the cloned node is of type InstancedMesh, due to a bug(?),
|
|
94
100
|
// the InstancedMesh.isEnabled state may have changed after cloning.
|
|
95
101
|
// in that case, set the clone's enabled state to the original's state
|
|
@@ -100,7 +106,7 @@ const cloneTransformNode = function (node, predicate, deep = true) {
|
|
|
100
106
|
if (deep) {
|
|
101
107
|
const children = node.getChildTransformNodes(true);
|
|
102
108
|
children.forEach(child => {
|
|
103
|
-
const clonedChild = cloneTransformNode(child, predicate, deep);
|
|
109
|
+
const clonedChild = cloneTransformNode(child, nodeNamingStrategy, predicate, deep);
|
|
104
110
|
if (clonedChild) {
|
|
105
111
|
clonedChild.parent = clone;
|
|
106
112
|
}
|
|
@@ -171,6 +177,20 @@ const assertTransformNode = function (node, assertCallable, callableParameters =
|
|
|
171
177
|
}
|
|
172
178
|
};
|
|
173
179
|
exports.assertTransformNode = assertTransformNode;
|
|
180
|
+
/**
|
|
181
|
+
* @param node
|
|
182
|
+
* @param parameter
|
|
183
|
+
*/
|
|
184
|
+
const assertMeshCapability = function (node, parameter) {
|
|
185
|
+
if (!(node instanceof abstractMesh_1.AbstractMesh)) {
|
|
186
|
+
const cls = node.getClassName();
|
|
187
|
+
throw new Error(`Changing parameter "${parameter}" of a(n) ${cls} is not supported. Tried to change node "${node.id}".`);
|
|
188
|
+
}
|
|
189
|
+
if (node instanceof instancedMesh_1.InstancedMesh) {
|
|
190
|
+
throw new Error(`Changing parameter "${parameter}" of an InstancedMesh is not supported. Tried to change node "${node.id}".`);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
exports.assertMeshCapability = assertMeshCapability;
|
|
174
194
|
/**
|
|
175
195
|
* @param node
|
|
176
196
|
* @param deep
|
|
@@ -348,9 +368,9 @@ exports.changeEnvironment = changeEnvironment;
|
|
|
348
368
|
* Finally the material will not be applied before all its textures have been loaded. In this way "flickering" effects
|
|
349
369
|
* will be avoided, since the material would be incomplete without its loaded textures.
|
|
350
370
|
*/
|
|
351
|
-
const setMaterial = function (
|
|
371
|
+
const setMaterial = function (node, materialId, deep = true, variant) {
|
|
352
372
|
if (node instanceof abstractMesh_1.AbstractMesh) {
|
|
353
|
-
const materialExists =
|
|
373
|
+
const materialExists = node.getScene().getMaterialById(materialId);
|
|
354
374
|
const hasMissingMaterial = (0, lodash_es_1.has)(node.metadata, sceneLoaderHelper_1.missingMaterialMetadataName);
|
|
355
375
|
const deferMaterialCreation = !materialExists && !node.isEnabled();
|
|
356
376
|
if (deferMaterialCreation) {
|
|
@@ -362,9 +382,9 @@ const setMaterial = function (scene, node, materialId, deep = true, variant) {
|
|
|
362
382
|
}
|
|
363
383
|
}
|
|
364
384
|
else {
|
|
365
|
-
// create material
|
|
366
|
-
const material = getOrCreateMaterial(
|
|
367
|
-
|
|
385
|
+
// create material and apply it when textures have been loaded
|
|
386
|
+
const material = getOrCreateMaterial(node.getScene(), materialId, variant);
|
|
387
|
+
applyMaterial(material, node).then(() => event_1.emitter.emit(event_1.Event.MESH_MATERIAL_APPLIED, node, material));
|
|
368
388
|
if (hasMissingMaterial) {
|
|
369
389
|
delete node.metadata[sceneLoaderHelper_1.missingMaterialMetadataName];
|
|
370
390
|
}
|
|
@@ -373,7 +393,7 @@ const setMaterial = function (scene, node, materialId, deep = true, variant) {
|
|
|
373
393
|
// recursively set materials on children (if desired)
|
|
374
394
|
if (deep) {
|
|
375
395
|
for (const child of node.getChildTransformNodes(true)) {
|
|
376
|
-
setMaterial(
|
|
396
|
+
setMaterial(child, materialId, deep, variant);
|
|
377
397
|
}
|
|
378
398
|
}
|
|
379
399
|
};
|
|
@@ -399,10 +419,11 @@ const getOrCreateMaterial = function (scene, materialId, variant) {
|
|
|
399
419
|
};
|
|
400
420
|
exports.getOrCreateMaterial = getOrCreateMaterial;
|
|
401
421
|
/**
|
|
402
|
-
* Waits until the materials textures are loaded and
|
|
403
|
-
* request
|
|
422
|
+
* Waits until the materials textures are loaded and shaders are compiled.
|
|
423
|
+
* Then sets the material on the node if there is no newer "set material" request
|
|
404
424
|
*/
|
|
405
|
-
const
|
|
425
|
+
const applyMaterial = function (material, node) {
|
|
426
|
+
var _a;
|
|
406
427
|
return __awaiter(this, void 0, void 0, function* () {
|
|
407
428
|
// set current material id as last valid id, in this case all previously set materials on the node will be invalidated
|
|
408
429
|
injectNodeMetadata(node, { [materialWaitingToBeSetMetadataName]: material.id }, false);
|
|
@@ -417,13 +438,13 @@ const applyMaterialAfterTexturesLoaded = function (material, node) {
|
|
|
417
438
|
// if this would not be the case you can see some "flickering" when setting the material
|
|
418
439
|
yield Promise.all([promTexturesReady, promMaterialCompiled]);
|
|
419
440
|
// textures ready, now check if the material is still up-to-date
|
|
420
|
-
if (material.id === node.metadata[materialWaitingToBeSetMetadataName]) {
|
|
441
|
+
if (material.id === ((_a = node.metadata) === null || _a === void 0 ? void 0 : _a[materialWaitingToBeSetMetadataName])) {
|
|
421
442
|
node.material = material;
|
|
422
443
|
delete node.metadata[materialWaitingToBeSetMetadataName];
|
|
423
444
|
}
|
|
424
445
|
});
|
|
425
446
|
};
|
|
426
|
-
exports.
|
|
447
|
+
exports.applyMaterial = applyMaterial;
|
|
427
448
|
/**
|
|
428
449
|
* !!! Warning !!!
|
|
429
450
|
* This function is not public API. Whilst it can help solving certain problems, it only works reliably in well defined
|
|
@@ -471,6 +492,7 @@ const setMaterialColor = function (node, color, deep = true) {
|
|
|
471
492
|
default:
|
|
472
493
|
throw new Error(`Setting color for material of instance "${materialCls}" not implemented (yet).`);
|
|
473
494
|
}
|
|
495
|
+
setMaterial(node, node.material.id, false);
|
|
474
496
|
}
|
|
475
497
|
if (deep) {
|
|
476
498
|
node.getChildTransformNodes(true).forEach(child => setMaterialColor(child, color, deep));
|
|
@@ -495,6 +517,7 @@ const setMaterialTexture = function (node, texture, deep = true) {
|
|
|
495
517
|
default:
|
|
496
518
|
throw new Error(`Setting texture for material of instance "${materialCls}" not implemented (yet).`);
|
|
497
519
|
}
|
|
520
|
+
setMaterial(node, node.material.id, false);
|
|
498
521
|
}
|
|
499
522
|
if (deep) {
|
|
500
523
|
node.getChildTransformNodes(true).forEach(child => setMaterialTexture(child, texture, deep));
|
|
@@ -516,6 +539,7 @@ const setMaterialMetallness = function (node, metallness, deep = true) {
|
|
|
516
539
|
default:
|
|
517
540
|
throw new Error(`Setting metallness for material of instance "${materialCls}" not implemented (yet).`);
|
|
518
541
|
}
|
|
542
|
+
setMaterial(node, node.material.id, false);
|
|
519
543
|
}
|
|
520
544
|
if (deep) {
|
|
521
545
|
node.getChildTransformNodes(true).forEach(child => setMaterialMetallness(child, metallness, deep));
|
|
@@ -540,6 +564,7 @@ const setMaterialRoughness = function (node, roughness, deep = true) {
|
|
|
540
564
|
default:
|
|
541
565
|
throw new Error(`Setting roughness for material of instance "${materialCls}" not implemented (yet).`);
|
|
542
566
|
}
|
|
567
|
+
setMaterial(node, node.material.id, false);
|
|
543
568
|
}
|
|
544
569
|
if (deep) {
|
|
545
570
|
node.getChildTransformNodes(true).forEach(child => setMaterialRoughness(child, roughness, deep));
|
|
@@ -666,4 +691,56 @@ const isTextureWithOnLoadObservable = function (texture) {
|
|
|
666
691
|
return !!texture.onLoadObservable;
|
|
667
692
|
};
|
|
668
693
|
exports.isTextureWithOnLoadObservable = isTextureWithOnLoadObservable;
|
|
694
|
+
/**
|
|
695
|
+
* @param objects
|
|
696
|
+
* @param tagMapping
|
|
697
|
+
*/
|
|
698
|
+
const mapTags = function (objects, tagMapping) {
|
|
699
|
+
var _a;
|
|
700
|
+
let affectedTags = [];
|
|
701
|
+
for (const object of objects) {
|
|
702
|
+
const oldTags = Object.keys((_a = tags_1.Tags.GetTags(object, false)) !== null && _a !== void 0 ? _a : {});
|
|
703
|
+
const mappedTags = oldTags.map(t => tagMapping[t] || t);
|
|
704
|
+
tags_1.Tags.RemoveTagsFrom(object, oldTags.join(' '));
|
|
705
|
+
tags_1.Tags.AddTagsTo(object, mappedTags.join(' '));
|
|
706
|
+
affectedTags = [...affectedTags, ...mappedTags];
|
|
707
|
+
}
|
|
708
|
+
return (0, lodash_es_1.uniq)(affectedTags);
|
|
709
|
+
};
|
|
710
|
+
exports.mapTags = mapTags;
|
|
711
|
+
/**
|
|
712
|
+
* Gets an array of ids for nodeIds that exist in both TransformNode arrays.
|
|
713
|
+
* @param nodes1
|
|
714
|
+
* @param nodes2
|
|
715
|
+
* @param predicate
|
|
716
|
+
*/
|
|
717
|
+
const intersectingNodeNames = function (nodes1, nodes2, predicate) {
|
|
718
|
+
const nodeNames1 = nodes1.filter(n => !predicate || predicate(n)).map(n => n.name);
|
|
719
|
+
const nodesNames2 = nodes2.filter(n => !predicate || predicate(n)).map(n => n.name);
|
|
720
|
+
return nodeNames1.filter(n1 => nodesNames2.includes(n1));
|
|
721
|
+
};
|
|
722
|
+
exports.intersectingNodeNames = intersectingNodeNames;
|
|
723
|
+
/**
|
|
724
|
+
* Gets an array of ids for duplicate nodeIds in given node array.
|
|
725
|
+
* @param nodes
|
|
726
|
+
* @param predicate
|
|
727
|
+
*/
|
|
728
|
+
const duplicateNodeNames = function (nodes, predicate) {
|
|
729
|
+
const nodeNames = nodes.filter(n => !predicate || predicate(n)).map(n => n.name);
|
|
730
|
+
return nodeNames.filter((v, i, self) => self.indexOf(v) !== i);
|
|
731
|
+
};
|
|
732
|
+
exports.duplicateNodeNames = duplicateNodeNames;
|
|
733
|
+
/**
|
|
734
|
+
* Reports duplicate nodeIds.
|
|
735
|
+
* @param nodeNames
|
|
736
|
+
*/
|
|
737
|
+
const reportDuplicateNodeNames = function (nodeNames) {
|
|
738
|
+
var _a;
|
|
739
|
+
if (nodeNames.length > 0) {
|
|
740
|
+
const warn = `There are duplicate nodeNames: ${nodeNames.join(', ')}`;
|
|
741
|
+
console.warn(`!!! Warning !!!\n${warn}`);
|
|
742
|
+
(_a = window.Cbn) === null || _a === void 0 ? void 0 : _a.Assets.reportDuplicateNodeName(nodeNames);
|
|
743
|
+
}
|
|
744
|
+
};
|
|
745
|
+
exports.reportDuplicateNodeNames = reportDuplicateNodeNames;
|
|
669
746
|
//# sourceMappingURL=babylonHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sDAAmD;AACnD,4CAAkD;AAClD,uDAAuF;AACvF,2DAI6B;AAE7B,iEAA8D;AAG9D,wDAAqD;AAErD,gFAA6E;AAC7E,gFAA6E;AAG7E,+DAAuD;AACvD,iEAAkE;AAClE,mEAAwE;AACxE,sEAAmE;AACnE,wEAAqE;AAErE,wEAAqE;AAErE,oDAAiD;AACjD,sDAAmD;AAInD,yCAA6D;AAE7D,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAywB1D,gDAAkB;AAxwBpB,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAywB9C,sDAAqB;AAxwBvB,MAAM,kCAAkC,GAAG,wBAAwB,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,GAAG,UAAU,IAAU;IACtC,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,KAAK,CAAC,MAAM,EAAE;QACnB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;KACtB;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA6tBA,kCAAW;AA3tBb;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,UAAa,KAAa,EAAE,SAAmC;IACtF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IACrC,MAAM,QAAQ,GAAG,UAAU,KAAW;QACpC,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACjC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAY,CAAC,CAAC;SAClD;QACD,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AA0sBA,4CAAgB;AAxsBlB;;;GAGG;AACH,MAAM,oBAAoB,GAAG,UAAU,IAAU;IAC/C,MAAM,UAAU,GAAG,uBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,CAAC,MAAM,EAAE;QACrB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QACzB,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AA6rBA,oDAAoB;AA3rBtB;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,UACzB,IAAmB,EACnB,kBAAsC,EACtC,SAA4C,EAC5C,OAAgB,IAAI;IAEpB,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE;QACT,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,QAAQ,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QACxD,gEAAgE;QAChE,oEAAoE;QACpE,sEAAsE;QACtE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,EAAE;YAC7C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC;KACF;IACD,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YACnF,IAAI,WAAW,EAAE;gBACf,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAqpBA,gDAAkB;AAnpBpB;;GAEG;AACH,MAAM,oBAAoB,GAAG,UAAU,IAAiB;IACtD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI,YAAY,6BAAa,EAAE;QACjC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAmB,EAAE,IAAI,CAAC,CAAC;KAC1F;SAAM,IAAI,IAAI,YAAY,aAAK,EAAE;QAChC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAmB,CAAC,CAAC;KACpF;SAAM,IAAI,IAAI,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;KACrF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAuoBA,oDAAoB;AAroBtB;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,UACjC,IAAmB,EACnB,SAA6B,EAAE,EAC/B,OAAgB,IAAI;IAEpB,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjD,MAAM,UAAU,GAAG,uBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KACtD;IACD,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5E;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAknBA,gEAA0B;AAhnB5B;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,UAAU,IAAU,EAAE,QAAY,EAAE,OAAgB,IAAI;IACjF,IAAI,CAAC,QAAQ,GAAG,IAAA,iBAAK,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnD,IAAI,IAAI,IAAI,IAAI,YAAY,6BAAa,EAAE;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;KACtE;AACH,CAAC,CAAC;AAwmBA,gDAAkB;AAtmBpB;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,UAC1B,IAAmB,EACnB,cAA6D,EAC7D,qBAA4B,EAAE,EAC9B,OAAgB,IAAI;IAEpB,cAAc,CAAC,IAAI,EAAE,GAAG,kBAAkB,CAAC,CAAC;IAC5C,IAAI,IAAI,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;KACjG;AACH,CAAC,CAAC;AAslBA,kDAAmB;AAplBrB;;;GAGG;AACH,MAAM,oBAAoB,GAAG,UAAU,IAAmB,EAAE,SAAiB;IAC3E,IAAI,CAAC,CAAC,IAAI,YAAY,2BAAY,CAAC,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,aAAa,GAAG,4CAA4C,IAAI,CAAC,EAAE,IAAI,CACxG,CAAC;KACH;IACD,IAAI,IAAI,YAAY,6BAAa,EAAE;QACjC,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,iEAAiE,IAAI,CAAC,EAAE,IAAI,CAC7G,CAAC;KACH;AACH,CAAC,CAAC;AAqkBA,oDAAoB;AAnkBtB;;;GAGG;AACH,MAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,OAAgB,IAAI;IAC/E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;QAKC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KACxF;AACH,CAAC,CAAC;AAqjBA,sDAAqB;AAnjBvB;;;GAGG;AACH,MAAM,uBAAuB,GAAG,UAAU,IAAmB,EAAE,OAAgB,IAAI;IACjF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB;;;;;QAKC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC1F;AACH,CAAC,CAAC;AAqiBA,0DAAuB;AAniBzB;;GAEG;AACH,MAAM,qBAAqB,GAAG,UAAU,IAAU;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC;AACH,CAAC,CAAC;AA4hBA,sDAAqB;AA1hBvB;;GAEG;AACH,MAAM,sBAAsB,GAAG,UAAU,IAAU;IACjD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvB,IAAI,IAAI,CAAC,MAAM,EAAE;QACf,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;AACH,CAAC,CAAC;AAmhBA,wDAAsB;AAjhBxB;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,UAAU,IAAmB,EAAE,cAAwC;IACpG,UAAU;IACV,IAAI,CAAC,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE;QAC1C,kBAAkB,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;KACtE;IACD,MAAM,cAAc,GAAG,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAY,CAAC;IACxE,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/D,WAAW;IACX,IAAI,CAAC,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE;QAC3C,kBAAkB,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;KACxF;IACD,MAAM,eAAe,GAAG,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAY,CAAC;IAC1E,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACxG,WAAW;IACX,IAAI,CAAC,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE;QAC3C,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACjD,IAAI,CAAC,kBAAkB,EAAE;YACvB,kBAAkB,GAAG,wBAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACzG;QACD,kBAAkB,CAAC,IAAI,EAAE,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;KACvF;IACD,MAAM,yBAAyB,GAAG,wBAAU,CAAC,SAAS,CAAC,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAO,CAAC,CAAC;IACrG,IAAI,CAAC,kBAAkB,GAAG,yBAAyB,CAAC;IACpD,IAAI,CAAC,YAAY,CAAC,qBAAO,CAAC,IAAI,EAAE,EAAE,gBAAI,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY,CAAC,qBAAO,CAAC,IAAI,EAAE,EAAE,gBAAI,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,YAAY,CAAC,qBAAO,CAAC,IAAI,EAAE,EAAE,gBAAI,CAAC,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAkfA,wDAAsB;AAhfxB;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,UAAU,KAAY,EAAE,MAA6B;;IAC7E,kEAAkE;IAClE,IAAI,MAAM,CAAC,qBAAqB,IAAI,MAAM,CAAC,qBAAqB,EAAE;QAChE,OAAO,CAAC,IAAI,CACV,yGAAyG,CAC1G,CAAC;KACH;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAEpF,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACrD,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB;QACxC,CAAC,CAAC,mBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC5C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,kCAAqB;YACvB,CAAC,CAAC,mCAAsB,CAAC;IAC3B,MAAM,iBAAiB,GAAG,gBAAgB,KAAK,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAE3E,wDAAwD;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC,kBAA2C,CAAC;IACxE,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,MAAK,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,GAAG,CAAA,CAAC;IAEpE,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,iBAAiB,CAAC,EAAE;QAC/D,aAAa,CAAC,OAAO,EAAE,CAAC;KACzB;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,aAAK,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,IAAI,MAAM,CAAC,WAAW,IAAI,iBAAiB,EAAE;QAC3C,MAAM,UAAU,GAAG,yBAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACpF,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC;QAChC,KAAK,CAAC,kBAAkB,GAAG,UAAU,CAAC;KACvC;SAAM,IAAI,aAAa,IAAI,aAAa,CAAC,SAAS,KAAK,QAAQ,EAAE;QAChE,aAAa,CAAC,SAAS,GAAG,QAAQ,CAAC;KACpC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAA0B,CAAC;IACjF,MAAM,oBAAoB,GAAG,MAAM,CAAC,qBAAqB,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,GAAG,CAAA,CAAC;IAEnF,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,qBAAqB,IAAI,oBAAoB,CAAC,EAAE;QACtE,OAAO,CAAC,OAAO,EAAE,CAAC;KACnB;IAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IACxC,IAAI,MAAM,CAAC,qBAAqB,IAAI,oBAAoB,EAAE;QACxD,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,kBAAkB,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjG,8DAA8D;QAC9D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,aAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAiB,CAAC;KACrC;SAAM,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,iBAAiB,EAAE;QAC9D,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,iBAAiB,CAAC;KACxC;IAED,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,QAAQ,0CAAG,qBAAqB,CAAkC,CAAC;IAE9F,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE;QAClC,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;KAC9C;IAED,MAAM,kBAAkB,GAAG,mBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,IAAI,aAAa,IAAI,CAAC,YAAY,EAAE;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,QAAQ,GAAG,IAAA,iBAAK,EAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;SACpF;KACF;SAAM,IAAI,YAAY,IAAI,aAAa,IAAI,iBAAiB,EAAE;QAC7D,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAC/C;IAED,+BAA+B;IAC/B,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE;QAC7C,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;KAC1D;AACH,CAAC,CAAC;AA0aA,8CAAiB;AAxanB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,GAAG,UAAU,IAAmB,EAAE,UAAkB,EAAE,OAAgB,IAAI,EAAE,OAAiB;IAC5G,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,+CAA2B,CAAC,CAAC;QAC3E,MAAM,qBAAqB,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,qBAAqB,EAAE;YACzB,0BAA0B;YAC1B,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,+CAA2B,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/E,0FAA0F;YAC1F,IAAI,CAAC,kBAAkB,EAAE;gBACvB,IAAA,8CAA0B,EAAC,IAAI,CAAC,CAAC;aAClC;SACF;aAAM;YACL,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3E,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAO,CAAC,IAAI,CAAC,aAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAEpG,IAAI,kBAAkB,EAAE;gBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,+CAA2B,CAAC,CAAC;aACnD;SACF;KACF;IACD,qDAAqD;IACrD,IAAI,IAAI,EAAE;QACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACrD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/C;KACF;AACH,CAAC,CAAC;AAkXA,kCAAW;AAhXb;;;GAGG;AACH,MAAM,mBAAmB,GAAG,UAAU,KAAY,EAAE,UAAkB,EAAE,OAAiB;IACvF,IAAI,cAA2C,CAAC;IAChD,cAAc,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IAChF,cAAc,GAAG,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IACtF,cAAc,GAAG,cAAc,IAAI,IAAA,+CAA2B,EAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClF,IAAI,cAAc,EAAE;QAClB,OAAO,cAA0B,CAAC;KACnC;IACD,qCAAqC;IACrC,IAAI,aAAa,GAAG,qBAAqB,UAAU,4BAA4B,CAAC;IAChF,IAAI,OAAO,EAAE;QACX,aAAa,GAAG,qBAAqB,UAAU,iCAAiC,OAAO,CAAC,EAAE,IAAI,CAAC;KAChG;IACD,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC,CAAC;AAoVA,kDAAmB;AAlVrB;;;GAGG;AACH,MAAM,aAAa,GAAG,UAAgB,QAAkB,EAAE,IAAkB;;;QAC1E,sHAAsH;QACtH,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,kCAAkC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAEvF,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CACpD,yBAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAChE,CAAC;QACF,iHAAiH;QACjH,qHAAqH;QACrH,sFAAsF;QACtF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAElE,iEAAiE;QACjE,8CAA8C;QAC9C,0CAA0C;QAC1C,wFAAwF;QACxF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAE7D,gEAAgE;QAChE,IAAI,QAAQ,CAAC,EAAE,MAAK,MAAA,IAAI,CAAC,QAAQ,0CAAG,kCAAkC,CAAC,CAAA,EAAE;YACvE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;SAC1D;;CACF,CAAC;AAwTA,sCAAa;AAtTf;;;;;;;;;;;;;;;GAeG;AACH,MAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,QAAkB,EAAE,OAAgB,IAAI;IACnG,MAAM,IAAI,GAAG;;iCAEkB,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAEzC,IAAI,IAAI,YAAY,6BAAa,EAAE;QACjC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACrC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;KAClG;AACH,CAAC,CAAC;AAoSA,sDAAqB;AAlSvB;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,UAAU,IAAmB,EAAE,KAAa,EAAE,OAAgB,IAAI;IACzF,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAE;YACnB,KAAK,aAAa;gBACf,IAAI,CAAC,QAAwB,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACnE,MAAM;YACR,KAAK,kBAAkB;gBACpB,IAAI,CAAC,QAA6B,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,0BAA0B,CAAC,CAAC;SACrG;QACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KAC5C;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC1F;AACH,CAAC,CAAC;AA4QA,4CAAgB;AA1QlB;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,UAAU,IAAmB,EAAE,OAAgB,EAAE,OAAgB,IAAI;IAC9F,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAE;YACnB,KAAK,aAAa;gBACf,IAAI,CAAC,QAAwB,CAAC,aAAa,GAAG,OAAO,CAAC;gBACvD,MAAM;YACR,KAAK,kBAAkB;gBACpB,IAAI,CAAC,QAA6B,CAAC,cAAc,GAAG,OAAO,CAAC;gBAC7D,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,WAAW,0BAA0B,CAAC,CAAC;SACvG;QACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KAC5C;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9F;AACH,CAAC,CAAC;AAoPA,gDAAkB;AAlPpB;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,UAAU,IAAmB,EAAE,UAAkB,EAAE,OAAgB,IAAI;IACnG,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAE;YACnB,KAAK,aAAa;gBACf,IAAI,CAAC,QAAwB,CAAC,QAAQ,GAAG,UAAU,CAAC;gBACrD,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,gDAAgD,WAAW,0BAA0B,CAAC,CAAC;SAC1G;QACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KAC5C;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KACpG;AACH,CAAC,CAAC;AA+NA,sDAAqB;AA7NvB;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,UAAU,IAAmB,EAAE,SAAiB,EAAE,OAAgB,IAAI;IACjG,IAAI,IAAI,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACjD,QAAQ,WAAW,EAAE;YACnB,KAAK,aAAa;gBACf,IAAI,CAAC,QAAwB,CAAC,SAAS,GAAG,SAAS,CAAC;gBACrD,MAAM;YACR,KAAK,kBAAkB;gBACpB,IAAI,CAAC,QAA6B,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1D,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,+CAA+C,WAAW,0BAA0B,CAAC,CAAC;SACzG;QACD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KAC5C;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;KAClG;AACH,CAAC,CAAC;AAuMA,oDAAoB;AArMtB;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,UAAU,KAAqB,EAAE,KAAa,EAAE,IAAmB,EAAE,OAAgB,IAAI;IACnH,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,KAAK,CAAC,CAAC;KACpC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KACpG;AACH,CAAC,CAAC;AAyLA,kDAAmB;AAvLrB;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,UAAU,KAAqB,EAAE,IAAmB,EAAE,OAAgB,IAAI;IACzG,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,KAAK,CAAC,UAAU,CAAC,IAAY,CAAC,CAAC;KAChC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAClG;AACH,CAAC,CAAC;AA4KA,4DAAwB;AA1K1B;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,UAAU,IAAmB,EAAE,cAAuB,EAAE,OAAgB,IAAI;IACpG,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;KACtC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;KACpG;AACH,CAAC,CAAC;AA+JA,8CAAiB;AA7JnB;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,UAAU,SAA0B,EAAE,IAAmB,EAAE,OAAgB,IAAI;IAC1G,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,2EAA2E;QAC3E,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACxC;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAClG;AACH,CAAC,CAAC;AAgJA,oDAAoB;AA9ItB;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,UAAU,SAA0B,EAAE,IAAmB,EAAE,OAAgB,IAAI;IAC/G,IAAI,IAAI,YAAY,2BAAY,EAAE;QAChC,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC3C;IACD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KACvG;AACH,CAAC,CAAC;AAmIA,8DAAyB;AAjI3B;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,UAAU,IAAkB,EAAE,KAAY,EAAE,MAAyB;IACjG,+BAA+B;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC;IAC/D,4EAA4E;IAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAa,CAAC,QAAQ,CAAC;IAC9C,+GAA+G;IAC/G,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,UAAU,GAAG,qBAAO,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACnF,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACjD,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,mGAAmG;IACnG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,gCAAgC;IAChC,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,IAAI;QAClB,MAAM,EAAE,IAAI,GAAG,IAAI;QACnB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACC,CAAC;AAClB,CAAC,CAAC;AAgGA,sDAAqB;AA1FvB;;;;;;GAMG;AACH,MAAM,6BAA6B,GAAG,UAAU,OAAoB;IAClE,OAAO,CAAC,CAAE,OAA2C,CAAC,gBAAgB,CAAC;AACzE,CAAC,CAAC;AAsDA,sEAA6B;AApD/B;;;GAGG;AACH,MAAM,OAAO,GAAG,UAAU,OAAiB,EAAE,UAAsB;;IACjE,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAA,WAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,WAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,WAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,CAAC;KACjD;IACD,OAAO,IAAA,gBAAI,EAAC,YAAY,CAAC,CAAC;AAC5B,CAAC,CAAC;AAqEA,0BAAO;AAnET;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,UAAU,MAAc,EAAE,MAAc,EAAE,SAAmC;IACzG,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpF,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC;AA0DA,sDAAqB;AAxDvB;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,UAAU,KAAa,EAAE,SAAmC;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC;AAiDA,gDAAkB;AA/CpB;;;GAGG;AACH,MAAM,wBAAwB,GAAG,UAAU,SAAmB;;IAC5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,MAAM,IAAI,GAAG,kCAAkC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QACzC,MAAA,MAAM,CAAC,GAAG,0CAAE,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;KACvD;AACH,CAAC,CAAC;AAsCA,4DAAwB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
declare type Viewer = import('../classes/viewer').Viewer;
|
|
3
3
|
declare type Variant = import('../classes/variant').Variant;
|
|
4
4
|
declare type VariantInstance = import('../classes/variantInstance').VariantInstance;
|
|
5
|
+
declare type VariantParameterizable = import('../classes/variantParameterizable').VariantParameterizable;
|
|
5
6
|
/**
|
|
6
7
|
* Alias for {@link Element} which can be used to prevent name clashes with the web APIs
|
|
7
8
|
* [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) class
|
|
@@ -10,6 +11,7 @@ declare type VariantElement = import('../classes/element').Element;
|
|
|
10
11
|
declare type DottedPath = import('../classes/dottedPath').DottedPath;
|
|
11
12
|
declare type ViewerLight = import('../classes/viewerLight').ViewerLight;
|
|
12
13
|
declare type SceneManager = import('../manager/sceneManager').SceneManager;
|
|
14
|
+
declare type FuzzyMap<K, V> = import('../classes/fuzzyMap').FuzzyMap<K, V>;
|
|
13
15
|
declare type Scene = import('@babylonjs/core/scene').Scene;
|
|
14
16
|
declare type Vector3 = import('@babylonjs/core/Maths/math.vector').Vector3;
|
|
15
17
|
declare type Color3 = import('@babylonjs/core/Maths/math.color').Color3;
|
|
@@ -35,6 +37,8 @@ declare type DirectionalLight = import('@babylonjs/core/Lights/directionalLight'
|
|
|
35
37
|
declare type IInspectorOptions = import('@babylonjs/core/Debug').IInspectorOptions;
|
|
36
38
|
declare type IExportOptions = import('@babylonjs/serializers/glTF/2.0').IExportOptions;
|
|
37
39
|
declare type EventEmitter = import('eventemitter3');
|
|
40
|
+
declare type Undefinable<T> = T | undefined;
|
|
41
|
+
declare type Nullable<T> = T | null;
|
|
38
42
|
declare type PathDefinitions = {
|
|
39
43
|
include: string[];
|
|
40
44
|
exclude?: string[];
|
|
@@ -322,7 +326,8 @@ declare type ParsedParameterBag = {
|
|
|
322
326
|
[name: string]: any;
|
|
323
327
|
};
|
|
324
328
|
declare type DottedPathArgument = string | string[] | DottedPath;
|
|
325
|
-
declare type
|
|
329
|
+
declare type ParameterObserverResult = any;
|
|
330
|
+
declare type ParameterObserver = (payload: any, oldValue: Undefinable<ParameterValue>, newValue: ParameterValue) => ParameterObserverResult;
|
|
326
331
|
declare type PlacementDefinitions = {
|
|
327
332
|
[name: string]: PlacementDefinition;
|
|
328
333
|
};
|
|
@@ -385,3 +390,35 @@ declare type SpecGenerationData = {
|
|
|
385
390
|
name: string;
|
|
386
391
|
url: string;
|
|
387
392
|
};
|
|
393
|
+
declare type TagMapping = {
|
|
394
|
+
[tagName: string]: string;
|
|
395
|
+
};
|
|
396
|
+
declare type TagManagerSubject = {
|
|
397
|
+
tagName?: string;
|
|
398
|
+
nodeName?: string;
|
|
399
|
+
};
|
|
400
|
+
declare type TagManagerParameterObserver = (payload: TagManagerParameterObserverPayload) => ParameterObserverResult;
|
|
401
|
+
declare type TagManagerParameterBag = FuzzyMap<TagManagerSubject, ParameterBag>;
|
|
402
|
+
declare type TagManagerParameterObserverBag = Map<string, TagManagerParameterObserver>;
|
|
403
|
+
declare type TagManagerParameterObserverPayload = {
|
|
404
|
+
subject: TagManagerSubject;
|
|
405
|
+
nodes: TransformNode[];
|
|
406
|
+
newValue: ParameterValue;
|
|
407
|
+
oldValue: Undefinable<ParameterValue>;
|
|
408
|
+
};
|
|
409
|
+
declare type TagManagerParameterValue = {
|
|
410
|
+
tagName?: string;
|
|
411
|
+
nodeName?: string;
|
|
412
|
+
parameterName: string;
|
|
413
|
+
value: ParameterValue;
|
|
414
|
+
};
|
|
415
|
+
declare type NodeNamingStrategyPayload = {
|
|
416
|
+
variantInstance: VariantInstance;
|
|
417
|
+
variant: Variant;
|
|
418
|
+
variantParameterizable: VariantParameterizable;
|
|
419
|
+
};
|
|
420
|
+
declare type NodeNamingStrategyHandler = (node: TransformNode, payload: NodeNamingStrategyPayload) => string;
|
|
421
|
+
declare type NodeNamingStrategy = {
|
|
422
|
+
handler: NodeNamingStrategyHandler;
|
|
423
|
+
payload: NodeNamingStrategyPayload;
|
|
424
|
+
};
|
|
@@ -33,6 +33,7 @@ export declare const addMissingMaterialMetadata: (dataParsed: any, container: As
|
|
|
33
33
|
* enabled.
|
|
34
34
|
*/
|
|
35
35
|
export declare const addMissingMaterialObserver: (node: BjsNode) => void;
|
|
36
|
+
export declare const removeMissingMaterialObserver: (node: BjsNode) => void;
|
|
36
37
|
/**
|
|
37
38
|
* Look up the provided materials (see library import) and create and return one if found.
|
|
38
39
|
*
|
|
@@ -12,7 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.createMaterialFromCbnAssets = exports.addMissingMaterialObserver = exports.addMissingMaterialMetadata = exports.getMaterialPostLoadObserver = exports.getCustomCbnBabylonLoaderPlugin = exports.missingMaterialMetadataName = void 0;
|
|
15
|
+
exports.createMaterialFromCbnAssets = exports.removeMissingMaterialObserver = exports.addMissingMaterialObserver = exports.addMissingMaterialMetadata = exports.getMaterialPostLoadObserver = exports.getCustomCbnBabylonLoaderPlugin = exports.missingMaterialMetadataName = void 0;
|
|
16
|
+
const event_1 = require("../classes/event");
|
|
16
17
|
const babylonHelper_1 = require("./babylonHelper");
|
|
17
18
|
const resourceHelper_1 = require("./resourceHelper");
|
|
18
19
|
const material_1 = require("@babylonjs/core/Materials/material");
|
|
@@ -70,7 +71,7 @@ const getMaterialPostLoadObserver = function (concerningMesh) {
|
|
|
70
71
|
const missingMatId = concerningMesh.metadata[exports.missingMaterialMetadataName];
|
|
71
72
|
// get material and apply it on the concerning mesh after all textures have been loaded
|
|
72
73
|
const material = (0, babylonHelper_1.getOrCreateMaterial)(concerningMesh.getScene(), missingMatId);
|
|
73
|
-
(0, babylonHelper_1.
|
|
74
|
+
(0, babylonHelper_1.applyMaterial)(material, concerningMesh).then(() => event_1.emitter.emit(event_1.Event.MESH_MATERIAL_APPLIED, concerningMesh, material));
|
|
74
75
|
// since the material is there now, we do not need the related metadata tag anymore
|
|
75
76
|
delete concerningMesh.metadata[exports.missingMaterialMetadataName];
|
|
76
77
|
// remove all "enable" observers that were assigned to the concerning mesh
|
|
@@ -136,6 +137,23 @@ const addMissingMaterialObserver = function (node) {
|
|
|
136
137
|
}
|
|
137
138
|
};
|
|
138
139
|
exports.addMissingMaterialObserver = addMissingMaterialObserver;
|
|
140
|
+
const removeMissingMaterialObserver = function (node) {
|
|
141
|
+
var _a;
|
|
142
|
+
// set the concerning node, i.e. the node the observer should check for missing material.
|
|
143
|
+
// for instanced meshes, we want the sourcemesh here.
|
|
144
|
+
const concerningNode = node instanceof instancedMesh_1.InstancedMesh ? node.sourceMesh : node;
|
|
145
|
+
let currNode = node;
|
|
146
|
+
while (currNode) {
|
|
147
|
+
(_a = enableObserverMap[concerningNode.id]) === null || _a === void 0 ? void 0 : _a.forEach(entry => {
|
|
148
|
+
if (entry.currNodeId === (currNode === null || currNode === void 0 ? void 0 : currNode.id)) {
|
|
149
|
+
currNode.onEnabledStateChangedObservable.remove(entry.observer);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
currNode = currNode.parent;
|
|
153
|
+
}
|
|
154
|
+
delete enableObserverMap[concerningNode.id];
|
|
155
|
+
};
|
|
156
|
+
exports.removeMissingMaterialObserver = removeMissingMaterialObserver;
|
|
139
157
|
/**
|
|
140
158
|
* Look up the provided materials (see library import) and create and return one if found.
|
|
141
159
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneLoaderHelper.js","sourceRoot":"","sources":["../../../../src/api/util/sceneLoaderHelper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"sceneLoaderHelper.js","sourceRoot":"","sources":["../../../../src/api/util/sceneLoaderHelper.ts"],"names":[],"mappings":"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"}
|