@shapediver/viewer.data-engine.data-engine 1.15.5 → 2.0.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,4 +1,4 @@
1
- import { TreeNode } from '@shapediver/viewer.shared.node-tree';
1
+ import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
2
2
  import { ShapeDiverResponseOutputContent } from '@shapediver/sdk.geometry-api-sdk-v2';
3
3
  export declare class DataEngine {
4
4
  private readonly _geometryEngine;
@@ -7,6 +7,6 @@ export declare class DataEngine {
7
7
  private readonly _materialEngine;
8
8
  private readonly _sdtfEngine;
9
9
  private readonly _tag3dEngine;
10
- loadContent(content: ShapeDiverResponseOutputContent): Promise<TreeNode>;
10
+ loadContent(content: ShapeDiverResponseOutputContent): Promise<ITreeNode>;
11
11
  }
12
12
  //# sourceMappingURL=DataEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataEngine.d.ts","sourceRoot":"","sources":["../src/DataEngine.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAK/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBACa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAgG;IACzI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;IAM5E,WAAW,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmDxF"}
1
+ {"version":3,"file":"DataEngine.d.ts","sourceRoot":"","sources":["../src/DataEngine.ts"],"names":[],"mappings":"AAMA,OAAO,EAAmB,SAAS,EAAY,MAAM,qCAAqC,CAAA;AAK1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAErF,qBACa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAgG;IACzI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqE;IACrG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyD;IACrF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;IAM5E,WAAW,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,SAAS,CAAC;CAmDzF"}
@@ -43,7 +43,7 @@ let DataEngine = class DataEngine {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
44
  if (!content || (content && !content.format)) {
45
45
  const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('DataEngine cannot load content.');
46
- throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `DataEngine.loadContent`, error);
46
+ throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `DataEngine.loadContent`, error);
47
47
  }
48
48
  try {
49
49
  let node;
@@ -86,13 +86,13 @@ let DataEngine = class DataEngine {
86
86
  return transformationNode;
87
87
  }
88
88
  catch (e) {
89
- throw this._logger.handleError(viewer_shared_services_1.LOGGINGTOPIC.DATA_PROCESSING, `DataEngine.loadContent`, e);
89
+ throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `DataEngine.loadContent`, e);
90
90
  }
91
91
  });
92
92
  }
93
93
  };
94
94
  DataEngine = __decorate([
95
- tsyringe_1.singleton()
95
+ (0, tsyringe_1.singleton)()
96
96
  ], DataEngine);
97
97
  exports.DataEngine = DataEngine;
98
98
  //# sourceMappingURL=DataEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataEngine.js","sourceRoot":"","sources":["../src/DataEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,uCAA+C;AAC/C,yEAA4D;AAC5D,uGAA+E;AAC/E,uGAA+E;AAC/E,+FAAuE;AACvE,iGAAyE;AACzE,iFAA+E;AAC/E,+EAA0H;AAC1H,6HAAmG;AAEnG,yCAAgC;AAIhC,IAAa,UAAU,GAAvB,MAAa,UAAU;IAAvB;QACI,yBAAyB;QAER,oBAAe,GAAmC,oBAAS,CAAC,OAAO,CAAC,mDAAc,CAAC,CAAC;QACpF,6BAAwB,GAAqD,oBAAS,CAAC,OAAO,CAAC,uEAAuB,CAAC,CAAC;QACxH,YAAO,GAAmB,oBAAS,CAAC,OAAO,CAAC,+BAAM,CAAC,CAAC;QACpD,oBAAe,GAAmC,oBAAS,CAAC,OAAO,CAAC,mDAAc,CAAC,CAAC;QACpF,gBAAW,GAA2B,oBAAS,CAAC,OAAO,CAAC,2CAAU,CAAC,CAAC;QACpE,iBAAY,GAA6B,oBAAS,CAAC,OAAO,CAAC,6CAAW,CAAC,CAAC;QAwDzF,gCAAgC;IACpC,CAAC;IAvDG,4BAA4B;IAE5B,6BAA6B;IAEhB,WAAW,CAAC,OAAwC;;YAC7D,IAAG,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBACzC,MAAM,KAAK,GAAG,IAAI,4DAAmC,CAAC,iCAAiC,CAAC,CAAC;gBACzF,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;aACjG;YAED,IAAI;gBACA,IAAI,IAAc,CAAC;gBAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;oBACvD,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBAC1D;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;oBACtC,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBAC1D;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;oBAClE,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBACnE;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;oBACnC,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBACvD;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE;oBAClC,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;iBACtD;qBAAM;oBACH,IAAI,GAAG,IAAI,kCAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gCAAU,mBAAM,OAAO,EAAG,CAAC,CAAC;iBAClD;gBAED,MAAM,kBAAkB,GAAG,IAAI,kCAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACrD,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE,EAAE;4BACrC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;4BAC1C,YAAY,CAAC,eAAe,GAAG,CAAC;oCAC5B,EAAE,EAAE,UAAU,GAAG,CAAC;oCAClB,MAAM,EAAE,gBAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAC1C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACtB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EACxB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iCAClC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;4BAChC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;yBAC5C;qBACJ;iBACJ;qBAAM;oBACH,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;iBACpC;gBACD,OAAO,kBAAkB,CAAC;aAE7B;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAY,CAAC,eAAe,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC;aAC7F;QACL,CAAC;KAAA;CAGJ,CAAA;AAjEY,UAAU;IADtB,oBAAS,EAAE;GACC,UAAU,CAiEtB;AAjEY,gCAAU"}
1
+ {"version":3,"file":"DataEngine.js","sourceRoot":"","sources":["../src/DataEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.data-engine.data-engine",
3
- "version": "1.15.5",
3
+ "version": "2.0.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -10,7 +10,11 @@
10
10
  "test": "__tests__"
11
11
  },
12
12
  "files": [
13
- "dist"
13
+ "dist",
14
+ "src",
15
+ "package.json",
16
+ "README.md",
17
+ "tsconfig.json"
14
18
  ],
15
19
  "publishConfig": {
16
20
  "access": "public"
@@ -20,11 +24,10 @@
20
24
  "url": "git+https://github.com/shapediver/Viewer.git"
21
25
  },
22
26
  "scripts": {
23
- "test": "bash ../../scripts/test.sh",
24
27
  "check": "tsc --noEmit",
25
- "build": "bash ../../scripts/build.sh",
26
- "build-watch": "bash ../../scripts/build-watch.sh",
27
- "build-dep": "bash ../../scripts/build-dep.sh"
28
+ "build": "bash ../../scripts/building/build.sh",
29
+ "build-watch": "bash ../../scripts/building/build-watch.sh",
30
+ "build-dep": "bash ../../scripts/building/build-dep.sh"
28
31
  },
29
32
  "bugs": {
30
33
  "url": "https://github.com/shapediver/Viewer/issues"
@@ -36,18 +39,18 @@
36
39
  "testEnvironment": "node"
37
40
  },
38
41
  "dependencies": {
39
- "@shapediver/sdk.geometry-api-sdk-v2": "^1.0.23",
40
- "@shapediver/viewer.data-engine.geometry-engine": "1.15.5",
41
- "@shapediver/viewer.data-engine.html-element-anchor-engine": "1.15.5",
42
- "@shapediver/viewer.data-engine.material-engine": "1.15.5",
43
- "@shapediver/viewer.data-engine.sdtf-engine": "1.15.5",
44
- "@shapediver/viewer.data-engine.tag3d-engine": "1.15.5",
45
- "@shapediver/viewer.shared.node-tree": "1.15.5",
46
- "@shapediver/viewer.shared.services": "1.15.5",
47
- "@shapediver/viewer.shared.types": "1.15.5",
42
+ "@shapediver/sdk.geometry-api-sdk-v2": "^1.0.24",
43
+ "@shapediver/viewer.data-engine.geometry-engine": "2.0.0",
44
+ "@shapediver/viewer.data-engine.html-element-anchor-engine": "2.0.0",
45
+ "@shapediver/viewer.data-engine.material-engine": "2.0.0",
46
+ "@shapediver/viewer.data-engine.sdtf-engine": "2.0.0",
47
+ "@shapediver/viewer.data-engine.tag3d-engine": "2.0.0",
48
+ "@shapediver/viewer.shared.node-tree": "2.0.0",
49
+ "@shapediver/viewer.shared.services": "2.0.0",
50
+ "@shapediver/viewer.shared.types": "2.0.0",
48
51
  "axios": "^0.21.1",
49
52
  "gl-matrix": "3.3.0",
50
53
  "tsyringe": "^4.5.0"
51
54
  },
52
- "gitHead": "120dd5fcfe70c66dcf03648d7a0afe35ad0fa120"
55
+ "gitHead": "bb53f1f23dcf3b1d76e786bdc8eb20e485c029f2"
53
56
  }
@@ -0,0 +1,80 @@
1
+ import { container, singleton } from 'tsyringe'
2
+ import { CustomData } from '@shapediver/viewer.shared.types'
3
+ import { GeometryEngine } from '@shapediver/viewer.data-engine.geometry-engine'
4
+ import { MaterialEngine } from '@shapediver/viewer.data-engine.material-engine'
5
+ import { SDTFEngine } from '@shapediver/viewer.data-engine.sdtf-engine'
6
+ import { Tag3dEngine } from '@shapediver/viewer.data-engine.tag3d-engine'
7
+ import { ITransformation, ITreeNode, TreeNode } from '@shapediver/viewer.shared.node-tree'
8
+ import { HttpClient, Logger, LOGGING_TOPIC, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services'
9
+ import { HTMLElementAnchorEngine } from '@shapediver/viewer.data-engine.html-element-anchor-engine'
10
+
11
+ import { mat4 } from 'gl-matrix'
12
+ import { ShapeDiverResponseOutputContent } from '@shapediver/sdk.geometry-api-sdk-v2'
13
+
14
+ @singleton()
15
+ export class DataEngine {
16
+ // #region Properties (6)
17
+
18
+ private readonly _geometryEngine: GeometryEngine = <GeometryEngine>container.resolve(GeometryEngine);
19
+ private readonly _htmlElementAnchorEngine: HTMLElementAnchorEngine = <HTMLElementAnchorEngine>container.resolve(HTMLElementAnchorEngine);
20
+ private readonly _logger: Logger = <Logger>container.resolve(Logger);
21
+ private readonly _materialEngine: MaterialEngine = <MaterialEngine>container.resolve(MaterialEngine);
22
+ private readonly _sdtfEngine: SDTFEngine = <SDTFEngine>container.resolve(SDTFEngine);
23
+ private readonly _tag3dEngine: Tag3dEngine = <Tag3dEngine>container.resolve(Tag3dEngine);
24
+
25
+ // #endregion Properties (6)
26
+
27
+ // #region Public Methods (1)
28
+
29
+ public async loadContent(content: ShapeDiverResponseOutputContent): Promise<ITreeNode> {
30
+ if(!content || (content && !content.format)) {
31
+ const error = new ShapeDiverViewerDataProcessingError('DataEngine cannot load content.');
32
+ throw this._logger.handleError(LOGGING_TOPIC.DATA_PROCESSING, `DataEngine.loadContent`, error);
33
+ }
34
+
35
+ try {
36
+ let node: ITreeNode;
37
+
38
+ if (content.format === 'glb' || content.format === 'gltf') {
39
+ node = await this._geometryEngine.loadContent(content);
40
+ } else if (content.format === 'material') {
41
+ node = await this._materialEngine.loadContent(content);
42
+ } else if (content.format === 'tag2d' || content.format === 'anchor') {
43
+ node = await this._htmlElementAnchorEngine.loadContent(content);
44
+ } else if (content.format === 'tag3d') {
45
+ node = await this._tag3dEngine.loadContent(content);
46
+ } else if (content.format === 'sdtf') {
47
+ node = await this._sdtfEngine.loadContent(content);
48
+ } else {
49
+ node = new TreeNode('custom');
50
+ node.data.push(new CustomData({ ...content }));
51
+ }
52
+
53
+ const transformationNode = new TreeNode('transformation');
54
+ if (content.transformations && Array.isArray(content.transformations)) {
55
+ for (let i = 0; i < content.transformations.length; i++) {
56
+ const t = content.transformations[i];
57
+ if (Array.isArray(t) && t.length === 16) {
58
+ const nodeInstance = node.cloneInstance();
59
+ nodeInstance.transformations = [{
60
+ id: 'content_' + i,
61
+ matrix: mat4.fromValues(t[0], t[1], t[2], t[3],
62
+ t[4], t[5], t[6], t[7],
63
+ t[8], t[9], t[10], t[11],
64
+ t[12], t[13], t[14], t[15])
65
+ }].concat(node.transformations);
66
+ transformationNode.addChild(nodeInstance)
67
+ }
68
+ }
69
+ } else {
70
+ transformationNode.addChild(node)
71
+ }
72
+ return transformationNode;
73
+
74
+ } catch (e) {
75
+ throw this._logger.handleError(LOGGING_TOPIC.DATA_PROCESSING, `DataEngine.loadContent`, e);
76
+ }
77
+ }
78
+
79
+ // #endregion Public Methods (1)
80
+ }
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { DataEngine } from './DataEngine'
2
+
3
+ export {
4
+ DataEngine
5
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": [
4
+ "./**/*.ts"
5
+ ],
6
+ "compilerOptions": {
7
+ "rootDir": "src",
8
+ "outDir": "dist"
9
+ },
10
+ "exclude": [
11
+ "__tests__",
12
+ "node_modules",
13
+ "dist",
14
+ "dist-dev",
15
+ "dist-prod"
16
+ ]
17
+ }