@shapediver/viewer.data-engine.material-engine 2.10.1-rc.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialEngine.d.ts","sourceRoot":"","sources":["../src/MaterialEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EACH,OAAO,EAEP,oBAAoB,EAGvB,MAAM,iCAAiC,CAAA;AAIxC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AACrF,OAAO,EAAwB,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAA6B,QAAQ,EAAE,MAAM,6CAA6C,CAAA;AAE/L,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAMzC,WAAkB,QAAQ,mBAEzB;IAMD;;;;;SAKK;IACQ,WAAW,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,SAAS,CAAC;IAoCzE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU1D,qBAAqB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAavE,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IAuCvH,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IAqDvH,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IA8CjH,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqF3E,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIvE,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;IAoB3E,OAAO,CAAC,uBAAuB;IAuD/B,OAAO,CAAC,wBAAwB;IAqDhC,OAAO,CAAC,qBAAqB;CAmBhC"}
1
+ {"version":3,"file":"MaterialEngine.d.ts","sourceRoot":"","sources":["../src/MaterialEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EACH,OAAO,EAEP,oBAAoB,EAGvB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAwB,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAA6B,QAAQ,EAAE,MAAM,6CAA6C,CAAC;AAEhM,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAMzC,WAAkB,QAAQ,mBAEzB;IAMD;;;;;SAKK;IACQ,WAAW,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,SAAS,CAAC;IAoCzE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU1D,qBAAqB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAavE,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IAuCvH,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IAqDvH,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,GAAE,sBAA2B,GAAG,sBAAsB;IA8CjH,cAAc,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqF3E,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAIvE,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;IAoB3E,OAAO,CAAC,uBAAuB;IAqD/B,OAAO,CAAC,wBAAwB;IAqDhC,OAAO,CAAC,qBAAqB;CAmBhC"}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -7,17 +8,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
9
  });
9
10
  };
10
- import { TreeNode } from '@shapediver/viewer.shared.node-tree';
11
- import { Converter, HttpClient, Logger, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services';
12
- import { MapData, MATERIAL_SIDE, MaterialStandardData, TEXTURE_FILTERING, TEXTURE_WRAPPING, } from '@shapediver/viewer.shared.types';
13
- import { vec2, vec4 } from 'gl-matrix';
14
- import { materialDatabase } from './materialDatabase';
15
- export class MaterialEngine {
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MaterialEngine = void 0;
13
+ /* eslint-disable no-prototype-builtins */
14
+ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
15
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
16
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
17
+ const gl_matrix_1 = require("gl-matrix");
18
+ const materialDatabase_1 = require("./materialDatabase");
19
+ class MaterialEngine {
16
20
  constructor() {
17
21
  // #region Properties (4)
18
- this._converter = Converter.instance;
19
- this._httpClient = HttpClient.instance;
20
- this._logger = Logger.instance;
22
+ this._converter = viewer_shared_services_1.Converter.instance;
23
+ this._httpClient = viewer_shared_services_1.HttpClient.instance;
24
+ this._logger = viewer_shared_services_1.Logger.instance;
21
25
  // #endregion Private Methods (3)
22
26
  }
23
27
  // #endregion Properties (4)
@@ -35,10 +39,10 @@ export class MaterialEngine {
35
39
  */
36
40
  loadContent(content) {
37
41
  return __awaiter(this, void 0, void 0, function* () {
38
- const node = new TreeNode(content.name || 'material');
42
+ const node = new viewer_shared_node_tree_1.TreeNode(content.name || 'material');
39
43
  if (!content)
40
- throw new ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: Invalid content was provided to material engine.');
41
- let material = new MaterialStandardData();
44
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: Invalid content was provided to material engine.');
45
+ let material = new viewer_shared_types_1.MaterialStandardData();
42
46
  if (content.data) {
43
47
  const data = content.data;
44
48
  let presetData;
@@ -59,13 +63,13 @@ export class MaterialEngine {
59
63
  material = yield this.loadMaterialV3(this.loadMaterialDefinitionV3(data, presetData));
60
64
  }
61
65
  else {
62
- throw new ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: Material data version not supported.');
66
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: Material data version not supported.');
63
67
  }
64
68
  }
65
69
  }
66
70
  }
67
71
  else {
68
- throw new ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: No material data was provided to material engine.');
72
+ throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: No material data was provided to material engine.');
69
73
  }
70
74
  node.data.push(material);
71
75
  return node;
@@ -73,26 +77,26 @@ export class MaterialEngine {
73
77
  }
74
78
  loadMap(url, id) {
75
79
  return __awaiter(this, void 0, void 0, function* () {
76
- let image;
80
+ let imageData;
77
81
  if (!id) {
78
- image = (yield this._converter.responseToImage(yield this._httpClient.loadTexture(url)));
82
+ imageData = (yield this._httpClient.loadTexture(url)).data;
79
83
  }
80
84
  else {
81
- image = (yield this._converter.responseToImage(yield this._httpClient.loadTexture('https://viewer.shapediver.com/v2/materials/1024/' + id + '/' + url)));
85
+ imageData = (yield this._httpClient.loadTexture('https://viewer.shapediver.com/v2/materials/1024/' + id + '/' + url)).data;
82
86
  }
83
- return new MapData(image);
87
+ return new viewer_shared_types_1.MapData(imageData.image, { blob: imageData.blob });
84
88
  });
85
89
  }
86
90
  loadMapWithProperties(texture) {
87
91
  return __awaiter(this, void 0, void 0, function* () {
88
- let image = yield this._converter.responseToImage(yield this._httpClient.loadTexture(texture.href));
89
- const wrapS = texture.wrapS === 1 ? TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapS === 2 ? TEXTURE_WRAPPING.MIRRORED_REPEAT : TEXTURE_WRAPPING.REPEAT;
90
- const wrapT = texture.wrapT === 1 ? TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapT === 2 ? TEXTURE_WRAPPING.MIRRORED_REPEAT : TEXTURE_WRAPPING.REPEAT;
91
- const center = texture.center ? vec2.fromValues(texture.center[0], texture.center[1]) : vec2.fromValues(0, 0);
92
- const color = texture.color ? vec4.fromValues(texture.color[0] / 255, texture.color[1] / 255, texture.color[2] / 255, texture.color[3] / 255) : vec4.fromValues(1, 1, 1, 1);
93
- const offset = texture.offset ? vec2.fromValues(texture.offset[0], texture.offset[1]) : vec2.fromValues(0, 0);
94
- const repeat = texture.repeat ? vec2.fromValues(texture.repeat[0], texture.repeat[1]) : vec2.fromValues(1, 1);
95
- return new MapData(image, wrapS, wrapT, TEXTURE_FILTERING.LINEAR_MIPMAP_LINEAR, TEXTURE_FILTERING.LINEAR, center, color, offset, repeat, texture.rotation || 0);
92
+ const imageData = (yield this._httpClient.loadTexture(texture.href)).data;
93
+ const wrapS = texture.wrapS === 1 ? viewer_shared_types_1.TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapS === 2 ? viewer_shared_types_1.TEXTURE_WRAPPING.MIRRORED_REPEAT : viewer_shared_types_1.TEXTURE_WRAPPING.REPEAT;
94
+ const wrapT = texture.wrapT === 1 ? viewer_shared_types_1.TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapT === 2 ? viewer_shared_types_1.TEXTURE_WRAPPING.MIRRORED_REPEAT : viewer_shared_types_1.TEXTURE_WRAPPING.REPEAT;
95
+ const center = texture.center ? gl_matrix_1.vec2.fromValues(texture.center[0], texture.center[1]) : gl_matrix_1.vec2.fromValues(0, 0);
96
+ const color = texture.color ? gl_matrix_1.vec4.fromValues(texture.color[0] / 255, texture.color[1] / 255, texture.color[2] / 255, texture.color[3] / 255) : gl_matrix_1.vec4.fromValues(1, 1, 1, 1);
97
+ const offset = texture.offset ? gl_matrix_1.vec2.fromValues(texture.offset[0], texture.offset[1]) : gl_matrix_1.vec2.fromValues(0, 0);
98
+ const repeat = texture.repeat ? gl_matrix_1.vec2.fromValues(texture.repeat[0], texture.repeat[1]) : gl_matrix_1.vec2.fromValues(1, 1);
99
+ return new viewer_shared_types_1.MapData(imageData.image, { blob: imageData.blob, wrapS, wrapT, minFilter: viewer_shared_types_1.TEXTURE_FILTERING.LINEAR_MIPMAP_LINEAR, magFilter: viewer_shared_types_1.TEXTURE_FILTERING.LINEAR, center, color, offset, repeat, rotation: texture.rotation || 0 });
96
100
  });
97
101
  }
98
102
  loadMaterialDefinitionV1(data, presetData = {}) {
@@ -196,12 +200,12 @@ export class MaterialEngine {
196
200
  }
197
201
  loadMaterialV3(data) {
198
202
  return __awaiter(this, void 0, void 0, function* () {
199
- const material = new MaterialStandardData();
203
+ const material = new viewer_shared_types_1.MaterialStandardData();
200
204
  const promises = [];
201
205
  // ambient is ignored
202
206
  if (data.color)
203
207
  material.color = data.color;
204
- material.side = data.side === 'front' ? MATERIAL_SIDE.FRONT : data.side === 'back' ? MATERIAL_SIDE.BACK : MATERIAL_SIDE.DOUBLE;
208
+ material.side = data.side === 'front' ? viewer_shared_types_1.MATERIAL_SIDE.FRONT : data.side === 'back' ? viewer_shared_types_1.MATERIAL_SIDE.BACK : viewer_shared_types_1.MATERIAL_SIDE.DOUBLE;
205
209
  if (data.metalness || data.metalness === 0)
206
210
  material.metalness = data.metalness;
207
211
  if (data.roughness || data.roughness === 0)
@@ -267,24 +271,23 @@ export class MaterialEngine {
267
271
  loadPresetMaterialDefinition(preset) {
268
272
  const definition = {};
269
273
  const idStrings = this.getClassAndSpecificId(preset);
270
- if (materialDatabase[idStrings.class] && materialDatabase[idStrings.class][idStrings.specific]) {
271
- this.assignSpecificDefinition(idStrings, materialDatabase[idStrings.class][idStrings.specific], definition);
272
- this.assignGeneralDefinition(idStrings, materialDatabase[idStrings.class].properties, materialDatabase[idStrings.class][idStrings.specific], definition);
274
+ if (materialDatabase_1.materialDatabase[idStrings.class] && materialDatabase_1.materialDatabase[idStrings.class][idStrings.specific]) {
275
+ this.assignSpecificDefinition(idStrings, materialDatabase_1.materialDatabase[idStrings.class][idStrings.specific], definition);
276
+ this.assignGeneralDefinition(idStrings, materialDatabase_1.materialDatabase[idStrings.class].properties, materialDatabase_1.materialDatabase[idStrings.class][idStrings.specific], definition);
273
277
  }
274
- else if (materialDatabase[idStrings.class] && materialDatabase[idStrings.class]['00']) {
275
- this.assignSpecificDefinition({ class: idStrings.class, specific: '00' }, materialDatabase[idStrings.class]['00'], definition);
276
- this.assignGeneralDefinition({ class: idStrings.class, specific: '00' }, materialDatabase[idStrings.class].properties, materialDatabase[idStrings.class]['00'], definition);
278
+ else if (materialDatabase_1.materialDatabase[idStrings.class] && materialDatabase_1.materialDatabase[idStrings.class]['00']) {
279
+ this.assignSpecificDefinition({ class: idStrings.class, specific: '00' }, materialDatabase_1.materialDatabase[idStrings.class]['00'], definition);
280
+ this.assignGeneralDefinition({ class: idStrings.class, specific: '00' }, materialDatabase_1.materialDatabase[idStrings.class].properties, materialDatabase_1.materialDatabase[idStrings.class]['00'], definition);
277
281
  }
278
282
  else {
279
- this.assignSpecificDefinition({ class: '00', specific: '00' }, materialDatabase['00']['00'], definition);
280
- this.assignGeneralDefinition({ class: '00', specific: '00' }, materialDatabase['00'].properties, materialDatabase['00']['00'], definition);
283
+ this.assignSpecificDefinition({ class: '00', specific: '00' }, materialDatabase_1.materialDatabase['00']['00'], definition);
284
+ this.assignGeneralDefinition({ class: '00', specific: '00' }, materialDatabase_1.materialDatabase['00'].properties, materialDatabase_1.materialDatabase['00']['00'], definition);
281
285
  }
282
286
  return definition;
283
287
  }
284
288
  // #endregion Public Methods (9)
285
289
  // #region Private Methods (3)
286
290
  assignGeneralDefinition(id, generalDefinition, specificDefinition, definition) {
287
- const promises = [];
288
291
  if (generalDefinition.transparencytexture && !specificDefinition.transparencytexture)
289
292
  definition.transparencytexture = {
290
293
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.transparencytexture
@@ -372,7 +375,7 @@ export class MaterialEngine {
372
375
  if (id < 10)
373
376
  id *= 100;
374
377
  const cast = (id) => {
375
- let idString = String(id);
378
+ const idString = String(id);
376
379
  return idString.padStart(2, '0').slice(0, 2);
377
380
  };
378
381
  return {
@@ -381,4 +384,5 @@ export class MaterialEngine {
381
384
  };
382
385
  }
383
386
  }
387
+ exports.MaterialEngine = MaterialEngine;
384
388
  //# sourceMappingURL=MaterialEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialEngine.js","sourceRoot":"","sources":["../src/MaterialEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialEngine.js","sourceRoot":"","sources":["../src/MaterialEngine.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,6 @@
1
- import { MaterialEngine } from './MaterialEngine';
2
- export { MaterialEngine };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaterialEngine = void 0;
4
+ const MaterialEngine_1 = require("./MaterialEngine");
5
+ Object.defineProperty(exports, "MaterialEngine", { enumerable: true, get: function () { return MaterialEngine_1.MaterialEngine; } });
3
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EACL,cAAc,EACf,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AAG/C,+FAHO,+BAAc,OAGP"}
@@ -1,4 +1,7 @@
1
- export const materialDatabase = {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.materialDatabase = void 0;
4
+ exports.materialDatabase = {
2
5
  "00": {
3
6
  "00": {
4
7
  "name": "Default material",
@@ -1 +1 @@
1
- {"version":3,"file":"materialDatabase.js","sourceRoot":"","sources":["../src/materialDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materialDatabase.js","sourceRoot":"","sources":["../src/materialDatabase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.data-engine.material-engine",
3
- "version": "2.10.1-rc.0",
3
+ "version": "2.12.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -40,12 +40,12 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@shapediver/sdk.geometry-api-sdk-v2": "1.6.0",
43
- "@shapediver/viewer.data-engine.shared-types": "2.10.1-rc.0",
44
- "@shapediver/viewer.shared.node-tree": "2.10.1-rc.0",
45
- "@shapediver/viewer.shared.services": "2.10.1-rc.0",
46
- "@shapediver/viewer.shared.types": "2.10.1-rc.0",
43
+ "@shapediver/viewer.data-engine.shared-types": "2.12.0",
44
+ "@shapediver/viewer.shared.node-tree": "2.12.0",
45
+ "@shapediver/viewer.shared.services": "2.12.0",
46
+ "@shapediver/viewer.shared.types": "2.12.0",
47
47
  "axios": "^1.2.6",
48
48
  "gl-matrix": "3.3.0"
49
49
  },
50
- "gitHead": "7d6e75b740536d82351b9f4d1c2b0722bbde5a87"
50
+ "gitHead": "4453bb1d704facd5722ffd81518e54b5453d991f"
51
51
  }
@@ -1,17 +1,18 @@
1
- import { ITreeNode, TreeNode } from '@shapediver/viewer.shared.node-tree'
2
- import { Converter, HttpClient, Logger, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services'
1
+ /* eslint-disable no-prototype-builtins */
2
+ import { ITreeNode, TreeNode } from '@shapediver/viewer.shared.node-tree';
3
+ import { Converter, HttpClient, Logger, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services';
3
4
  import {
4
5
  MapData,
5
6
  MATERIAL_SIDE,
6
7
  MaterialStandardData,
7
8
  TEXTURE_FILTERING,
8
9
  TEXTURE_WRAPPING,
9
- } from '@shapediver/viewer.shared.types'
10
- import { vec2, vec3, vec4 } from 'gl-matrix'
10
+ } from '@shapediver/viewer.shared.types';
11
+ import { vec2, vec4 } from 'gl-matrix';
11
12
 
12
- import { materialDatabase } from './materialDatabase'
13
- import { ShapeDiverResponseOutputContent } from '@shapediver/sdk.geometry-api-sdk-v2'
14
- import { IMaterialContentData, IMaterialContentDataV1, IMaterialContentDataV2, IMaterialContentDataV3, IPresetMaterialDefinition, ITexture } from '@shapediver/viewer.data-engine.shared-types'
13
+ import { materialDatabase } from './materialDatabase';
14
+ import { ShapeDiverResponseOutputContent } from '@shapediver/sdk.geometry-api-sdk-v2';
15
+ import { IMaterialContentData, IMaterialContentDataV1, IMaterialContentDataV2, IMaterialContentDataV3, IPresetMaterialDefinition, ITexture } from '@shapediver/viewer.data-engine.shared-types';
15
16
 
16
17
  export class MaterialEngine {
17
18
  // #region Properties (4)
@@ -42,7 +43,7 @@ export class MaterialEngine {
42
43
  */
43
44
  public async loadContent(content: ShapeDiverResponseOutputContent): Promise<ITreeNode> {
44
45
  const node = new TreeNode(content.name || 'material');
45
- if (!content)
46
+ if (!content)
46
47
  throw new ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: Invalid content was provided to material engine.');
47
48
 
48
49
  let material = new MaterialStandardData();
@@ -71,24 +72,24 @@ export class MaterialEngine {
71
72
  } else {
72
73
  throw new ShapeDiverViewerDataProcessingError('MaterialEngine.loadContent: No material data was provided to material engine.');
73
74
  }
74
-
75
+
75
76
  node.data.push(material);
76
77
  return node;
77
78
  }
78
79
 
79
80
  public async loadMap(url: string, id?: string): Promise<MapData | null> {
80
- let image: HTMLImageElement;
81
+ let imageData;
81
82
  if (!id) {
82
- image = <HTMLImageElement>await this._converter.responseToImage(await this._httpClient.loadTexture(url));
83
+ imageData = (await this._httpClient.loadTexture(url)).data;
83
84
  } else {
84
- image = <HTMLImageElement>await this._converter.responseToImage(await this._httpClient.loadTexture('https://viewer.shapediver.com/v2/materials/1024/' + id + '/' + url));
85
+ imageData = (await this._httpClient.loadTexture('https://viewer.shapediver.com/v2/materials/1024/' + id + '/' + url)).data;
85
86
  }
86
- return new MapData(image);
87
+ return new MapData(imageData.image, { blob: imageData.blob });
87
88
  }
88
89
 
89
90
  public async loadMapWithProperties(texture: ITexture): Promise<MapData | null> {
90
- let image: HTMLImageElement = <HTMLImageElement>await this._converter.responseToImage(await this._httpClient.loadTexture(texture.href!));
91
-
91
+ const imageData = (await this._httpClient.loadTexture(texture.href!)).data;
92
+
92
93
  const wrapS = texture.wrapS === 1 ? TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapS === 2 ? TEXTURE_WRAPPING.MIRRORED_REPEAT : TEXTURE_WRAPPING.REPEAT;
93
94
  const wrapT = texture.wrapT === 1 ? TEXTURE_WRAPPING.CLAMP_TO_EDGE : texture.wrapT === 2 ? TEXTURE_WRAPPING.MIRRORED_REPEAT : TEXTURE_WRAPPING.REPEAT;
94
95
  const center = texture.center ? vec2.fromValues(texture.center[0], texture.center[1]) : vec2.fromValues(0, 0);
@@ -96,7 +97,7 @@ export class MaterialEngine {
96
97
  const offset = texture.offset ? vec2.fromValues(texture.offset[0], texture.offset[1]) : vec2.fromValues(0, 0);
97
98
  const repeat = texture.repeat ? vec2.fromValues(texture.repeat[0], texture.repeat[1]) : vec2.fromValues(1, 1);
98
99
 
99
- return new MapData(image, wrapS, wrapT, TEXTURE_FILTERING.LINEAR_MIPMAP_LINEAR, TEXTURE_FILTERING.LINEAR, center, color, offset, repeat, texture.rotation || 0);
100
+ return new MapData(imageData.image, { blob: imageData.blob, wrapS, wrapT, minFilter: TEXTURE_FILTERING.LINEAR_MIPMAP_LINEAR, magFilter: TEXTURE_FILTERING.LINEAR, center, color, offset, repeat, rotation: texture.rotation || 0 });
100
101
  }
101
102
 
102
103
  public loadMaterialDefinitionV1(data: IMaterialContentDataV1, presetData: IMaterialContentDataV3 = {}): IMaterialContentDataV3 {
@@ -123,18 +124,18 @@ export class MaterialEngine {
123
124
  if (data.bitmaptexture)
124
125
  presetData.bitmaptexture = {
125
126
  href: data.bitmaptexture
126
- }
127
+ };
127
128
 
128
129
  if (data.bumptexture)
129
130
  presetData.bumptexture = {
130
131
  href: data.bumptexture
131
- }
132
+ };
132
133
 
133
134
  if (data.transparencytexture)
134
135
  presetData.transparencytexture = {
135
136
  href: data.transparencytexture
136
- }
137
-
137
+ };
138
+
138
139
  return presetData;
139
140
  }
140
141
 
@@ -161,33 +162,33 @@ export class MaterialEngine {
161
162
  if (data.bitmaptexture)
162
163
  presetData.bitmaptexture = {
163
164
  href: data.bitmaptexture
164
- }
165
+ };
165
166
 
166
167
  if (data.metalnesstexture)
167
168
  presetData.metalnesstexture = {
168
169
  href: data.metalnesstexture
169
- }
170
+ };
170
171
 
171
172
  if (data.roughnesstexture)
172
173
  presetData.roughnesstexture = {
173
174
  href: data.roughnesstexture
174
- }
175
+ };
175
176
 
176
177
  if (data.bumptexture)
177
178
  presetData.bumptexture = {
178
179
  href: data.bumptexture
179
- }
180
+ };
180
181
 
181
182
  if (data.normaltexture)
182
183
  presetData.normaltexture = {
183
184
  href: data.normaltexture
184
- }
185
+ };
185
186
 
186
187
  if (data.transparencytexture)
187
188
  presetData.transparencytexture = {
188
189
  href: data.transparencytexture
189
- }
190
-
190
+ };
191
+
191
192
  return presetData;
192
193
  }
193
194
 
@@ -268,7 +269,7 @@ export class MaterialEngine {
268
269
  if (map) material.map = map;
269
270
  return map;
270
271
  })
271
- )
272
+ );
272
273
  }
273
274
 
274
275
  if (data.metalnesstexture) {
@@ -277,7 +278,7 @@ export class MaterialEngine {
277
278
  if (map) material.metalnessMap = map;
278
279
  return map;
279
280
  })
280
- )
281
+ );
281
282
  }
282
283
 
283
284
  if (data.roughnesstexture) {
@@ -286,7 +287,7 @@ export class MaterialEngine {
286
287
  if (map) material.roughnessMap = map;
287
288
  return map;
288
289
  })
289
- )
290
+ );
290
291
  }
291
292
 
292
293
  if (data.bumptexture) {
@@ -295,7 +296,7 @@ export class MaterialEngine {
295
296
  if (map) material.bumpMap = map;
296
297
  return map;
297
298
  })
298
- )
299
+ );
299
300
  }
300
301
 
301
302
  if (data.normaltexture) {
@@ -304,7 +305,7 @@ export class MaterialEngine {
304
305
  if (map) material.normalMap = map;
305
306
  return map;
306
307
  })
307
- )
308
+ );
308
309
  }
309
310
 
310
311
  if (data.transparencytexture) {
@@ -313,7 +314,7 @@ export class MaterialEngine {
313
314
  if (map) material.alphaMap = map;
314
315
  return map;
315
316
  })
316
- )
317
+ );
317
318
  }
318
319
 
319
320
  // line material https://shapediver.atlassian.net/browse/SS-2272
@@ -347,57 +348,55 @@ export class MaterialEngine {
347
348
  // #region Private Methods (3)
348
349
 
349
350
  private assignGeneralDefinition(id: { class: string, specific: string }, generalDefinition: IPresetMaterialDefinition, specificDefinition: IPresetMaterialDefinition, definition: IMaterialContentDataV3) {
350
- const promises: Promise<MapData | null>[] = [];
351
-
352
351
  if (generalDefinition.transparencytexture && !specificDefinition.transparencytexture)
353
352
  definition.transparencytexture = {
354
353
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.transparencytexture
355
- }
354
+ };
356
355
 
357
356
  if (generalDefinition.hasOwnProperty('alphaThreshold') && !specificDefinition.hasOwnProperty('alphaThreshold'))
358
357
  definition.alphaThreshold = generalDefinition.alphaThreshold;
359
358
 
360
- if (generalDefinition.bumptexture && !specificDefinition.bumptexture)
359
+ if (generalDefinition.bumptexture && !specificDefinition.bumptexture)
361
360
  definition.bumptexture = {
362
361
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.bumptexture
363
- }
364
-
365
- if (generalDefinition.hasOwnProperty('bumpAmplitude') && !specificDefinition.hasOwnProperty('bumpAmplitude'))
362
+ };
363
+
364
+ if (generalDefinition.hasOwnProperty('bumpAmplitude') && !specificDefinition.hasOwnProperty('bumpAmplitude'))
366
365
  definition.bumpAmplitude = generalDefinition.bumpAmplitude!;
367
366
 
368
- if (generalDefinition.color && !specificDefinition.color)
367
+ if (generalDefinition.color && !specificDefinition.color)
369
368
  definition.color = generalDefinition.color;
370
369
 
371
370
  if (generalDefinition.bitmaptexture && !specificDefinition.bitmaptexture)
372
371
  definition.bitmaptexture = {
373
372
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.bitmaptexture
374
- }
375
-
376
- if (generalDefinition.hasOwnProperty('metalness') && !specificDefinition.hasOwnProperty('metalness'))
373
+ };
374
+
375
+ if (generalDefinition.hasOwnProperty('metalness') && !specificDefinition.hasOwnProperty('metalness'))
377
376
  definition.metalness = generalDefinition.metalness!;
378
-
377
+
379
378
  if (generalDefinition.metalnesstexture && !specificDefinition.metalnesstexture)
380
379
  definition.metalnesstexture = {
381
380
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.metalnesstexture
382
- }
383
-
381
+ };
382
+
384
383
  if (generalDefinition.normaltexture && !specificDefinition.normaltexture)
385
384
  definition.normaltexture = {
386
385
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.normaltexture
387
- }
386
+ };
388
387
 
389
- if (generalDefinition.hasOwnProperty('transparency') && !specificDefinition.hasOwnProperty('transparency'))
388
+ if (generalDefinition.hasOwnProperty('transparency') && !specificDefinition.hasOwnProperty('transparency'))
390
389
  definition.transparency = generalDefinition.transparency;
391
-
392
- if (generalDefinition.hasOwnProperty('roughness') && !specificDefinition.hasOwnProperty('roughness'))
390
+
391
+ if (generalDefinition.hasOwnProperty('roughness') && !specificDefinition.hasOwnProperty('roughness'))
393
392
  definition.roughness = generalDefinition.roughness!;
394
393
 
395
- if (generalDefinition.roughnesstexture && !specificDefinition.roughnesstexture)
394
+ if (generalDefinition.roughnesstexture && !specificDefinition.roughnesstexture)
396
395
  definition.roughnesstexture = {
397
396
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + generalDefinition.roughnesstexture
398
- }
397
+ };
399
398
 
400
- if (generalDefinition.side && !specificDefinition.side)
399
+ if (generalDefinition.side && !specificDefinition.side)
401
400
  definition.side = generalDefinition.side;
402
401
  }
403
402
 
@@ -405,7 +404,7 @@ export class MaterialEngine {
405
404
  if (specificDefinition.transparencytexture)
406
405
  definition.transparencytexture = {
407
406
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.transparencytexture
408
- }
407
+ };
409
408
 
410
409
  if (specificDefinition.hasOwnProperty('alphaThreshold'))
411
410
  definition.alphaThreshold = specificDefinition.alphaThreshold!;
@@ -413,18 +412,18 @@ export class MaterialEngine {
413
412
  if (specificDefinition.bumptexture)
414
413
  definition.bumptexture = {
415
414
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.bumptexture
416
- }
415
+ };
417
416
 
418
- if (specificDefinition.hasOwnProperty('bumpAmplitude'))
417
+ if (specificDefinition.hasOwnProperty('bumpAmplitude'))
419
418
  definition.bumpAmplitude = specificDefinition.bumpAmplitude!;
420
419
 
421
- if (specificDefinition.color)
420
+ if (specificDefinition.color)
422
421
  definition.color = specificDefinition.color;
423
422
 
424
423
  if (specificDefinition.bitmaptexture)
425
424
  definition.bitmaptexture = {
426
425
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.bitmaptexture
427
- }
426
+ };
428
427
 
429
428
  if (specificDefinition.hasOwnProperty('metalness'))
430
429
  definition.metalness = specificDefinition.metalness!;
@@ -432,25 +431,25 @@ export class MaterialEngine {
432
431
  if (specificDefinition.metalnesstexture)
433
432
  definition.metalnesstexture = {
434
433
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.metalnesstexture
435
- }
436
-
434
+ };
435
+
437
436
  if (specificDefinition.normaltexture)
438
437
  definition.normaltexture = {
439
438
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.normaltexture
440
- }
439
+ };
441
440
 
442
- if (specificDefinition.hasOwnProperty('transparency'))
441
+ if (specificDefinition.hasOwnProperty('transparency'))
443
442
  definition.transparency = specificDefinition.transparency!;
444
443
 
445
- if (specificDefinition.hasOwnProperty('roughness'))
444
+ if (specificDefinition.hasOwnProperty('roughness'))
446
445
  definition.roughness = specificDefinition.roughness!;
447
446
 
448
447
  if (specificDefinition.roughnesstexture)
449
448
  definition.roughnesstexture = {
450
449
  href: 'https://viewer.shapediver.com/v2/materials/1024/' + id.class + '/' + id.specific + '/' + specificDefinition.roughnesstexture
451
- }
450
+ };
452
451
 
453
- if (specificDefinition.side)
452
+ if (specificDefinition.side)
454
453
  definition.side = specificDefinition.side;
455
454
  }
456
455
 
@@ -462,7 +461,7 @@ export class MaterialEngine {
462
461
  if (id < 10) id *= 100;
463
462
 
464
463
  const cast = (id: number): string => {
465
- let idString = String(id);
464
+ const idString = String(id);
466
465
  return idString.padStart(2, '0').slice(0, 2);
467
466
  };
468
467