@shapediver/viewer.data-engine.geometry-engine 2.9.10 → 2.10.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,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,19 +7,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GeometryEngine = void 0;
13
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
14
- const GLTFLoader_1 = require("./gltfv1/GLTFLoader");
15
- const GLTFLoader_2 = require("./gltfv2/GLTFLoader");
16
- class GeometryEngine {
10
+ import { HttpClient, Logger, PerformanceEvaluator, ShapeDiverViewerDataProcessingError } from '@shapediver/viewer.shared.services';
11
+ import { GLTFLoader as GLTF_v1Loader } from './gltfv1/GLTFLoader';
12
+ import { GLTFLoader as GLTF_v2Loader } from './gltfv2/GLTFLoader';
13
+ export class GeometryEngine {
17
14
  constructor() {
18
15
  // #region Properties (7)
19
16
  this.BINARY_EXTENSION_HEADER_LENGTH = 20;
20
- this._httpClient = viewer_shared_services_1.HttpClient.instance;
17
+ this._httpClient = HttpClient.instance;
21
18
  this._loadingQueue = [];
22
- this._logger = viewer_shared_services_1.Logger.instance;
23
- this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
19
+ this._logger = Logger.instance;
20
+ this._performanceEvaluator = PerformanceEvaluator.instance;
24
21
  this._loadingQueueLength = Infinity;
25
22
  // #endregion Public Methods (1)
26
23
  }
@@ -48,7 +45,7 @@ class GeometryEngine {
48
45
  loadContent(content, taskEventId) {
49
46
  return __awaiter(this, void 0, void 0, function* () {
50
47
  if (!content || (content && !content.href))
51
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
48
+ throw new ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
52
49
  while (this._loadingQueueLength <= this._loadingQueue.length)
53
50
  yield new Promise(resolve => setTimeout(resolve, 10));
54
51
  const url = content.href;
@@ -77,7 +74,7 @@ class GeometryEngine {
77
74
  contentFormat: headerDataView.getUint32(16, true)
78
75
  };
79
76
  if (gltfHeader.magic != 'glTF')
80
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
77
+ throw new ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
81
78
  // create content
82
79
  const contentDataView = new DataView(gltfBinary, this.BINARY_EXTENSION_HEADER_LENGTH, gltfHeader.contentLength);
83
80
  const contentDecoded = new TextDecoder().decode(contentDataView);
@@ -88,7 +85,7 @@ class GeometryEngine {
88
85
  version = gltfHeader.version + '.0';
89
86
  }
90
87
  else {
91
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: glTF header version (' + gltfHeader.version + ') is not the same as asset version (' + assetVersion + ').');
88
+ throw new ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: glTF header version (' + gltfHeader.version + ') is not the same as asset version (' + assetVersion + ').');
92
89
  }
93
90
  }
94
91
  else {
@@ -99,7 +96,7 @@ class GeometryEngine {
99
96
  gltfContent = JSON.parse(new TextDecoder().decode(axiosResponse.data));
100
97
  if (gltfContent && gltfContent.asset && gltfContent.asset.version) {
101
98
  if (gltfContent.asset.version !== '2.0')
102
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: Only gltf v2 is supported in a non-binary format.');
99
+ throw new ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: Only gltf v2 is supported in a non-binary format.');
103
100
  }
104
101
  else {
105
102
  this._logger.warn('GeometryEngine.loadContent: No version specified in asset, trying to load as v2.');
@@ -118,10 +115,10 @@ class GeometryEngine {
118
115
  }
119
116
  let promise;
120
117
  if (version === '1.0') {
121
- promise = new GLTFLoader_1.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
118
+ promise = new GLTF_v1Loader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
122
119
  }
123
120
  else {
124
- promise = new GLTFLoader_2.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
121
+ promise = new GLTF_v2Loader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
125
122
  }
126
123
  promise.catch(e => { reject(e); });
127
124
  resolve(promise);
@@ -134,5 +131,4 @@ class GeometryEngine {
134
131
  });
135
132
  }
136
133
  }
137
- exports.GeometryEngine = GeometryEngine;
138
134
  //# sourceMappingURL=GeometryEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,25 +7,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.GLTFLoader = void 0;
13
- const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
14
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
15
- const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
16
- const gl_matrix_1 = require("gl-matrix");
17
- const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
18
- const SDGTFLoader_1 = require("./SDGTFLoader");
19
- class GLTFLoader {
10
+ import { TreeNode } from '@shapediver/viewer.shared.node-tree';
11
+ import { HttpClient, PerformanceEvaluator, UuidGenerator, Logger, ShapeDiverViewerDataProcessingError, EventEngine, EVENTTYPE } from '@shapediver/viewer.shared.services';
12
+ import { ACCESSORCOMPONENTTYPE_V1 as ACCESSOR_COMPONENTTYPE, ACCESSORTYPE_V1 as ACCESSORTYPE, } from '@shapediver/viewer.data-engine.shared-types';
13
+ import { mat4, vec3, vec4 } from 'gl-matrix';
14
+ import { AttributeData, GeometryData, MATERIAL_SIDE, MaterialStandardData, PrimitiveData, TASK_TYPE, PRIMITIVE_MODE, } from '@shapediver/viewer.shared.types';
15
+ import { SDGTFLoader } from './SDGTFLoader';
16
+ export class GLTFLoader {
20
17
  constructor() {
21
18
  // #region Properties (5)
22
19
  this.BINARY_EXTENSION_HEADER_LENGTH = 20;
23
- this._httpClient = viewer_shared_services_1.HttpClient.instance;
24
- this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
25
- this._logger = viewer_shared_services_1.Logger.instance;
20
+ this._httpClient = HttpClient.instance;
21
+ this._uuidGenerator = UuidGenerator.instance;
22
+ this._logger = Logger.instance;
26
23
  this._implementedExtensions = ['KHR_materials_common'];
27
- this._globalTransformation = gl_matrix_1.mat4.fromValues(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);
28
- this._eventEngine = viewer_shared_services_1.EventEngine.instance;
29
- this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
24
+ this._globalTransformation = mat4.fromValues(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);
25
+ this._eventEngine = EventEngine.instance;
26
+ this._performanceEvaluator = PerformanceEvaluator.instance;
30
27
  this._progressUpdateLimit = 500;
31
28
  this._eventId = "";
32
29
  this._numberOfNodes = 0;
@@ -39,8 +36,8 @@ class GLTFLoader {
39
36
  load(content, gltfBinary, gltfHeader, baseUri, taskEventId) {
40
37
  return __awaiter(this, void 0, void 0, function* () {
41
38
  this._eventId = taskEventId || this._uuidGenerator.create();
42
- const eventStart = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0, status: 'Starting glTF 1.0 loading.' };
43
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, eventStart);
39
+ const eventStart = { type: TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0, status: 'Starting glTF 1.0 loading.' };
40
+ this._eventEngine.emitEvent(EVENTTYPE.TASK.TASK_START, eventStart);
44
41
  this._numberOfConvertedNodes = 0;
45
42
  this._numberOfNodes = content.nodes ? Object.values(content.nodes).length : 0;
46
43
  this._progressTimer = performance.now();
@@ -50,15 +47,15 @@ class GLTFLoader {
50
47
  this._content = content;
51
48
  let sdgtfNode;
52
49
  if (gltfBinary && gltfHeader)
53
- sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(gltfBinary, gltfHeader.length);
54
- const eventProgressSDgTF = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0.25, status: 'Loaded SDgTF content.' };
55
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventProgressSDgTF);
50
+ sdgtfNode = yield new SDGTFLoader().load(gltfBinary, gltfHeader.length);
51
+ const eventProgressSDgTF = { type: TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0.25, status: 'Loaded SDgTF content.' };
52
+ this._eventEngine.emitEvent(EVENTTYPE.TASK.TASK_PROCESS, eventProgressSDgTF);
56
53
  this.validateVersionAndExtensions();
57
54
  const node = yield this.loadScene();
58
55
  if (sdgtfNode)
59
56
  node.addChild(sdgtfNode);
60
- const eventEnd = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 1, status: 'GlTF loading complete.' };
61
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, eventEnd);
57
+ const eventEnd = { type: TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 1, status: 'GlTF loading complete.' };
58
+ this._eventEngine.emitEvent(EVENTTYPE.TASK.TASK_END, eventEnd);
62
59
  return node;
63
60
  });
64
61
  }
@@ -81,14 +78,14 @@ class GLTFLoader {
81
78
  contentFormat: headerDataView.getUint32(16, true)
82
79
  };
83
80
  if (header.magic != 'glTF')
84
- throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
81
+ throw new ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
85
82
  // create content
86
83
  const contentDataView = new DataView(binaryGeometry, this.BINARY_EXTENSION_HEADER_LENGTH, header.contentLength);
87
84
  const contentDecoded = new TextDecoder().decode(contentDataView);
88
85
  this._content = JSON.parse(contentDecoded);
89
86
  // create body
90
87
  this._body = binaryGeometry.slice(this.BINARY_EXTENSION_HEADER_LENGTH + header.contentLength, header.length);
91
- const sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(binaryGeometry, header.length);
88
+ const sdgtfNode = yield new SDGTFLoader().load(binaryGeometry, header.length);
92
89
  this.validateVersionAndExtensions();
93
90
  const node = yield this.loadScene();
94
91
  node.addChild(sdgtfNode);
@@ -122,10 +119,10 @@ class GLTFLoader {
122
119
  throw new Error('Accessor not available.');
123
120
  const accessor = this._content.accessors[accessorName];
124
121
  const bufferView = yield this.loadBufferView(accessor.bufferView);
125
- const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V1[accessor.type];
122
+ const itemSize = ACCESSORTYPE[accessor.type];
126
123
  if (accessor.componentType === 5124)
127
124
  this._logger.warn('GLTFLoader.loadAccessor: The componentType for this accessor is 5124, which is not allowed. Trying to load it anyway.');
128
- const ArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V1[accessor.componentType];
125
+ const ArrayType = ACCESSOR_COMPONENTTYPE[accessor.componentType];
129
126
  const elementBytes = ArrayType.BYTES_PER_ELEMENT;
130
127
  const itemBytes = elementBytes * itemSize;
131
128
  const byteOffset = accessor.byteOffset || 0;
@@ -135,7 +132,7 @@ class GLTFLoader {
135
132
  const min = this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) === "ShapeDiverGltfV1Writer" ? accessor.min || [] : [];
136
133
  const max = this._content.asset && ((_b = this._content.asset) === null || _b === void 0 ? void 0 : _b.generator) === "ShapeDiverGltfV1Writer" ? accessor.max || [] : [];
137
134
  // The buffer is not interleaved if the stride is the item size in bytes.
138
- return new viewer_shared_types_1.AttributeData(new ArrayType(bufferView), itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, min, max, byteStride, target);
135
+ return new AttributeData(new ArrayType(bufferView), itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, min, max, byteStride, target);
139
136
  });
140
137
  }
141
138
  loadBuffer(bufferName) {
@@ -171,7 +168,7 @@ class GLTFLoader {
171
168
  if (!this._content.materials[materialName])
172
169
  throw new Error('Material not available.');
173
170
  const material = this._content.materials[materialName];
174
- const materialData = new viewer_shared_types_1.MaterialStandardData();
171
+ const materialData = new MaterialStandardData();
175
172
  if (material.name !== undefined)
176
173
  materialData.name = material.name;
177
174
  if (material.extensions && material.extensions.KHR_materials_common) {
@@ -180,7 +177,7 @@ class GLTFLoader {
180
177
  this._logger.warn('The technique ' + technique + ' is not supported. Trying to load the material either way.');
181
178
  const values = material.extensions.KHR_materials_common.values;
182
179
  if (values.hasOwnProperty('doubleSided'))
183
- materialData.side = values.doubleSided ? viewer_shared_types_1.MATERIAL_SIDE.DOUBLE : viewer_shared_types_1.MATERIAL_SIDE.FRONT;
180
+ materialData.side = values.doubleSided ? MATERIAL_SIDE.DOUBLE : MATERIAL_SIDE.FRONT;
184
181
  materialData.color = '#d3d3d3';
185
182
  if (values.hasOwnProperty('diffuse') && Array.isArray(values.diffuse)) {
186
183
  const diffuseScaled = values.diffuse.map(element => element *= 255.0);
@@ -221,11 +218,11 @@ class GLTFLoader {
221
218
  if (!this._content.meshes[meshName])
222
219
  throw new Error('Mesh not available.');
223
220
  const mesh = this._content.meshes[meshName];
224
- const meshNode = new viewer_shared_node_tree_1.TreeNode(meshName);
221
+ const meshNode = new TreeNode(meshName);
225
222
  if (!mesh.primitives)
226
- return new viewer_shared_node_tree_1.TreeNode('primitive');
223
+ return new TreeNode('primitive');
227
224
  for (let i = 0, len = mesh.primitives.length; i < len; i++) {
228
- const primitiveNode = new viewer_shared_node_tree_1.TreeNode('primitive_' + i);
225
+ const primitiveNode = new TreeNode('primitive_' + i);
229
226
  meshNode.addChild(primitiveNode);
230
227
  let primitive = mesh.primitives[i];
231
228
  const attributes = {};
@@ -244,12 +241,12 @@ class GLTFLoader {
244
241
  }
245
242
  attributes[attributeName] = yield this.loadAccessor(primitive.attributes[attribute]);
246
243
  if (attributeName.startsWith('COLOR'))
247
- attributes[attributeName] = new viewer_shared_types_1.AttributeData(attributes[attributeName].array, attributes[attributeName].itemSize, attributes[attributeName].itemBytes, attributes[attributeName].byteOffset, attributes[attributeName].elementBytes, true, attributes[attributeName].count, [], [], attributes[attributeName].byteStride, attributes[attributeName].target);
244
+ attributes[attributeName] = new AttributeData(attributes[attributeName].array, attributes[attributeName].itemSize, attributes[attributeName].itemBytes, attributes[attributeName].byteOffset, attributes[attributeName].elementBytes, true, attributes[attributeName].count, [], [], attributes[attributeName].byteStride, attributes[attributeName].target);
248
245
  }
249
246
  let material;
250
247
  if (primitive.material)
251
248
  material = yield this.loadMaterial(primitive.material);
252
- const geometry = new viewer_shared_types_1.GeometryData(new viewer_shared_types_1.PrimitiveData(attributes, yield this.loadAccessor(primitive.indices)), viewer_shared_types_1.PRIMITIVE_MODE.TRIANGLES, material);
249
+ const geometry = new GeometryData(new PrimitiveData(attributes, yield this.loadAccessor(primitive.indices)), PRIMITIVE_MODE.TRIANGLES, material);
253
250
  primitiveNode.data.push(geometry);
254
251
  }
255
252
  return meshNode;
@@ -260,18 +257,18 @@ class GLTFLoader {
260
257
  if (!this._content.nodes[nodeName])
261
258
  throw new Error('Node not available.');
262
259
  const node = this._content.nodes[nodeName];
263
- const nodeDef = new viewer_shared_node_tree_1.TreeNode(nodeName);
260
+ const nodeDef = new TreeNode(nodeName);
264
261
  if (node.matrix) {
265
262
  nodeDef.addTransformation({
266
263
  id: this._uuidGenerator.create(),
267
- matrix: gl_matrix_1.mat4.fromValues(node.matrix[0], node.matrix[1], node.matrix[2], node.matrix[3], node.matrix[4], node.matrix[5], node.matrix[6], node.matrix[7], node.matrix[8], node.matrix[9], node.matrix[10], node.matrix[11], node.matrix[12], node.matrix[13], node.matrix[14], node.matrix[15])
264
+ matrix: mat4.fromValues(node.matrix[0], node.matrix[1], node.matrix[2], node.matrix[3], node.matrix[4], node.matrix[5], node.matrix[6], node.matrix[7], node.matrix[8], node.matrix[9], node.matrix[10], node.matrix[11], node.matrix[12], node.matrix[13], node.matrix[14], node.matrix[15])
268
265
  });
269
266
  }
270
267
  else if (node.translation || node.scale || node.rotation) {
271
- const matT = node.translation ? gl_matrix_1.mat4.fromTranslation(gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(node.translation[0], node.translation[1], node.translation[2])) : gl_matrix_1.mat4.create();
272
- const matS = node.scale ? gl_matrix_1.mat4.fromScaling(gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(node.scale[0], node.scale[1], node.scale[2])) : gl_matrix_1.mat4.create();
273
- const matR = node.rotation ? gl_matrix_1.mat4.fromQuat(gl_matrix_1.mat4.create(), gl_matrix_1.vec4.fromValues(node.rotation[0], node.rotation[1], node.rotation[2], node.rotation[3])) : gl_matrix_1.mat4.create();
274
- const matrix = gl_matrix_1.mat4.mul(gl_matrix_1.mat4.create(), gl_matrix_1.mat4.mul(gl_matrix_1.mat4.create(), matT, matS), matR);
268
+ const matT = node.translation ? mat4.fromTranslation(mat4.create(), vec3.fromValues(node.translation[0], node.translation[1], node.translation[2])) : mat4.create();
269
+ const matS = node.scale ? mat4.fromScaling(mat4.create(), vec3.fromValues(node.scale[0], node.scale[1], node.scale[2])) : mat4.create();
270
+ const matR = node.rotation ? mat4.fromQuat(mat4.create(), vec4.fromValues(node.rotation[0], node.rotation[1], node.rotation[2], node.rotation[3])) : mat4.create();
271
+ const matrix = mat4.mul(mat4.create(), mat4.mul(mat4.create(), matT, matS), matR);
275
272
  nodeDef.addTransformation({
276
273
  id: this._uuidGenerator.create(),
277
274
  matrix: matrix
@@ -292,8 +289,8 @@ class GLTFLoader {
292
289
  this._numberOfConvertedNodes++;
293
290
  if (performance.now() - this._progressTimer > this._progressUpdateLimit) {
294
291
  this._progressTimer = performance.now();
295
- const eventProgress = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: (this._numberOfConvertedNodes / this._numberOfNodes) / 2 + 0.25, status: `GlTF conversion progress: ${this._numberOfConvertedNodes}/${this._numberOfNodes} nodes.` };
296
- this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventProgress);
292
+ const eventProgress = { type: TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: (this._numberOfConvertedNodes / this._numberOfNodes) / 2 + 0.25, status: `GlTF conversion progress: ${this._numberOfConvertedNodes}/${this._numberOfNodes} nodes.` };
293
+ this._eventEngine.emitEvent(EVENTTYPE.TASK.TASK_PROCESS, eventProgress);
297
294
  yield new Promise(resolve => setTimeout(resolve, 0));
298
295
  }
299
296
  return nodeDef;
@@ -307,7 +304,7 @@ class GLTFLoader {
307
304
  if (!this._content.scenes[this._content.scene])
308
305
  throw new Error('Scene not available.');
309
306
  const scene = this._content.scenes[this._content.scene];
310
- const sceneDef = new viewer_shared_node_tree_1.TreeNode(this._content.scene);
307
+ const sceneDef = new TreeNode(this._content.scene);
311
308
  if (this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) !== "ShapeDiverGltfWriter" && ((_b = this._content.asset) === null || _b === void 0 ? void 0 : _b.generator) !== "ShapeDiverGltfV1Writer") {
312
309
  sceneDef.addTransformation({
313
310
  id: this._uuidGenerator.create(),
@@ -321,5 +318,4 @@ class GLTFLoader {
321
318
  });
322
319
  }
323
320
  }
324
- exports.GLTFLoader = GLTFLoader;
325
321
  //# sourceMappingURL=GLTFLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GLTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GLTFLoader.js","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"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"}