@shapediver/viewer.features.attribute-visualization 3.1.1 → 3.2.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.
@@ -1,11 +1,12 @@
1
- import { ILayer } from "../interfaces/ILayer";
2
- import { IViewportApi } from "@shapediver/viewer";
3
- import { IAttribute } from "../interfaces/IAttribute";
4
- import { IAttributeVisualizationEngine } from "../interfaces/IAttributeVisualizationEngine";
5
- import { IMaterialAbstractData, ISDTFOverview } from "@shapediver/viewer.shared.types";
1
+ import { ILayer } from '../interfaces/ILayer';
2
+ import { IViewportApi } from '@shapediver/viewer';
3
+ import { IAttribute } from '../interfaces/IAttribute';
4
+ import { IAttributeVisualizationEngine } from '../interfaces/IAttributeVisualizationEngine';
5
+ import { IMaterialAbstractData, ISDTFOverview } from '@shapediver/viewer.shared.types';
6
6
  export declare class AttributeVisualizationEngine implements IAttributeVisualizationEngine {
7
7
  #private;
8
8
  constructor(viewport: IViewportApi);
9
+ private gatherNodesWithAttributeData;
9
10
  get defaultMaterial(): IMaterialAbstractData;
10
11
  get defaultLayer(): ILayer;
11
12
  get layers(): {
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeVisualizationEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/AttributeVisualizationEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAe,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAA0E,MAAM,0BAA0B,CAAC;AAG9H,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAiB,aAAa,EAAwI,MAAM,iCAAiC,CAAC;AAG5O,qBAAa,4BAA6B,YAAW,6BAA6B;;gBA2BlE,QAAQ,EAAE,YAAY;IA2BlC,IAAW,eAAe,IAAI,qBAAqB,CAElD;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAE7C;IAED,IAAW,iBAAiB,IAAI,OAAO,GAAG,UAAU,CAEnD;IAED,IAAW,sBAAsB,IAAI,OAAO,GAAG,UAAU,CAExD;IAED,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAMM,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;IAKzC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAKhC,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB;IAKrD,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU;IAMlD,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU;IAMvD,YAAY,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAK9C,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM;IAMnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU7C,OAAO,CAAC,+BAA+B;IA+IvC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,YAAY;CAiBvB"}
1
+ {"version":3,"file":"AttributeVisualizationEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/AttributeVisualizationEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAA0B,YAAY,EAAa,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAyD,MAAM,0BAA0B,CAAC;AAG7G,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAiB,aAAa,EAAsJ,MAAM,iCAAiC,CAAC;AAG1P,qBAAa,4BAA6B,YAAW,6BAA6B;;gBA4BlE,QAAQ,EAAE,YAAY;IA+BlC,OAAO,CAAC,4BAA4B;IAUpC,IAAW,eAAe,IAAI,qBAAqB,CAElD;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,MAAM,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAE7C;IAED,IAAW,iBAAiB,IAAI,OAAO,GAAG,UAAU,CAEnD;IAED,IAAW,sBAAsB,IAAI,OAAO,GAAG,UAAU,CAExD;IAED,IAAW,QAAQ,IAAI,aAAa,CAEnC;IAMM,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;IAKzC,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAKhC,qBAAqB,CAAC,QAAQ,EAAE,qBAAqB;IAKrD,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU;IAMlD,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU;IAMvD,YAAY,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAK9C,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM;IAMnC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU7C,OAAO,CAAC,+BAA+B;IAkJvC,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,YAAY;CAiBvB"}
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _AttributeVisualizationEngine_uuidGenerator, _AttributeVisualizationEngine_viewport, _AttributeVisualizationEngine_attributes, _AttributeVisualizationEngine_defaultMaterial, _AttributeVisualizationEngine_defaultLayer, _AttributeVisualizationEngine_layers, _AttributeVisualizationEngine_overview, _AttributeVisualizationEngine_listeners, _AttributeVisualizationEngine_visualizedMaterialType, _AttributeVisualizationEngine_layerMaterialType;
13
+ var _AttributeVisualizationEngine_uuidGenerator, _AttributeVisualizationEngine_viewport, _AttributeVisualizationEngine_attributes, _AttributeVisualizationEngine_defaultMaterial, _AttributeVisualizationEngine_defaultLayer, _AttributeVisualizationEngine_layers, _AttributeVisualizationEngine_overview, _AttributeVisualizationEngine_listeners, _AttributeVisualizationEngine_visualizedMaterialType, _AttributeVisualizationEngine_layerMaterialType, _AttributeVisualizationEngine_nodesWithAttributeData;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AttributeVisualizationEngine = void 0;
16
16
  const viewer_1 = require("@shapediver/viewer");
@@ -37,25 +37,37 @@ class AttributeVisualizationEngine {
37
37
  _AttributeVisualizationEngine_listeners.set(this, {});
38
38
  _AttributeVisualizationEngine_visualizedMaterialType.set(this, 'unlit');
39
39
  _AttributeVisualizationEngine_layerMaterialType.set(this, 'unlit');
40
+ _AttributeVisualizationEngine_nodesWithAttributeData.set(this, []);
40
41
  __classPrivateFieldSet(this, _AttributeVisualizationEngine_viewport, viewport, "f");
41
42
  __classPrivateFieldSet(this, _AttributeVisualizationEngine_overview, __classPrivateFieldGet(this, _AttributeVisualizationEngine_viewport, "f").createSDTFOverview(viewer_1.sceneTree.root), "f");
42
43
  this.createLayers();
43
44
  this.constructAttributeVisualization();
45
+ this.gatherNodesWithAttributeData();
46
+ __classPrivateFieldGet(this, _AttributeVisualizationEngine_nodesWithAttributeData, "f").forEach(n => __classPrivateFieldGet(this, _AttributeVisualizationEngine_viewport, "f").updateNode(n));
44
47
  (0, viewer_1.addListener)(viewer_shared_services_1.EVENTTYPE.SESSION.SESSION_CUSTOMIZED, () => {
45
48
  __classPrivateFieldSet(this, _AttributeVisualizationEngine_overview, __classPrivateFieldGet(this, _AttributeVisualizationEngine_viewport, "f").createSDTFOverview(viewer_1.sceneTree.root), "f");
46
49
  const layers = __classPrivateFieldGet(this, _AttributeVisualizationEngine_layers, "f");
47
50
  this.createLayers();
48
- for (let l in layers) {
51
+ for (const l in layers) {
49
52
  if (__classPrivateFieldGet(this, _AttributeVisualizationEngine_layers, "f")[l])
50
53
  __classPrivateFieldGet(this, _AttributeVisualizationEngine_layers, "f")[l] = layers[l];
51
54
  }
52
55
  this.constructAttributeVisualization();
53
- for (let l in __classPrivateFieldGet(this, _AttributeVisualizationEngine_listeners, "f"))
56
+ this.gatherNodesWithAttributeData();
57
+ for (const l in __classPrivateFieldGet(this, _AttributeVisualizationEngine_listeners, "f"))
54
58
  __classPrivateFieldGet(this, _AttributeVisualizationEngine_listeners, "f")[l]();
55
59
  });
56
60
  }
57
61
  // #endregion Constructors (1)
58
62
  // #region Public Accessors (3)
63
+ gatherNodesWithAttributeData() {
64
+ __classPrivateFieldSet(this, _AttributeVisualizationEngine_nodesWithAttributeData, [], "f");
65
+ viewer_1.sceneTree.root.traverse((node) => {
66
+ if (node.data.some(d => d instanceof viewer_shared_types_1.SDTFItemData)) {
67
+ __classPrivateFieldGet(this, _AttributeVisualizationEngine_nodesWithAttributeData, "f").push(node);
68
+ }
69
+ });
70
+ }
59
71
  get defaultMaterial() {
60
72
  return __classPrivateFieldGet(this, _AttributeVisualizationEngine_defaultMaterial, "f");
61
73
  }
@@ -205,7 +217,9 @@ class AttributeVisualizationEngine {
205
217
  const itemDataAttributeOverview = overview[a.key].filter(o => o.typeHint === a.type)[0];
206
218
  switch (true) {
207
219
  case viewer_shared_types_1.SdtfPrimitiveTypeGuard.isColorType(a.type):
208
- material.color = 'rgb(' + itemDataAttribute.value + ')';
220
+ // multiply each color values with 255 to convert them to the range [0, 255]
221
+ const convertedValue = itemDataAttribute.value.map((v) => v * 255);
222
+ material.color = convertedValue;
209
223
  material.opacity *= layer.opacity;
210
224
  return {
211
225
  matrix: gl_matrix_1.mat4.create(),
@@ -241,6 +255,7 @@ class AttributeVisualizationEngine {
241
255
  };
242
256
  }
243
257
  };
258
+ __classPrivateFieldGet(this, _AttributeVisualizationEngine_nodesWithAttributeData, "f").forEach(n => __classPrivateFieldGet(this, _AttributeVisualizationEngine_viewport, "f").updateNode(n));
244
259
  }
245
260
  createMaterialCopy(material) {
246
261
  if (material instanceof viewer_shared_types_1.MaterialGemData) {
@@ -289,5 +304,5 @@ class AttributeVisualizationEngine {
289
304
  }
290
305
  }
291
306
  exports.AttributeVisualizationEngine = AttributeVisualizationEngine;
292
- _AttributeVisualizationEngine_uuidGenerator = new WeakMap(), _AttributeVisualizationEngine_viewport = new WeakMap(), _AttributeVisualizationEngine_attributes = new WeakMap(), _AttributeVisualizationEngine_defaultMaterial = new WeakMap(), _AttributeVisualizationEngine_defaultLayer = new WeakMap(), _AttributeVisualizationEngine_layers = new WeakMap(), _AttributeVisualizationEngine_overview = new WeakMap(), _AttributeVisualizationEngine_listeners = new WeakMap(), _AttributeVisualizationEngine_visualizedMaterialType = new WeakMap(), _AttributeVisualizationEngine_layerMaterialType = new WeakMap();
307
+ _AttributeVisualizationEngine_uuidGenerator = new WeakMap(), _AttributeVisualizationEngine_viewport = new WeakMap(), _AttributeVisualizationEngine_attributes = new WeakMap(), _AttributeVisualizationEngine_defaultMaterial = new WeakMap(), _AttributeVisualizationEngine_defaultLayer = new WeakMap(), _AttributeVisualizationEngine_layers = new WeakMap(), _AttributeVisualizationEngine_overview = new WeakMap(), _AttributeVisualizationEngine_listeners = new WeakMap(), _AttributeVisualizationEngine_visualizedMaterialType = new WeakMap(), _AttributeVisualizationEngine_layerMaterialType = new WeakMap(), _AttributeVisualizationEngine_nodesWithAttributeData = new WeakMap();
293
308
  //# sourceMappingURL=AttributeVisualizationEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeVisualizationEngine.js","sourceRoot":"","sources":["../../src/implementation/AttributeVisualizationEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeVisualizationEngine.js","sourceRoot":"","sources":["../../src/implementation/AttributeVisualizationEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.features.attribute-visualization",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -41,13 +41,13 @@
41
41
  "testEnvironment": "node"
42
42
  },
43
43
  "devDependencies": {
44
- "@shapediver/viewer": "3.1.1",
45
- "@shapediver/viewer.shared.services": "3.1.1",
46
- "@shapediver/viewer.shared.types": "3.1.1"
44
+ "@shapediver/viewer": "3.2.0",
45
+ "@shapediver/viewer.shared.services": "3.2.0",
46
+ "@shapediver/viewer.shared.types": "3.2.0"
47
47
  },
48
48
  "dependencies": {
49
49
  "detect-it": "4.0.1",
50
50
  "gl-matrix": "3.3.0"
51
51
  },
52
- "gitHead": "907a4374f92599a4ffb37eedd2f5cc388b9c4aab"
52
+ "gitHead": "36007f976342f0390133d7e5cecf4ebf79905c8a"
53
53
  }
@@ -1,11 +1,12 @@
1
- import { ILayer } from "../interfaces/ILayer";
2
- import { addListener, IViewportApi, sceneTree } from "@shapediver/viewer";
3
- import { IAttribute, IColorAttribute, IDefaultAttribute, INumberAttribute, IStringAttribute } from "../interfaces/IAttribute";
4
- import { mat4 } from "gl-matrix";
5
- import { Converter, EVENTTYPE, UuidGenerator } from "@shapediver/viewer.shared.services";
6
- import { IAttributeVisualizationEngine } from "../interfaces/IAttributeVisualizationEngine";
7
- import { IMaterialAbstractData, ISDTFItemData, ISDTFOverview, MaterialGemData, MaterialShadowData, MaterialSpecularGlossinessData, MaterialStandardData, MaterialUnlitData, SdtfPrimitiveTypeGuard } from "@shapediver/viewer.shared.types";
8
- import { AttributeVisualizationUtils } from "./AttributeVisualizationUtils";
1
+ /* eslint-disable no-case-declarations */
2
+ import { ILayer } from '../interfaces/ILayer';
3
+ import { addListener, ITreeNode, IViewportApi, sceneTree } from '@shapediver/viewer';
4
+ import { IAttribute, IDefaultAttribute, INumberAttribute, IStringAttribute } from '../interfaces/IAttribute';
5
+ import { mat4 } from 'gl-matrix';
6
+ import { Converter, EVENTTYPE, UuidGenerator } from '@shapediver/viewer.shared.services';
7
+ import { IAttributeVisualizationEngine } from '../interfaces/IAttributeVisualizationEngine';
8
+ import { IMaterialAbstractData, ISDTFItemData, ISDTFOverview, MaterialGemData, MaterialShadowData, MaterialSpecularGlossinessData, MaterialStandardData, MaterialUnlitData, SDTFItemData, SdtfPrimitiveTypeGuard } from '@shapediver/viewer.shared.types';
9
+ import { AttributeVisualizationUtils } from './AttributeVisualizationUtils';
9
10
 
10
11
  export class AttributeVisualizationEngine implements IAttributeVisualizationEngine {
11
12
  // #region Properties (7)
@@ -29,6 +30,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
29
30
  } = {};
30
31
  #visualizedMaterialType: 'unlit' | 'standard' = 'unlit';
31
32
  #layerMaterialType: 'unlit' | 'standard' = 'unlit';
33
+ #nodesWithAttributeData: ITreeNode[] = [];
32
34
 
33
35
  // #endregion Properties (7)
34
36
 
@@ -40,27 +42,41 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
40
42
  this.#overview = this.#viewport.createSDTFOverview(sceneTree.root);
41
43
  this.createLayers();
42
44
  this.constructAttributeVisualization();
45
+ this.gatherNodesWithAttributeData();
46
+ this.#nodesWithAttributeData.forEach(n => this.#viewport.updateNode(n));
47
+
43
48
  addListener(EVENTTYPE.SESSION.SESSION_CUSTOMIZED, () => {
44
49
  this.#overview = this.#viewport.createSDTFOverview(sceneTree.root);
45
50
 
46
51
  const layers = this.#layers;
47
52
  this.createLayers();
48
- for (let l in layers) {
53
+ for (const l in layers) {
49
54
  if (this.#layers[l])
50
55
  this.#layers[l] = layers[l];
51
56
  }
52
57
 
53
58
  this.constructAttributeVisualization();
59
+ this.gatherNodesWithAttributeData();
54
60
 
55
- for (let l in this.#listeners)
61
+ for (const l in this.#listeners)
56
62
  this.#listeners[l]();
57
- })
63
+ });
58
64
  }
59
65
 
60
66
  // #endregion Constructors (1)
61
67
 
62
68
  // #region Public Accessors (3)
63
69
 
70
+ private gatherNodesWithAttributeData() {
71
+ this.#nodesWithAttributeData = [];
72
+
73
+ sceneTree.root.traverse((node: ITreeNode) => {
74
+ if (node.data.some(d => d instanceof SDTFItemData)) {
75
+ this.#nodesWithAttributeData.push(node);
76
+ }
77
+ });
78
+ }
79
+
64
80
  public get defaultMaterial(): IMaterialAbstractData {
65
81
  return this.#defaultMaterial;
66
82
  }
@@ -158,7 +174,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
158
174
  return {
159
175
  matrix: mat4.create(),
160
176
  material
161
- }
177
+ };
162
178
  } else {
163
179
  // return default layer material
164
180
  let material;
@@ -176,7 +192,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
176
192
  return {
177
193
  matrix: mat4.create(),
178
194
  material
179
- }
195
+ };
180
196
  }
181
197
  }
182
198
 
@@ -194,7 +210,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
194
210
  return {
195
211
  matrix: mat4.create(),
196
212
  material: mat
197
- }
213
+ };
198
214
  }
199
215
 
200
216
  if (this.#attributes.length === 0) {
@@ -215,7 +231,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
215
231
  return {
216
232
  matrix: mat4.create(),
217
233
  material
218
- }
234
+ };
219
235
  } else {
220
236
  // attributes are specified, we go into attribute visualization mode
221
237
  const material = this.#visualizedMaterialType === 'unlit' ? new MaterialUnlitData() : new MaterialStandardData();
@@ -227,7 +243,9 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
227
243
 
228
244
  switch (true) {
229
245
  case SdtfPrimitiveTypeGuard.isColorType(a.type):
230
- material.color = 'rgb(' + itemDataAttribute.value + ')';
246
+ // multiply each color values with 255 to convert them to the range [0, 255]
247
+ const convertedValue = itemDataAttribute.value.map((v: number) => v * 255);
248
+ material.color = convertedValue;
231
249
  material.opacity *= layer.opacity;
232
250
  return {
233
251
  matrix: mat4.create(),
@@ -275,9 +293,10 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
275
293
  return {
276
294
  matrix: mat4.create(),
277
295
  material: mat
278
- }
296
+ };
279
297
  }
280
- }
298
+ };
299
+ this.#nodesWithAttributeData.forEach(n => this.#viewport.updateNode(n));
281
300
  }
282
301
 
283
302
  private createMaterialCopy(material: IMaterialAbstractData): IMaterialAbstractData {
@@ -316,7 +335,7 @@ export class AttributeVisualizationEngine implements IAttributeVisualizationEngi
316
335
  enabled: true,
317
336
  opacity: 1,
318
337
  color: this.defaultMaterial.color
319
- }
338
+ };
320
339
  }
321
340
  }
322
341
  }