@shapediver/viewer.data-engine.geometry-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.
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +18 -14
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +53 -49
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +98 -94
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts +2 -2
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +67 -63
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +15 -11
- package/dist/gltfv2/loaders/AccessorLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/BufferLoader.js +10 -6
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js +5 -1
- package/dist/gltfv2/loaders/BufferViewLoader.js.map +1 -1
- package/dist/gltfv2/loaders/GeometryLoader.js +19 -15
- package/dist/gltfv2/loaders/GeometryLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +78 -60
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts +4 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +27 -20
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -10
- package/src/GeometryEngine.ts +29 -29
- package/src/gltfv1/GLTFLoader.ts +31 -31
- package/src/gltfv2/GLTFLoader.ts +66 -66
- package/src/gltfv2/loaders/BufferLoader.ts +10 -10
- package/src/gltfv2/loaders/MaterialLoader.ts +39 -33
- package/src/gltfv2/loaders/TextureLoader.ts +41 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,
|
|
1
|
+
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAKhE,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAEtF,qBAAa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IAEvE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAEzC,OAAO,CAAC,mBAAmB,CAAY;IAMvC,WAAkB,QAAQ,mBAEzB;IAMD,IAAW,sBAAsB,IAAI,MAAM,CAE1C;IAED,IAAW,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAE9C;IAMD;;;;;OAKG;IACU,WAAW,CAAC,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAkG9G"}
|
package/dist/GeometryEngine.js
CHANGED
|
@@ -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,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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 {
|
|
14
17
|
constructor() {
|
|
15
18
|
// #region Properties (7)
|
|
16
19
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
17
|
-
this._httpClient = HttpClient.instance;
|
|
20
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
18
21
|
this._loadingQueue = [];
|
|
19
|
-
this._logger = Logger.instance;
|
|
20
|
-
this._performanceEvaluator = PerformanceEvaluator.instance;
|
|
22
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
23
|
+
this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
|
|
21
24
|
this._loadingQueueLength = Infinity;
|
|
22
25
|
// #endregion Public Methods (1)
|
|
23
26
|
}
|
|
@@ -45,7 +48,7 @@ export class GeometryEngine {
|
|
|
45
48
|
loadContent(content, taskEventId) {
|
|
46
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
50
|
if (!content || (content && !content.href))
|
|
48
|
-
throw new ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
|
|
51
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
|
|
49
52
|
while (this._loadingQueueLength <= this._loadingQueue.length)
|
|
50
53
|
yield new Promise(resolve => setTimeout(resolve, 10));
|
|
51
54
|
const url = content.href;
|
|
@@ -74,7 +77,7 @@ export class GeometryEngine {
|
|
|
74
77
|
contentFormat: headerDataView.getUint32(16, true)
|
|
75
78
|
};
|
|
76
79
|
if (gltfHeader.magic != 'glTF')
|
|
77
|
-
throw new ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
|
|
80
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
|
|
78
81
|
// create content
|
|
79
82
|
const contentDataView = new DataView(gltfBinary, this.BINARY_EXTENSION_HEADER_LENGTH, gltfHeader.contentLength);
|
|
80
83
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
@@ -85,7 +88,7 @@ export class GeometryEngine {
|
|
|
85
88
|
version = gltfHeader.version + '.0';
|
|
86
89
|
}
|
|
87
90
|
else {
|
|
88
|
-
throw new ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: glTF header version (' + gltfHeader.version + ') is not the same as asset version (' + assetVersion + ').');
|
|
91
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: glTF header version (' + gltfHeader.version + ') is not the same as asset version (' + assetVersion + ').');
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
else {
|
|
@@ -96,14 +99,14 @@ export class GeometryEngine {
|
|
|
96
99
|
gltfContent = JSON.parse(new TextDecoder().decode(axiosResponse.data));
|
|
97
100
|
if (gltfContent && gltfContent.asset && gltfContent.asset.version) {
|
|
98
101
|
if (gltfContent.asset.version !== '2.0')
|
|
99
|
-
throw new ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: Only gltf v2 is supported in a non-binary format.');
|
|
102
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: Only gltf v2 is supported in a non-binary format.');
|
|
100
103
|
}
|
|
101
104
|
else {
|
|
102
105
|
this._logger.warn('GeometryEngine.loadContent: No version specified in asset, trying to load as v2.');
|
|
103
106
|
version = '2.0';
|
|
104
107
|
}
|
|
105
108
|
const removeLastDirectoryPartOf = (the_url) => {
|
|
106
|
-
const dir_char = the_url.includes(
|
|
109
|
+
const dir_char = the_url.includes('/') ? '/' : '\\';
|
|
107
110
|
const the_arr = the_url.split(dir_char);
|
|
108
111
|
the_arr.pop();
|
|
109
112
|
return the_arr.join(dir_char);
|
|
@@ -115,10 +118,10 @@ export class GeometryEngine {
|
|
|
115
118
|
}
|
|
116
119
|
let promise;
|
|
117
120
|
if (version === '1.0') {
|
|
118
|
-
promise = new
|
|
121
|
+
promise = new GLTFLoader_1.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
|
|
119
122
|
}
|
|
120
123
|
else {
|
|
121
|
-
promise = new
|
|
124
|
+
promise = new GLTFLoader_2.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl, taskEventId);
|
|
122
125
|
}
|
|
123
126
|
promise.catch(e => { reject(e); });
|
|
124
127
|
resolve(promise);
|
|
@@ -131,4 +134,5 @@ export class GeometryEngine {
|
|
|
131
134
|
});
|
|
132
135
|
}
|
|
133
136
|
}
|
|
137
|
+
exports.GeometryEngine = GeometryEngine;
|
|
134
138
|
//# sourceMappingURL=GeometryEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GeometryEngine.js","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAGL,QAAQ,EAET,MAAM,6CAA6C,CAAC;AAerD,qBAAa,UAAU;IAGnB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmC;IAC/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyC;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4B;IACnE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAoE;IAC1G,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IAE5C,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,cAAc,CAAK;IAMd,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAiC5N,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CtE,OAAO,CAAC,4BAA4B;YAkBtB,YAAY;YAuBZ,UAAU;YAiBV,cAAc;YAUd,YAAY;YAsDZ,QAAQ;YA0CR,QAAQ;YAmDR,SAAS;CAiB1B"}
|
|
@@ -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,25 +8,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
9
|
});
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.GLTFLoader = 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_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
17
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
18
|
+
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
19
|
+
const SDGTFLoader_1 = require("./SDGTFLoader");
|
|
20
|
+
class GLTFLoader {
|
|
17
21
|
constructor() {
|
|
18
22
|
// #region Properties (5)
|
|
19
23
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
20
|
-
this._httpClient = HttpClient.instance;
|
|
21
|
-
this._uuidGenerator = UuidGenerator.instance;
|
|
22
|
-
this._logger = Logger.instance;
|
|
24
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
25
|
+
this._uuidGenerator = viewer_shared_services_1.UuidGenerator.instance;
|
|
26
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
23
27
|
this._implementedExtensions = ['KHR_materials_common'];
|
|
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;
|
|
28
|
+
this._globalTransformation = gl_matrix_1.mat4.fromValues(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);
|
|
29
|
+
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
30
|
+
this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
|
|
27
31
|
this._progressUpdateLimit = 500;
|
|
28
|
-
this._eventId =
|
|
32
|
+
this._eventId = '';
|
|
29
33
|
this._numberOfNodes = 0;
|
|
30
34
|
this._numberOfConvertedNodes = 0;
|
|
31
35
|
this._progressTimer = 0;
|
|
@@ -36,8 +40,8 @@ export class GLTFLoader {
|
|
|
36
40
|
load(content, gltfBinary, gltfHeader, baseUri, taskEventId) {
|
|
37
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
42
|
this._eventId = taskEventId || this._uuidGenerator.create();
|
|
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);
|
|
43
|
+
const eventStart = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0, status: 'Starting glTF 1.0 loading.' };
|
|
44
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_START, eventStart);
|
|
41
45
|
this._numberOfConvertedNodes = 0;
|
|
42
46
|
this._numberOfNodes = content.nodes ? Object.values(content.nodes).length : 0;
|
|
43
47
|
this._progressTimer = performance.now();
|
|
@@ -47,24 +51,23 @@ export class GLTFLoader {
|
|
|
47
51
|
this._content = content;
|
|
48
52
|
let sdgtfNode;
|
|
49
53
|
if (gltfBinary && gltfHeader)
|
|
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);
|
|
54
|
+
sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(gltfBinary, gltfHeader.length);
|
|
55
|
+
const eventProgressSDgTF = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 0.25, status: 'Loaded SDgTF content.' };
|
|
56
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_PROCESS, eventProgressSDgTF);
|
|
53
57
|
this.validateVersionAndExtensions();
|
|
54
58
|
const node = yield this.loadScene();
|
|
55
59
|
if (sdgtfNode)
|
|
56
60
|
node.addChild(sdgtfNode);
|
|
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);
|
|
61
|
+
const eventEnd = { type: viewer_shared_types_1.TASK_TYPE.GLTF_CONTENT_LOADING, id: this._eventId, progress: 1, status: 'GlTF loading complete.' };
|
|
62
|
+
this._eventEngine.emitEvent(viewer_shared_services_1.EVENTTYPE.TASK.TASK_END, eventEnd);
|
|
59
63
|
return node;
|
|
60
64
|
});
|
|
61
65
|
}
|
|
62
66
|
loadWithUrl(url) {
|
|
63
67
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
68
|
this._performanceEvaluator.startSection('gltfProcessing.' + url);
|
|
65
|
-
let binaryGeometry;
|
|
66
69
|
this._performanceEvaluator.startSection('loadGltf.' + url);
|
|
67
|
-
binaryGeometry = (yield this._httpClient.get(url, {
|
|
70
|
+
const binaryGeometry = (yield this._httpClient.get(url, {
|
|
68
71
|
responseType: 'arraybuffer'
|
|
69
72
|
})).data;
|
|
70
73
|
this._performanceEvaluator.endSection('loadGltf.' + url);
|
|
@@ -78,14 +81,14 @@ export class GLTFLoader {
|
|
|
78
81
|
contentFormat: headerDataView.getUint32(16, true)
|
|
79
82
|
};
|
|
80
83
|
if (header.magic != 'glTF')
|
|
81
|
-
throw new ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
|
|
84
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
|
|
82
85
|
// create content
|
|
83
86
|
const contentDataView = new DataView(binaryGeometry, this.BINARY_EXTENSION_HEADER_LENGTH, header.contentLength);
|
|
84
87
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
85
88
|
this._content = JSON.parse(contentDecoded);
|
|
86
89
|
// create body
|
|
87
90
|
this._body = binaryGeometry.slice(this.BINARY_EXTENSION_HEADER_LENGTH + header.contentLength, header.length);
|
|
88
|
-
const sdgtfNode = yield new SDGTFLoader().load(binaryGeometry, header.length);
|
|
91
|
+
const sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(binaryGeometry, header.length);
|
|
89
92
|
this.validateVersionAndExtensions();
|
|
90
93
|
const node = yield this.loadScene();
|
|
91
94
|
node.addChild(sdgtfNode);
|
|
@@ -119,20 +122,20 @@ export class GLTFLoader {
|
|
|
119
122
|
throw new Error('Accessor not available.');
|
|
120
123
|
const accessor = this._content.accessors[accessorName];
|
|
121
124
|
const bufferView = yield this.loadBufferView(accessor.bufferView);
|
|
122
|
-
const itemSize =
|
|
125
|
+
const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V1[accessor.type];
|
|
123
126
|
if (accessor.componentType === 5124)
|
|
124
127
|
this._logger.warn('GLTFLoader.loadAccessor: The componentType for this accessor is 5124, which is not allowed. Trying to load it anyway.');
|
|
125
|
-
const ArrayType =
|
|
128
|
+
const ArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V1[accessor.componentType];
|
|
126
129
|
const elementBytes = ArrayType.BYTES_PER_ELEMENT;
|
|
127
130
|
const itemBytes = elementBytes * itemSize;
|
|
128
131
|
const byteOffset = accessor.byteOffset || 0;
|
|
129
132
|
const byteStride = accessor.byteStride;
|
|
130
133
|
const normalized = false;
|
|
131
134
|
const target = this._content.bufferViews[accessor.bufferView] ? this._content.bufferViews[accessor.bufferView].target : undefined;
|
|
132
|
-
const min = this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) ===
|
|
133
|
-
const max = this._content.asset && ((_b = this._content.asset) === null || _b === void 0 ? void 0 : _b.generator) ===
|
|
135
|
+
const min = this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) === 'ShapeDiverGltfV1Writer' ? accessor.min || [] : [];
|
|
136
|
+
const max = this._content.asset && ((_b = this._content.asset) === null || _b === void 0 ? void 0 : _b.generator) === 'ShapeDiverGltfV1Writer' ? accessor.max || [] : [];
|
|
134
137
|
// The buffer is not interleaved if the stride is the item size in bytes.
|
|
135
|
-
return new AttributeData(new ArrayType(bufferView), itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, min, max, byteStride, target);
|
|
138
|
+
return new viewer_shared_types_1.AttributeData(new ArrayType(bufferView), itemSize, itemBytes, byteOffset, elementBytes, normalized, accessor.count, min, max, byteStride, target);
|
|
136
139
|
});
|
|
137
140
|
}
|
|
138
141
|
loadBuffer(bufferName) {
|
|
@@ -168,7 +171,7 @@ export class GLTFLoader {
|
|
|
168
171
|
if (!this._content.materials[materialName])
|
|
169
172
|
throw new Error('Material not available.');
|
|
170
173
|
const material = this._content.materials[materialName];
|
|
171
|
-
const materialData = new MaterialStandardData();
|
|
174
|
+
const materialData = new viewer_shared_types_1.MaterialStandardData();
|
|
172
175
|
if (material.name !== undefined)
|
|
173
176
|
materialData.name = material.name;
|
|
174
177
|
if (material.extensions && material.extensions.KHR_materials_common) {
|
|
@@ -177,7 +180,7 @@ export class GLTFLoader {
|
|
|
177
180
|
this._logger.warn('The technique ' + technique + ' is not supported. Trying to load the material either way.');
|
|
178
181
|
const values = material.extensions.KHR_materials_common.values;
|
|
179
182
|
if (values.hasOwnProperty('doubleSided'))
|
|
180
|
-
materialData.side = values.doubleSided ? MATERIAL_SIDE.DOUBLE : MATERIAL_SIDE.FRONT;
|
|
183
|
+
materialData.side = values.doubleSided ? viewer_shared_types_1.MATERIAL_SIDE.DOUBLE : viewer_shared_types_1.MATERIAL_SIDE.FRONT;
|
|
181
184
|
materialData.color = '#d3d3d3';
|
|
182
185
|
if (values.hasOwnProperty('diffuse') && Array.isArray(values.diffuse)) {
|
|
183
186
|
const diffuseScaled = values.diffuse.map(element => element *= 255.0);
|
|
@@ -218,15 +221,15 @@ export class GLTFLoader {
|
|
|
218
221
|
if (!this._content.meshes[meshName])
|
|
219
222
|
throw new Error('Mesh not available.');
|
|
220
223
|
const mesh = this._content.meshes[meshName];
|
|
221
|
-
const meshNode = new TreeNode(meshName);
|
|
224
|
+
const meshNode = new viewer_shared_node_tree_1.TreeNode(meshName);
|
|
222
225
|
if (!mesh.primitives)
|
|
223
|
-
return new TreeNode('primitive');
|
|
226
|
+
return new viewer_shared_node_tree_1.TreeNode('primitive');
|
|
224
227
|
for (let i = 0, len = mesh.primitives.length; i < len; i++) {
|
|
225
|
-
const primitiveNode = new TreeNode('primitive_' + i);
|
|
228
|
+
const primitiveNode = new viewer_shared_node_tree_1.TreeNode('primitive_' + i);
|
|
226
229
|
meshNode.addChild(primitiveNode);
|
|
227
|
-
|
|
230
|
+
const primitive = mesh.primitives[i];
|
|
228
231
|
const attributes = {};
|
|
229
|
-
for (
|
|
232
|
+
for (const attribute in primitive.attributes) {
|
|
230
233
|
// attribute name conversion to be consistent witg gltf
|
|
231
234
|
let attributeName = attribute;
|
|
232
235
|
if (/\d/.test(attributeName) && !attributeName.includes('_')) {
|
|
@@ -241,12 +244,12 @@ export class GLTFLoader {
|
|
|
241
244
|
}
|
|
242
245
|
attributes[attributeName] = yield this.loadAccessor(primitive.attributes[attribute]);
|
|
243
246
|
if (attributeName.startsWith('COLOR'))
|
|
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);
|
|
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);
|
|
245
248
|
}
|
|
246
249
|
let material;
|
|
247
250
|
if (primitive.material)
|
|
248
251
|
material = yield this.loadMaterial(primitive.material);
|
|
249
|
-
const geometry = new GeometryData(new PrimitiveData(attributes, yield this.loadAccessor(primitive.indices)), PRIMITIVE_MODE.TRIANGLES, 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);
|
|
250
253
|
primitiveNode.data.push(geometry);
|
|
251
254
|
}
|
|
252
255
|
return meshNode;
|
|
@@ -257,18 +260,18 @@ export class GLTFLoader {
|
|
|
257
260
|
if (!this._content.nodes[nodeName])
|
|
258
261
|
throw new Error('Node not available.');
|
|
259
262
|
const node = this._content.nodes[nodeName];
|
|
260
|
-
const nodeDef = new TreeNode(nodeName);
|
|
263
|
+
const nodeDef = new viewer_shared_node_tree_1.TreeNode(nodeName);
|
|
261
264
|
if (node.matrix) {
|
|
262
265
|
nodeDef.addTransformation({
|
|
263
266
|
id: this._uuidGenerator.create(),
|
|
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])
|
|
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])
|
|
265
268
|
});
|
|
266
269
|
}
|
|
267
270
|
else if (node.translation || node.scale || node.rotation) {
|
|
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);
|
|
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);
|
|
272
275
|
nodeDef.addTransformation({
|
|
273
276
|
id: this._uuidGenerator.create(),
|
|
274
277
|
matrix: matrix
|
|
@@ -289,8 +292,8 @@ export class GLTFLoader {
|
|
|
289
292
|
this._numberOfConvertedNodes++;
|
|
290
293
|
if (performance.now() - this._progressTimer > this._progressUpdateLimit) {
|
|
291
294
|
this._progressTimer = performance.now();
|
|
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);
|
|
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);
|
|
294
297
|
yield new Promise(resolve => setTimeout(resolve, 0));
|
|
295
298
|
}
|
|
296
299
|
return nodeDef;
|
|
@@ -304,8 +307,8 @@ export class GLTFLoader {
|
|
|
304
307
|
if (!this._content.scenes[this._content.scene])
|
|
305
308
|
throw new Error('Scene not available.');
|
|
306
309
|
const scene = this._content.scenes[this._content.scene];
|
|
307
|
-
const sceneDef = new TreeNode(this._content.scene);
|
|
308
|
-
if (this._content.asset && ((_a = this._content.asset) === null || _a === void 0 ? void 0 : _a.generator) !==
|
|
310
|
+
const sceneDef = new viewer_shared_node_tree_1.TreeNode(this._content.scene);
|
|
311
|
+
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') {
|
|
309
312
|
sceneDef.addTransformation({
|
|
310
313
|
id: this._uuidGenerator.create(),
|
|
311
314
|
matrix: this._globalTransformation
|
|
@@ -318,4 +321,5 @@ export class GLTFLoader {
|
|
|
318
321
|
});
|
|
319
322
|
}
|
|
320
323
|
}
|
|
324
|
+
exports.GLTFLoader = GLTFLoader;
|
|
321
325
|
//# 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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"}
|