@shapediver/viewer.data-engine.tag3d-engine 2.9.11 → 2.10.1-rc.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,23 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -27,22 +7,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
27
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
28
8
  });
29
9
  };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.Tag3dEngine = void 0;
32
- const THREE = __importStar(require("three"));
33
- const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
34
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
35
- const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
36
- const TextGeometry_1 = require("./three/geometries/TextGeometry");
37
- const FontLoader_1 = require("./three/loaders/FontLoader");
38
- const font_1 = require("./font");
39
- class Tag3dEngine {
10
+ import * as THREE from 'three';
11
+ import { TreeNode } from '@shapediver/viewer.shared.node-tree';
12
+ import { HttpClient, Logger, Converter, StateEngine, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services';
13
+ import { AttributeData, GeometryData, MaterialStandardData, PrimitiveData, PRIMITIVE_MODE } from '@shapediver/viewer.shared.types';
14
+ import { TextGeometry } from './three/geometries/TextGeometry';
15
+ import { Font } from './three/loaders/FontLoader';
16
+ import { font } from './font';
17
+ export class Tag3dEngine {
40
18
  constructor() {
41
19
  // #region Properties (6)
42
- this._converter = viewer_shared_services_1.Converter.instance;
43
- this._httpClient = viewer_shared_services_1.HttpClient.instance;
44
- this._logger = viewer_shared_services_1.Logger.instance;
45
- this._stateEngine = viewer_shared_services_1.StateEngine.instance;
20
+ this._converter = Converter.instance;
21
+ this._httpClient = HttpClient.instance;
22
+ this._logger = Logger.instance;
23
+ this._stateEngine = StateEngine.instance;
46
24
  // #endregion Public Methods (1)
47
25
  }
48
26
  // #endregion Properties (6)
@@ -61,14 +39,14 @@ class Tag3dEngine {
61
39
  loadContent(content) {
62
40
  return __awaiter(this, void 0, void 0, function* () {
63
41
  if (!this._font) {
64
- this._font = new FontLoader_1.Font(font_1.font);
42
+ this._font = new Font(font);
65
43
  this._stateEngine.fontLoaded.resolve(true);
66
44
  }
67
- const node = new viewer_shared_node_tree_1.TreeNode('tag3d');
45
+ const node = new TreeNode('tag3d');
68
46
  if (this._stateEngine.fontLoaded.resolved === false)
69
47
  yield this._stateEngine.fontLoaded;
70
48
  if (!content)
71
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Tag3dEngine.loadContent: Invalid content was provided to tag3d engine.');
49
+ throw new ShapeDiverViewerDataProcessingError('Tag3dEngine.loadContent: Invalid content was provided to tag3d engine.');
72
50
  if (content.data && Array.isArray(content.data)) {
73
51
  for (let i = 0; i < content.data.length; i++) {
74
52
  const tag3dInfo = content.data[i];
@@ -80,7 +58,7 @@ class Tag3dEngine {
80
58
  if (tagLines[lineIndex] === '')
81
59
  continue;
82
60
  // create tag mesh object
83
- let tag = new TextGeometry_1.TextGeometry(tagLines[lineIndex], { size: tag3dInfo.size, height: tag3dInfo.size / 10, font: this._font });
61
+ let tag = new TextGeometry(tagLines[lineIndex], { size: tag3dInfo.size, height: tag3dInfo.size / 10, font: this._font });
84
62
  lineArray.push(tag);
85
63
  }
86
64
  // create temporary object
@@ -165,20 +143,19 @@ class Tag3dEngine {
165
143
  else if (attributeName === 'UV') {
166
144
  attributeName = 'TEXCOORD_0';
167
145
  }
168
- attributes[attributeName] = new viewer_shared_types_1.AttributeData(line.attributes[attribute].array, line.attributes[attribute].itemSize, 0, 0, 0, false, line.attributes[attribute].array.length / line.attributes[attribute].itemSize);
146
+ attributes[attributeName] = new AttributeData(line.attributes[attribute].array, line.attributes[attribute].itemSize, 0, 0, 0, false, line.attributes[attribute].array.length / line.attributes[attribute].itemSize);
169
147
  }
170
- const child = new viewer_shared_node_tree_1.TreeNode('tag3d_' + line);
171
- child.data.push(new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, null), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES, new viewer_shared_types_1.MaterialStandardData({ color: tag3dInfo.color, metalness: 0, roughness: 1 })));
148
+ const child = new TreeNode('tag3d_' + line);
149
+ child.data.push(new GeometryData(new PrimitiveData(attributes, null), PRIMITIVE_MODE.TRIANGLES, new MaterialStandardData({ color: tag3dInfo.color, metalness: 0, roughness: 1 })));
172
150
  node.children.push(child);
173
151
  }
174
152
  }
175
153
  }
176
154
  else {
177
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Tag3dEngine.loadContent: No tag3d data was provided to tag3d engine.');
155
+ throw new ShapeDiverViewerDataProcessingError('Tag3dEngine.loadContent: No tag3d data was provided to tag3d engine.');
178
156
  }
179
157
  return node;
180
158
  });
181
159
  }
182
160
  }
183
- exports.Tag3dEngine = Tag3dEngine;
184
161
  //# sourceMappingURL=Tag3dEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tag3dEngine.js","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tag3dEngine.js","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"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"}