@combeenation/3d-viewer 8.0.0 → 8.1.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/lib-cjs/api/classes/parameter.d.ts +27 -0
  2. package/dist/lib-cjs/api/classes/parameter.js +27 -0
  3. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  4. package/dist/lib-cjs/api/classes/variant.d.ts +8 -0
  5. package/dist/lib-cjs/api/classes/variant.js +12 -0
  6. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  7. package/dist/lib-cjs/api/classes/viewer.d.ts +2 -2
  8. package/dist/lib-cjs/api/classes/viewer.js +9 -8
  9. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  10. package/dist/lib-cjs/api/manager/gltfExportManager.d.ts +1 -0
  11. package/dist/lib-cjs/api/manager/gltfExportManager.js +7 -2
  12. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +1 -1
  13. package/dist/lib-cjs/api/manager/tagManager.d.ts +25 -23
  14. package/dist/lib-cjs/api/manager/tagManager.js +153 -89
  15. package/dist/lib-cjs/api/manager/tagManager.js.map +1 -1
  16. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +1 -1
  17. package/dist/lib-cjs/api/manager/variantInstanceManager.js +5 -7
  18. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +1 -1
  19. package/dist/lib-cjs/api/util/globalTypes.d.ts +16 -4
  20. package/dist/lib-cjs/api/util/structureHelper.d.ts +6 -6
  21. package/dist/lib-cjs/api/util/structureHelper.js +31 -28
  22. package/dist/lib-cjs/api/util/structureHelper.js.map +1 -1
  23. package/dist/lib-cjs/buildinfo.json +1 -1
  24. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  25. package/package.json +2 -2
  26. package/src/api/classes/parameter.ts +30 -0
  27. package/src/api/classes/variant.ts +14 -0
  28. package/src/api/classes/viewer.ts +12 -14
  29. package/src/api/manager/gltfExportManager.ts +8 -3
  30. package/src/api/manager/tagManager.ts +178 -119
  31. package/src/api/manager/variantInstanceManager.ts +5 -8
  32. package/src/api/util/globalTypes.ts +20 -4
  33. package/src/api/util/structureHelper.ts +29 -27
@@ -12,42 +12,47 @@ export declare class TagManager {
12
12
  * Calls the {@link ParameterObserver} for given {@link Parameter} and applies the {@link ParameterValue} on all
13
13
  * nodes with given tagName.
14
14
  */
15
- setTagParameterValue(tagName: string, parameterName: string, value: ParameterValue): Promise<ParameterObserverResult>;
15
+ setTagParameterValue(tagName: string, parameterName: string, value: ParameterValue): Promise<TagManagerParameterObserverResultBag>;
16
16
  /**
17
17
  * Calls the {@link ParameterObserver} for given {@link Parameter} and applies the {@link ParameterValue} on all
18
18
  * nodes with given nodeName.
19
19
  */
20
- setNodeParameterValue(nodeName: string, parameterName: string, value: ParameterValue): Promise<ParameterObserverResult>;
20
+ setNodeParameterValue(nodeName: string, parameterName: string, value: ParameterValue): Promise<TagManagerParameterObserverResultBag>;
21
+ /**
22
+ * Calls the {@link ParameterObserver} for given {@link Parameter} and applies the {@link ParameterValue} on all
23
+ * materials with given materialName.
24
+ */
25
+ setMaterialParameterValue(materialName: string, parameterName: string, value: ParameterValue): Promise<TagManagerParameterObserverResultBag>;
21
26
  /**
22
27
  * Splits the passed {@link TagManagerParameterValue}s into individual values and calls all {@link ParameterObserver}s
23
28
  * of all {@link Parameter}s with the respective {@link TagManagerSubject} and {@link ParameterValue}. The result is a
24
- * map of passed {@link TagManagerParameterValue}s and the associated {@link ParameterObserverResult} of the
29
+ * map of passed {@link TagManagerParameterValue}s and the associated {@link TagManagerParameterObserverResult} of the
25
30
  * {@link ParameterObserver}.
26
31
  */
27
- setParameterValues(values: TagManagerParameterValue[]): Promise<Map<TagManagerParameterValue, ParameterObserverResult>>;
32
+ setParameterValues(values: TagManagerParameterValue[]): Promise<Map<TagManagerParameterValue, TagManagerParameterObserverResultBag>>;
28
33
  /**
29
34
  * Gets a list of {@link TagManagerSubject}s that are present in both the state of the {@link TagManager}'s
30
- * {@link parameters} and the given node.
35
+ * {@link parameters} and the given object.
31
36
  */
32
- getSubjectsFor(node: TransformNode): TagManagerSubject[];
37
+ getSubjectsFor(object: TransformNode | Material): TagManagerSubject[];
33
38
  /**
34
39
  * Gets a list of {@link TagManagerSubject}s that are present in both the state of the {@link TagManager}'s
35
- * {@link parameters} and the given nodes.
40
+ * {@link parameters} and the given objects.
36
41
  */
37
- getApplicableSubjectsFor(nodes: TransformNode[]): TagManagerSubject[];
42
+ getApplicableSubjectsFor(objects: (TransformNode | Material)[]): TagManagerSubject[];
38
43
  /**
39
44
  * Applies all existing states of the {@link TagManager}'s {@link parameters} for given {@link TagManagerSubject}s.
40
45
  */
41
- applyExistingParameterValuesFor(subjects: TagManagerSubject[]): Promise<Map<TagManagerSubject, ParameterObserverResult>>;
46
+ applyExistingParameterValuesFor(subjects: TagManagerSubject[]): Promise<Map<TagManagerSubject, TagManagerParameterObserverResultBag>>;
42
47
  /**
43
48
  * Does the same as {@link setParameterValues} with the difference that all existing states of the
44
49
  * {@link TagManager}'s {@link parameters} are applied to all given nodes.
45
50
  */
46
- applyExistingParameterValuesTo(nodes: TransformNode[]): Promise<Map<TagManagerSubject, ParameterObserverResult>>;
51
+ applyExistingParameterValuesTo(objects: (TransformNode | Material)[]): Promise<Map<TagManagerSubject, TagManagerParameterObserverResultBag>>;
47
52
  /**
48
53
  * Applies all existing states of the {@link TagManager}'s {@link parameters} for all {@link TagManagerSubject}s.
49
54
  */
50
- applyExistingParameterValues(): Promise<Map<TagManagerSubject, ParameterObserverResult>>;
55
+ applyExistingParameterValues(): Promise<Map<TagManagerSubject, TagManagerParameterObserverResultBag>>;
51
56
  /**
52
57
  * Maps all tags on given nodes with the {@link TagMapping} and updates the state of the {@link TagManager}'s
53
58
  * {@link parameters} for all new tags.
@@ -78,10 +83,14 @@ export declare class TagManager {
78
83
  */
79
84
  getNodesBySubject(subject: TagManagerSubject, predicate?: (node: TransformNode) => boolean): TransformNode[];
80
85
  /**
81
- * Registers observers that are called on every new node added to the Babylon.js scene. The observers ensure that each
82
- * new node gets the state of the {@link TagManager}'s {@link parameters} applied.
86
+ * Gets all materials for given {@link TagManagerSubject} on the Babylon.js scene.
87
+ */
88
+ getMaterialsBySubject(subject: TagManagerSubject, predicate?: (material: Material) => boolean): Material[];
89
+ /**
90
+ * Registers observers that are called on every new object added to the Babylon.js scene.
91
+ * The observers ensure that each new object gets the state of the {@link TagManager}'s {@link parameters} applied.
83
92
  */
84
- registerNewTransformNodeObservers(scene: Scene): void;
93
+ registerNewObjectObservers(scene: Scene): void;
85
94
  /**
86
95
  * Adds the default {@link ParameterObserver}s.
87
96
  * @protected
@@ -92,25 +101,18 @@ export declare class TagManager {
92
101
  * {@link handleParameter}.
93
102
  * @protected
94
103
  */
95
- protected handleParameterBag(subject: TagManagerSubject, parameters: ParameterBag): Promise<ParameterObserverResult>[];
104
+ protected handleParameterBag(subject: TagManagerSubject, parameters: ParameterBag): Promise<TagManagerParameterObserverResultBag>[];
96
105
  /**
97
106
  * Asserts the given {@link Parameter} and its {@link ParameterValue}, stores the state in the {@link TagManager}'s
98
107
  * {@link parameters}, calculates the applicable nodes, injects the {@link ParameterValue} in the node's metadata,
99
108
  * calls the responsible {@link ParameterObserver}s and emits the event {@link Event.TAG_MANAGER_PARAMETER_COMMITTED}.
100
109
  * @protected
101
110
  */
102
- protected handleParameter(subject: TagManagerSubject, parameter: string, parameterValue: ParameterValue): Promise<ParameterObserverResult>;
111
+ protected handleParameter(subject: TagManagerSubject, parameter: string, parameterValue: ParameterValue): Promise<TagManagerParameterObserverResultBag>;
103
112
  /**
104
113
  * Updates the state of the {@link TagManager}'s {@link parameters} for all new nodes and tags given in
105
114
  * {@link TagMapping}.
106
115
  * @protected
107
116
  */
108
117
  protected updateParametersWithNodeAndTagMapping(nodes: TransformNode[], tagMapping: TagMapping): void;
109
- /**
110
- * Clears the applied {@link ParameterBag} state of the node's metadata to ensure that observers trigger (once again).
111
- * This is necessary e.g. after mapping tags when a nodeName subject shall override the parameterValue of a mapped
112
- * tag.
113
- * @protected
114
- */
115
- protected clearAppliedNodeMetadataParameters(nodes: TransformNode[]): void;
116
118
  }
@@ -45,10 +45,19 @@ class TagManager {
45
45
  return yield this.handleParameter({ nodeName: nodeName }, parameterName, value);
46
46
  });
47
47
  }
48
+ /**
49
+ * Calls the {@link ParameterObserver} for given {@link Parameter} and applies the {@link ParameterValue} on all
50
+ * materials with given materialName.
51
+ */
52
+ setMaterialParameterValue(materialName, parameterName, value) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return yield this.handleParameter({ materialName: materialName }, parameterName, value);
55
+ });
56
+ }
48
57
  /**
49
58
  * Splits the passed {@link TagManagerParameterValue}s into individual values and calls all {@link ParameterObserver}s
50
59
  * of all {@link Parameter}s with the respective {@link TagManagerSubject} and {@link ParameterValue}. The result is a
51
- * map of passed {@link TagManagerParameterValue}s and the associated {@link ParameterObserverResult} of the
60
+ * map of passed {@link TagManagerParameterValue}s and the associated {@link TagManagerParameterObserverResult} of the
52
61
  * {@link ParameterObserver}.
53
62
  */
54
63
  setParameterValues(values) {
@@ -56,6 +65,7 @@ class TagManager {
56
65
  const observerResultMap = new Map();
57
66
  const tagPromises = [];
58
67
  const nodePromises = [];
68
+ const materialPromises = [];
59
69
  for (const value of values) {
60
70
  const subject = {};
61
71
  if (value.tagName) {
@@ -64,6 +74,9 @@ class TagManager {
64
74
  if (value.nodeName) {
65
75
  subject.nodeName = value.nodeName;
66
76
  }
77
+ if (value.materialName) {
78
+ subject.materialName = value.materialName;
79
+ }
67
80
  const observerResultPromise = this.handleParameter(subject, value.parameterName, value.value);
68
81
  observerResultPromise.then(result => observerResultMap.set(value, result));
69
82
  if (value.tagName) {
@@ -72,28 +85,33 @@ class TagManager {
72
85
  if (value.nodeName) {
73
86
  nodePromises.push(observerResultPromise);
74
87
  }
88
+ if (value.materialName) {
89
+ materialPromises.push(observerResultPromise);
90
+ }
75
91
  }
76
92
  yield Promise.all(tagPromises);
77
93
  yield Promise.all(nodePromises);
94
+ yield Promise.all(materialPromises);
78
95
  return observerResultMap;
79
96
  });
80
97
  }
81
98
  /**
82
99
  * Gets a list of {@link TagManagerSubject}s that are present in both the state of the {@link TagManager}'s
83
- * {@link parameters} and the given node.
100
+ * {@link parameters} and the given object.
84
101
  */
85
- getSubjectsFor(node) {
86
- return [...this.parameters.keys()].filter(subject => (subject.tagName && tags_1.Tags.MatchesQuery(node, subject.tagName)) ||
87
- (subject.nodeName && node.name === subject.nodeName));
102
+ getSubjectsFor(object) {
103
+ return [...this.parameters.keys()].filter(subject => (subject.tagName && tags_1.Tags.MatchesQuery(object, subject.tagName)) ||
104
+ (subject.nodeName && object.name === subject.nodeName) ||
105
+ (subject.materialName && object.name === subject.materialName));
88
106
  }
89
107
  /**
90
108
  * Gets a list of {@link TagManagerSubject}s that are present in both the state of the {@link TagManager}'s
91
- * {@link parameters} and the given nodes.
109
+ * {@link parameters} and the given objects.
92
110
  */
93
- getApplicableSubjectsFor(nodes) {
111
+ getApplicableSubjectsFor(objects) {
94
112
  let applicableSubjects = [];
95
- for (const node of nodes) {
96
- const subjects = this.getSubjectsFor(node);
113
+ for (const object of objects) {
114
+ const subjects = this.getSubjectsFor(object);
97
115
  applicableSubjects = [...applicableSubjects, ...subjects];
98
116
  }
99
117
  return (0, lodash_es_1.uniq)(applicableSubjects);
@@ -106,8 +124,8 @@ class TagManager {
106
124
  const observerResultMap = new Map();
107
125
  let tagPromises = [];
108
126
  let nodePromises = [];
127
+ let materialPromises = [];
109
128
  for (const subject of subjects) {
110
- this.clearAppliedNodeMetadataParameters(this.getNodesBySubject(subject));
111
129
  const observerResultPromises = this.handleParameterBag(subject, this.parameters.get(subject));
112
130
  for (const observerResultPromise of observerResultPromises) {
113
131
  observerResultPromise.then(result => observerResultMap.set(subject, result));
@@ -118,9 +136,13 @@ class TagManager {
118
136
  if (subject.nodeName) {
119
137
  nodePromises = [...nodePromises, ...observerResultPromises];
120
138
  }
139
+ if (subject.materialName) {
140
+ materialPromises = [...materialPromises, ...observerResultPromises];
141
+ }
121
142
  }
122
143
  yield Promise.all(tagPromises);
123
144
  yield Promise.all(nodePromises);
145
+ yield Promise.all(materialPromises);
124
146
  return observerResultMap;
125
147
  });
126
148
  }
@@ -128,9 +150,9 @@ class TagManager {
128
150
  * Does the same as {@link setParameterValues} with the difference that all existing states of the
129
151
  * {@link TagManager}'s {@link parameters} are applied to all given nodes.
130
152
  */
131
- applyExistingParameterValuesTo(nodes) {
153
+ applyExistingParameterValuesTo(objects) {
132
154
  return __awaiter(this, void 0, void 0, function* () {
133
- return this.applyExistingParameterValuesFor(this.getApplicableSubjectsFor(nodes));
155
+ return this.applyExistingParameterValuesFor(this.getApplicableSubjectsFor(objects));
134
156
  });
135
157
  }
136
158
  /**
@@ -228,21 +250,59 @@ class TagManager {
228
250
  return nodes;
229
251
  }
230
252
  /**
231
- * Registers observers that are called on every new node added to the Babylon.js scene. The observers ensure that each
232
- * new node gets the state of the {@link TagManager}'s {@link parameters} applied.
253
+ * Gets all materials for given {@link TagManagerSubject} on the Babylon.js scene.
254
+ */
255
+ getMaterialsBySubject(subject, predicate) {
256
+ let materials = [];
257
+ if (subject.tagName) {
258
+ materials = [...materials, ...this.viewer.scene.getMaterialByTags(subject.tagName, predicate)];
259
+ }
260
+ if (subject.materialName) {
261
+ materials = [...materials, this.viewer.scene.getMaterialByName(subject.materialName)].filter(t => !!t && (!predicate || predicate(t)));
262
+ }
263
+ return materials;
264
+ }
265
+ /**
266
+ * Registers observers that are called on every new object added to the Babylon.js scene.
267
+ * The observers ensure that each new object gets the state of the {@link TagManager}'s {@link parameters} applied.
233
268
  */
234
- registerNewTransformNodeObservers(scene) {
269
+ registerNewObjectObservers(scene) {
270
+ // nodes and meshes
235
271
  const onNewTransformNodeAdded = (node) => {
236
- if (node.name === viewer_1.Viewer.BOUNDING_BOX_NAME || !this.viewer.variantInstances.areAllDefinitionsCreated) {
237
- // Avoid duplicate calls here. The parameter values are already applied when a variant instance has finished
238
- // creating (see event listener in viewer for VARIANT_INSTANCE_CREATED). This callback should only trigger when
239
- // a consumer "manually" clones a node.
272
+ /* NOTE:
273
+ Removed the check for created instances here since it is not guaranteed that all instances
274
+ created means that there is no scenario where new nodes should get TagManager parameters applied.
275
+ Instead, we check for the state to be enabled via the `onEnabledStateChangedObservable` below.
276
+ */
277
+ //if (node.name === Viewer.BOUNDING_BOX_NAME || !this.viewer.variantInstances.areAllDefinitionsCreated) {
278
+ if (node.name === viewer_1.Viewer.BOUNDING_BOX_NAME) {
240
279
  return;
241
280
  }
242
- this.applyExistingParameterValuesTo([node]).then();
281
+ const onEnabledStateChangedObserver = node.onEnabledStateChangedObservable.add((state) => __awaiter(this, void 0, void 0, function* () {
282
+ if (!state) {
283
+ // if the node is disabled, means ignoring also "ghost nodes"
284
+ return;
285
+ }
286
+ yield this.applyExistingParameterValuesTo([node]);
287
+ node.onEnabledStateChangedObservable.remove(onEnabledStateChangedObserver);
288
+ }));
289
+ node.onEnabledStateChangedObservable.makeObserverBottomPriority(onEnabledStateChangedObserver);
243
290
  };
244
291
  scene.onNewTransformNodeAddedObservable.makeObserverBottomPriority(scene.onNewTransformNodeAddedObservable.add(onNewTransformNodeAdded));
245
292
  scene.onNewMeshAddedObservable.makeObserverBottomPriority(scene.onNewMeshAddedObservable.add(onNewTransformNodeAdded));
293
+ // materials
294
+ const onNewMaterialAdded = (material) => {
295
+ /* NOTE:
296
+ We have to wait until a material is bound to a Mesh. In all other scenarios, the material
297
+ is not "fully ready" or even empty (without working attributes/properties).
298
+ */
299
+ const onMaterialBindObserver = material.onBindObservable.add((abstractMesh) => __awaiter(this, void 0, void 0, function* () {
300
+ yield this.applyExistingParameterValuesTo([material]);
301
+ material.onBindObservable.remove(onMaterialBindObserver);
302
+ }));
303
+ material.onBindObservable.makeObserverBottomPriority(onMaterialBindObserver);
304
+ };
305
+ scene.onNewMaterialAddedObservable.makeObserverBottomPriority(scene.onNewMaterialAddedObservable.add(onNewMaterialAdded));
246
306
  }
247
307
  /**
248
308
  * Adds the default {@link ParameterObserver}s.
@@ -294,54 +354,51 @@ class TagManager {
294
354
  }
295
355
  return true;
296
356
  }));
297
- this.parameterObservers.set(parameter_1.Parameter.MATERIAL_COLOR, (payload) => __awaiter(this, void 0, void 0, function* () {
298
- const parsedValue = parameter_1.Parameter.parseColor(payload.newValue);
299
- for (const node of payload.nodes) {
300
- (0, babylonHelper_1.assertMeshCapability)(node, parameter_1.Parameter.MATERIAL_COLOR);
301
- if (this.viewer.cloneMaterialsOnMutation) {
302
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material')) {
303
- (0, babylonHelper_1.cloneTransformNodeMaterial)(node);
304
- }
305
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material.color')) {
306
- // inject initial value and mark as dirty
307
- (0, babylonHelper_1.injectNodeMetadata)(node, { dirty: { material: { color: payload.oldValue } } }, false);
308
- }
357
+ this.parameterObservers.set(parameter_1.Parameter.COLOR, (payload) => __awaiter(this, void 0, void 0, function* () {
358
+ const color = parameter_1.Parameter.parseColor(payload.newValue);
359
+ for (const material of payload.materials) {
360
+ const materialCls = material.getClassName();
361
+ switch (materialCls) {
362
+ case 'PBRMaterial':
363
+ material.albedoColor = color.toLinearSpace();
364
+ break;
365
+ case 'StandardMaterial':
366
+ material.diffuseColor = color;
367
+ break;
368
+ default:
369
+ throw new Error(`Setting color for material of instance "${materialCls}" not implemented (yet).`);
309
370
  }
310
- (0, babylonHelper_1.setMaterialColor)(node, parsedValue, false);
311
371
  }
312
372
  return true;
313
373
  }));
314
- this.parameterObservers.set(parameter_1.Parameter.MATERIAL_ROUGHNESS, (payload) => __awaiter(this, void 0, void 0, function* () {
315
- const parsedValue = parameter_1.Parameter.parseNumber(payload.newValue);
316
- for (const node of payload.nodes) {
317
- (0, babylonHelper_1.assertMeshCapability)(node, parameter_1.Parameter.MATERIAL_ROUGHNESS);
318
- if (this.viewer.cloneMaterialsOnMutation) {
319
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material')) {
320
- (0, babylonHelper_1.cloneTransformNodeMaterial)(node);
321
- }
322
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material.roughness')) {
323
- // inject initial value and mark as dirty
324
- (0, babylonHelper_1.injectNodeMetadata)(node, { dirty: { material: { color: payload.oldValue } } }, false);
325
- }
374
+ this.parameterObservers.set(parameter_1.Parameter.ROUGHNESS, (payload) => __awaiter(this, void 0, void 0, function* () {
375
+ const roughness = parameter_1.Parameter.parseNumber(payload.newValue);
376
+ for (const material of payload.materials) {
377
+ const materialCls = material.getClassName();
378
+ switch (materialCls) {
379
+ case 'PBRMaterial':
380
+ material.roughness = roughness;
381
+ break;
382
+ case 'StandardMaterial':
383
+ material.roughness = roughness;
384
+ break;
385
+ default:
386
+ throw new Error(`Setting roughness for material of instance "${materialCls}" not implemented (yet).`);
326
387
  }
327
- (0, babylonHelper_1.setMaterialRoughness)(node, parsedValue, false);
328
388
  }
329
389
  return true;
330
390
  }));
331
- this.parameterObservers.set(parameter_1.Parameter.MATERIAL_METALLNESS, (payload) => __awaiter(this, void 0, void 0, function* () {
332
- const parsedValue = parameter_1.Parameter.parseNumber(payload.newValue);
333
- for (const node of payload.nodes) {
334
- (0, babylonHelper_1.assertMeshCapability)(node, parameter_1.Parameter.MATERIAL_METALLNESS);
335
- if (this.viewer.cloneMaterialsOnMutation) {
336
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material')) {
337
- (0, babylonHelper_1.cloneTransformNodeMaterial)(node);
338
- }
339
- if (!(0, lodash_es_1.has)(node.metadata, 'dirty.material.metallness')) {
340
- // inject initial value and mark as dirty
341
- (0, babylonHelper_1.injectNodeMetadata)(node, { dirty: { material: { color: payload.oldValue } } }, false);
342
- }
391
+ this.parameterObservers.set(parameter_1.Parameter.METALLNESS, (payload) => __awaiter(this, void 0, void 0, function* () {
392
+ const metallness = parameter_1.Parameter.parseNumber(payload.newValue);
393
+ for (const material of payload.materials) {
394
+ const materialCls = material.getClassName();
395
+ switch (materialCls) {
396
+ case 'PBRMaterial':
397
+ material.metallic = metallness;
398
+ break;
399
+ default:
400
+ throw new Error(`Setting metallness for material of instance "${materialCls}" not implemented (yet).`);
343
401
  }
344
- (0, babylonHelper_1.setMaterialMetallness)(node, parsedValue, false);
345
402
  }
346
403
  return true;
347
404
  }));
@@ -368,34 +425,56 @@ class TagManager {
368
425
  handleParameter(subject, parameter, parameterValue) {
369
426
  return __awaiter(this, void 0, void 0, function* () {
370
427
  parameter_1.Parameter.assertParameter(parameter_1.Parameter.declarations, parameter, parameterValue);
371
- if (!this.parameterObservers.has(parameter)) {
372
- return Promise.resolve(false);
373
- }
374
428
  const parameterBag = this.parameters.get(subject) || {};
375
429
  const oldValue = parameterBag[parameter];
430
+ const parameterObserverResultBag = {
431
+ subject: subject,
432
+ parameter: parameter,
433
+ nodes: [],
434
+ materials: [],
435
+ oldValue: oldValue,
436
+ newValue: parameterValue,
437
+ parameterObserverResult: false,
438
+ };
439
+ if (!this.parameterObservers.has(parameter)) {
440
+ return Promise.resolve(parameterObserverResultBag);
441
+ }
376
442
  if (oldValue === parameterValue) {
377
- return Promise.resolve(false);
443
+ /* NOTE:
444
+ The following is wrong in different scenarios. If a node enters life and the subject/parameter
445
+ applied in the past, the new node will not be altered by the subsequent observers, because of
446
+ the return on the next line. If we want to tackle that problem and do an early return to not
447
+ trigger observers twice, we have to hold a state for every node/material and the applied
448
+ parameter value. This could be highly cost sensitive, so I would just avoid that check
449
+ at all. Babylon will not trigger changes if the value on a node/material does not change
450
+ anyway.
451
+ */
452
+ //return Promise.resolve(parameterObserverResultBag);
378
453
  }
379
454
  this.parameters.set(subject, parameterBag);
380
455
  this.parameters.get(subject)[parameter] = parameterValue;
381
456
  const nodes = this.getNodesBySubject(subject);
382
- if (nodes.length === 0) {
383
- return Promise.resolve(false);
457
+ const materials = this.getMaterialsBySubject(subject);
458
+ if (nodes.length === 0 && materials.length === 0) {
459
+ return Promise.resolve(parameterObserverResultBag);
384
460
  }
385
461
  const observer = this.parameterObservers.get(parameter);
386
- const result = yield observer({ subject: subject, nodes: nodes, newValue: parameterValue, oldValue: oldValue });
387
- if (result === false) {
388
- // reset to old value if observer was not successful
389
- this.parameters.get(subject)[parameter] = oldValue;
390
- }
391
- event_1.emitter.emit(event_1.Event.TAG_MANAGER_PARAMETER_COMMITTED, {
462
+ const result = yield observer({
392
463
  subject: subject,
393
- parameter: parameter,
394
464
  nodes: nodes,
395
- oldValue: oldValue,
465
+ materials: materials,
396
466
  newValue: parameterValue,
397
- result: result,
467
+ oldValue: oldValue,
398
468
  });
469
+ if (result === false) {
470
+ // reset to old value if observer was not successful
471
+ this.parameters.get(subject)[parameter] = oldValue;
472
+ }
473
+ parameterObserverResultBag.nodes = nodes;
474
+ parameterObserverResultBag.materials = materials;
475
+ parameterObserverResultBag.parameterObserverResult = result;
476
+ event_1.emitter.emit(event_1.Event.TAG_MANAGER_PARAMETER_COMMITTED, parameterObserverResultBag);
477
+ return parameterObserverResultBag;
399
478
  });
400
479
  }
401
480
  /**
@@ -425,21 +504,6 @@ class TagManager {
425
504
  this.parameters.set(newSubject, parameterBag);
426
505
  }
427
506
  }
428
- /**
429
- * Clears the applied {@link ParameterBag} state of the node's metadata to ensure that observers trigger (once again).
430
- * This is necessary e.g. after mapping tags when a nodeName subject shall override the parameterValue of a mapped
431
- * tag.
432
- * @protected
433
- */
434
- clearAppliedNodeMetadataParameters(nodes) {
435
- var _a, _b;
436
- for (const node of nodes) {
437
- if (!((_b = (_a = node.metadata) === null || _a === void 0 ? void 0 : _a.tagManager) === null || _b === void 0 ? void 0 : _b.parameters)) {
438
- continue;
439
- }
440
- node.metadata.tagManager.parameters = {};
441
- }
442
- }
443
507
  }
444
508
  exports.TagManager = TagManager;
445
509
  //# sourceMappingURL=tagManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tagManager.js","sourceRoot":"","sources":["../../../../src/api/manager/tagManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagManager.js","sourceRoot":"","sources":["../../../../src/api/manager/tagManager.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export declare class VariantInstanceManager extends EventBroadcaster {
58
58
  *
59
59
  * @emits {@link Event.VARIANT_INSTANCE_CREATED}
60
60
  */
61
- create(dottedPath: DottedPathArgument, name?: string, parameters?: ParameterBag, tagManagerParameterValues?: TagManagerParameterValue[]): Promise<VariantInstance>;
61
+ create(dottedPath: DottedPathArgument, name?: string, parameters?: ParameterBag): Promise<VariantInstance>;
62
62
  /**
63
63
  * Registers a unique {@link VariantInstanceDefinition}.
64
64
  *
@@ -115,14 +115,13 @@ class VariantInstanceManager extends eventBroadcaster_1.EventBroadcaster {
115
115
  *
116
116
  * @emits {@link Event.VARIANT_INSTANCE_CREATED}
117
117
  */
118
- create(dottedPath, name, parameters, tagManagerParameterValues) {
118
+ create(dottedPath, name, parameters) {
119
119
  return __awaiter(this, void 0, void 0, function* () {
120
120
  const variant = dottedPath_1.DottedPath.create(dottedPath).path;
121
121
  const definition = {
122
122
  name: this.ensureUniqueName(name ? name : variant),
123
123
  variant: variant,
124
124
  parameters: parameters,
125
- tagManagerParameterValues: tagManagerParameterValues,
126
125
  };
127
126
  return yield this.createFromDefinition(definition);
128
127
  });
@@ -228,7 +227,10 @@ class VariantInstanceManager extends eventBroadcaster_1.EventBroadcaster {
228
227
  this.variantInstances.set(definition.name, variantInstanceClone);
229
228
  (0, babylonHelper_1.reportDuplicateNodeNames)((0, babylonHelper_1.duplicateNodeNames)(this.viewer.scene.getNodes(), n => n instanceof transformNode_1.TransformNode));
230
229
  this.viewer.tagManager.mapNodesAndTags(variantInstanceClone.variant.elementNodesFlat, tagMapping !== null && tagMapping !== void 0 ? tagMapping : {});
231
- yield this.viewer.tagManager.applyExistingParameterValuesTo(variantInstanceClone.variant.elementNodesFlat);
230
+ yield this.viewer.tagManager.applyExistingParameterValuesTo([
231
+ ...variantInstanceClone.variant.elementNodesFlat,
232
+ ...variantInstanceClone.variant.elementAbstractMeshesFlat.map(n => n.material).filter(m => !!m),
233
+ ]);
232
234
  variantInstance.broadcastEvent(event_1.Event.VARIANT_INSTANCE_CLONED, variantInstanceClone);
233
235
  return variantInstanceClone;
234
236
  });
@@ -267,10 +269,6 @@ class VariantInstanceManager extends eventBroadcaster_1.EventBroadcaster {
267
269
  const variant = yield this.rootVariant.getDescendant(definition.variant);
268
270
  const variantInstance = yield variantInstance_1.VariantInstance.createLiving(variant, definition.name, definition.parameters);
269
271
  this.variantInstances.set(definition.name, variantInstance);
270
- // set tag manager parameter values if all definitions has been created.
271
- if (definition.tagManagerParameterValues && this.areAllDefinitionsCreated) {
272
- yield this.viewer.tagManager.setParameterValues(definition.tagManagerParameterValues);
273
- }
274
272
  this.broadcastEvent(event_1.Event.VARIANT_INSTANCE_CREATED, variantInstance);
275
273
  return variantInstance;
276
274
  });
@@ -1 +1 @@
1
- {"version":3,"file":"variantInstanceManager.js","sourceRoot":"","sources":["../../../../src/api/manager/variantInstanceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variantInstanceManager.js","sourceRoot":"","sources":["../../../../src/api/manager/variantInstanceManager.ts"],"names":[],"mappings":"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"}