@shapediver/viewer.data-engine.geometry-engine 2.7.9 → 2.8.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 +6 -1
- package/dist/GeometryEngine.d.ts.map +1 -1
- package/dist/GeometryEngine.js +89 -95
- package/dist/GeometryEngine.js.map +1 -1
- package/dist/gltfv1/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/GLTFLoader.js +27 -45
- package/dist/gltfv1/GLTFLoader.js.map +1 -1
- package/dist/gltfv1/SDGTFLoader.d.ts.map +1 -1
- package/dist/gltfv1/SDGTFLoader.js +8 -16
- package/dist/gltfv1/SDGTFLoader.js.map +1 -1
- package/dist/gltfv2/GLTFLoader.d.ts.map +1 -1
- package/dist/gltfv2/GLTFLoader.js +58 -71
- package/dist/gltfv2/GLTFLoader.js.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/AccessorLoader.js +2 -3
- 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 +1 -2
- package/dist/gltfv2/loaders/BufferLoader.js.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/MaterialLoader.js +2 -3
- package/dist/gltfv2/loaders/MaterialLoader.js.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.d.ts.map +1 -1
- package/dist/gltfv2/loaders/TextureLoader.js +4 -4
- package/dist/gltfv2/loaders/TextureLoader.js.map +1 -1
- package/package.json +12 -13
- package/src/GeometryEngine.ts +108 -92
- package/src/gltfv1/GLTFLoader.ts +28 -42
- package/src/gltfv1/SDGTFLoader.ts +9 -16
- package/src/gltfv2/GLTFLoader.ts +72 -83
- package/src/gltfv2/loaders/AccessorLoader.ts +4 -10
- package/src/gltfv2/loaders/BufferLoader.ts +1 -2
- package/src/gltfv2/loaders/MaterialLoader.ts +2 -3
- package/src/gltfv2/loaders/TextureLoader.ts +4 -4
package/dist/GeometryEngine.d.ts
CHANGED
|
@@ -3,9 +3,14 @@ import { ShapeDiverResponseOutputContent } from '@shapediver/sdk.geometry-api-sd
|
|
|
3
3
|
export declare class GeometryEngine {
|
|
4
4
|
private readonly BINARY_EXTENSION_HEADER_LENGTH;
|
|
5
5
|
private readonly _httpClient;
|
|
6
|
+
private readonly _loadingQueue;
|
|
6
7
|
private readonly _logger;
|
|
7
8
|
private readonly _performanceEvaluator;
|
|
8
|
-
|
|
9
|
+
private static _instance;
|
|
10
|
+
private _loadingQueueLength;
|
|
11
|
+
static get instance(): GeometryEngine;
|
|
12
|
+
get parallelGlTFProcessing(): number;
|
|
13
|
+
set parallelGlTFProcessing(value: number);
|
|
9
14
|
/**
|
|
10
15
|
* Load the geometry content into a scene graph node.
|
|
11
16
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../src/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAA;AAK/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAA;AAErF,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,GAAG,OAAO,CAAC,SAAS,CAAC;CA+FzF"}
|
package/dist/GeometryEngine.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,22 +10,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
10
|
};
|
|
20
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
12
|
exports.GeometryEngine = void 0;
|
|
22
|
-
const tsyringe_1 = require("tsyringe");
|
|
23
13
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
24
14
|
const GLTFLoader_1 = require("./gltfv1/GLTFLoader");
|
|
25
15
|
const GLTFLoader_2 = require("./gltfv2/GLTFLoader");
|
|
26
|
-
|
|
27
|
-
// #endregion Properties (4)
|
|
28
|
-
// #region Constructors (1)
|
|
16
|
+
class GeometryEngine {
|
|
29
17
|
constructor() {
|
|
30
|
-
// #region Properties (
|
|
18
|
+
// #region Properties (7)
|
|
31
19
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
32
|
-
this._httpClient =
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
20
|
+
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
21
|
+
this._loadingQueue = [];
|
|
22
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
23
|
+
this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
|
|
24
|
+
this._loadingQueueLength = Infinity;
|
|
25
|
+
// #endregion Public Methods (1)
|
|
26
|
+
}
|
|
27
|
+
// #endregion Properties (7)
|
|
28
|
+
// #region Public Static Accessors (1)
|
|
29
|
+
static get instance() {
|
|
30
|
+
return this._instance || (this._instance = new this());
|
|
31
|
+
}
|
|
32
|
+
// #endregion Public Static Accessors (1)
|
|
33
|
+
// #region Public Accessors (2)
|
|
34
|
+
get parallelGlTFProcessing() {
|
|
35
|
+
return this._loadingQueueLength;
|
|
36
|
+
}
|
|
37
|
+
set parallelGlTFProcessing(value) {
|
|
38
|
+
this._loadingQueueLength = value;
|
|
35
39
|
}
|
|
36
|
-
// #endregion
|
|
37
|
-
// #region Public Methods (
|
|
40
|
+
// #endregion Public Accessors (2)
|
|
41
|
+
// #region Public Methods (1)
|
|
38
42
|
/**
|
|
39
43
|
* Load the geometry content into a scene graph node.
|
|
40
44
|
*
|
|
@@ -43,99 +47,89 @@ let GeometryEngine = class GeometryEngine {
|
|
|
43
47
|
*/
|
|
44
48
|
loadContent(content) {
|
|
45
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
if (!content || (content && !content.href))
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
if (!content || (content && !content.href))
|
|
51
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine cannot load content.');
|
|
52
|
+
while (this._loadingQueueLength <= this._loadingQueue.length)
|
|
53
|
+
yield new Promise(resolve => setTimeout(resolve, 10));
|
|
50
54
|
const url = content.href;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
56
|
+
const loadingPromise = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
let gltfContent, gltfBinary, gltfBaseUrl, gltfHeader;
|
|
58
|
+
let version = '2.0';
|
|
59
|
+
if (content.format === 'glb' || content.format === 'gltf') {
|
|
60
|
+
this._performanceEvaluator.startSection('gltfProcessing.' + url);
|
|
57
61
|
this._performanceEvaluator.startSection('loadGltf.' + url);
|
|
58
|
-
axiosResponse = yield this._httpClient.get(url, {
|
|
62
|
+
const axiosResponse = yield this._httpClient.get(url, {
|
|
59
63
|
responseType: 'arraybuffer'
|
|
60
64
|
});
|
|
61
65
|
this._performanceEvaluator.endSection('loadGltf.' + url);
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (gltfHeader.version + '.0' === assetVersion) {
|
|
90
|
-
version = gltfHeader.version + '.0';
|
|
66
|
+
const magic = new TextDecoder().decode(new Uint8Array(axiosResponse.data, 0, 4));
|
|
67
|
+
const isBinary = magic === 'glTF';
|
|
68
|
+
if (isBinary) {
|
|
69
|
+
gltfBinary = axiosResponse.data;
|
|
70
|
+
// create header data
|
|
71
|
+
const headerDataView = new DataView(gltfBinary, 0, this.BINARY_EXTENSION_HEADER_LENGTH);
|
|
72
|
+
gltfHeader = {
|
|
73
|
+
magic: magic,
|
|
74
|
+
version: headerDataView.getUint32(4, true),
|
|
75
|
+
length: headerDataView.getUint32(8, true),
|
|
76
|
+
contentLength: headerDataView.getUint32(12, true),
|
|
77
|
+
contentFormat: headerDataView.getUint32(16, true)
|
|
78
|
+
};
|
|
79
|
+
if (gltfHeader.magic != 'glTF')
|
|
80
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('Invalid data: glTF magic wrong.');
|
|
81
|
+
// create content
|
|
82
|
+
const contentDataView = new DataView(gltfBinary, this.BINARY_EXTENSION_HEADER_LENGTH, gltfHeader.contentLength);
|
|
83
|
+
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
84
|
+
gltfContent = JSON.parse(contentDecoded);
|
|
85
|
+
if (gltfContent && gltfContent.asset && gltfContent.asset.version) {
|
|
86
|
+
const assetVersion = (gltfContent.asset.version + '').endsWith('.0') ? gltfContent.asset.version : gltfContent.asset.version + '.0';
|
|
87
|
+
if (gltfHeader.version + '.0' === assetVersion) {
|
|
88
|
+
version = gltfHeader.version + '.0';
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: glTF header version (' + gltfHeader.version + ') is not the same as asset version (' + assetVersion + ').');
|
|
92
|
+
}
|
|
91
93
|
}
|
|
92
94
|
else {
|
|
93
|
-
|
|
94
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GeometryEngine.loadContent`, error);
|
|
95
|
+
version = gltfHeader.version + '.0';
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
else {
|
|
98
|
-
|
|
99
|
+
gltfContent = JSON.parse(new TextDecoder().decode(axiosResponse.data));
|
|
100
|
+
if (gltfContent && gltfContent.asset && gltfContent.asset.version) {
|
|
101
|
+
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.');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
this._logger.warn('GeometryEngine.loadContent: No version specified in asset, trying to load as v2.');
|
|
106
|
+
version = '2.0';
|
|
107
|
+
}
|
|
108
|
+
const removeLastDirectoryPartOf = (the_url) => {
|
|
109
|
+
const dir_char = the_url.includes("/") ? "/" : "\\";
|
|
110
|
+
const the_arr = the_url.split(dir_char);
|
|
111
|
+
the_arr.pop();
|
|
112
|
+
return the_arr.join(dir_char);
|
|
113
|
+
};
|
|
114
|
+
gltfBaseUrl = removeLastDirectoryPartOf(url);
|
|
115
|
+
if (!gltfBaseUrl && window && window.location && window.location.href)
|
|
116
|
+
gltfBaseUrl = removeLastDirectoryPartOf(window.location.href);
|
|
99
117
|
}
|
|
100
118
|
}
|
|
119
|
+
if (version === '1.0') {
|
|
120
|
+
resolve(yield new GLTFLoader_1.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl));
|
|
121
|
+
}
|
|
101
122
|
else {
|
|
102
|
-
|
|
103
|
-
if (gltfContent && gltfContent.asset && gltfContent.asset.version) {
|
|
104
|
-
if (gltfContent.asset.version !== '2.0') {
|
|
105
|
-
const error = new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GeometryEngine.loadContent: Only gltf v2 is supported in a non-binary format.');
|
|
106
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GeometryEngine.loadContent`, error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
this._logger.warn(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, 'GeometryEngine.loadContent: No version specified in asset, trying to load as v2.');
|
|
111
|
-
version = '2.0';
|
|
112
|
-
}
|
|
113
|
-
const removeLastDirectoryPartOf = (the_url) => {
|
|
114
|
-
const dir_char = the_url.includes("/") ? "/" : "\\";
|
|
115
|
-
const the_arr = the_url.split(dir_char);
|
|
116
|
-
the_arr.pop();
|
|
117
|
-
return the_arr.join(dir_char);
|
|
118
|
-
};
|
|
119
|
-
gltfBaseUrl = removeLastDirectoryPartOf(url);
|
|
120
|
-
if (!gltfBaseUrl && window && window.location && window.location.href)
|
|
121
|
-
gltfBaseUrl = removeLastDirectoryPartOf(window.location.href);
|
|
123
|
+
resolve(yield new GLTFLoader_2.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl));
|
|
122
124
|
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
node = yield new GLTFLoader_2.GLTFLoader().load(gltfContent, gltfBinary, gltfHeader, gltfBaseUrl);
|
|
130
|
-
}
|
|
125
|
+
}));
|
|
126
|
+
this._loadingQueue.push(loadingPromise);
|
|
127
|
+
const node = yield loadingPromise;
|
|
128
|
+
this._loadingQueue.splice(this._loadingQueue.indexOf(loadingPromise), 1);
|
|
131
129
|
this._performanceEvaluator.endSection('gltfProcessing.' + url);
|
|
132
130
|
return node;
|
|
133
131
|
});
|
|
134
132
|
}
|
|
135
|
-
}
|
|
136
|
-
GeometryEngine = __decorate([
|
|
137
|
-
(0, tsyringe_1.singleton)(),
|
|
138
|
-
__metadata("design:paramtypes", [])
|
|
139
|
-
], GeometryEngine);
|
|
133
|
+
}
|
|
140
134
|
exports.GeometryEngine = GeometryEngine;
|
|
141
135
|
//# 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":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EAGL,QAAQ,EAET,MAAM,6CAA6C,CAAA;
|
|
1
|
+
{"version":3,"file":"GLTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/GLTFLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAA;AAEzE,OAAO,EAGL,QAAQ,EAET,MAAM,6CAA6C,CAAA;AAYpD,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,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiC;IAEvE,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAY;IAMf,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,GAAG,OAAO,CAAC,SAAS,CAAC;IAiBtM,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IA2CtE,OAAO,CAAC,4BAA4B;YAkBtB,YAAY;YAsBZ,UAAU;YAiBV,cAAc;YAUd,YAAY;YAsDZ,QAAQ;YA0CR,QAAQ;YAyCR,SAAS;CAiB1B"}
|
|
@@ -15,19 +15,18 @@ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
|
15
15
|
const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
16
16
|
const gl_matrix_1 = require("gl-matrix");
|
|
17
17
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
18
|
-
const tsyringe_1 = require("tsyringe");
|
|
19
18
|
const SDGTFLoader_1 = require("./SDGTFLoader");
|
|
20
19
|
class GLTFLoader {
|
|
21
20
|
constructor() {
|
|
22
21
|
// #region Properties (5)
|
|
23
22
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
24
|
-
this._httpClient =
|
|
25
|
-
this._uuidGenerator =
|
|
26
|
-
this._logger =
|
|
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;
|
|
27
26
|
this._implementedExtensions = ['KHR_materials_common'];
|
|
28
27
|
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._converter =
|
|
30
|
-
this._performanceEvaluator =
|
|
28
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
29
|
+
this._performanceEvaluator = viewer_shared_services_1.PerformanceEvaluator.instance;
|
|
31
30
|
// #endregion Private Methods (6)
|
|
32
31
|
}
|
|
33
32
|
// #endregion Properties (5)
|
|
@@ -41,32 +40,22 @@ class GLTFLoader {
|
|
|
41
40
|
let sdgtfNode;
|
|
42
41
|
if (gltfBinary && gltfHeader)
|
|
43
42
|
sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(gltfBinary, gltfHeader.length);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return node;
|
|
50
|
-
}
|
|
51
|
-
catch (e) {
|
|
52
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GLTFLoader.loadContent`, e);
|
|
53
|
-
}
|
|
43
|
+
this.validateVersionAndExtensions();
|
|
44
|
+
const node = yield this.loadScene();
|
|
45
|
+
if (sdgtfNode)
|
|
46
|
+
node.addChild(sdgtfNode);
|
|
47
|
+
return node;
|
|
54
48
|
});
|
|
55
49
|
}
|
|
56
50
|
loadWithUrl(url) {
|
|
57
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
58
52
|
this._performanceEvaluator.startSection('gltfProcessing.' + url);
|
|
59
53
|
let binaryGeometry;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this._performanceEvaluator.endSection('loadGltf.' + url);
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GLTFLoader.load`, e);
|
|
69
|
-
}
|
|
54
|
+
this._performanceEvaluator.startSection('loadGltf.' + url);
|
|
55
|
+
binaryGeometry = (yield this._httpClient.get(url, {
|
|
56
|
+
responseType: 'arraybuffer'
|
|
57
|
+
})).data;
|
|
58
|
+
this._performanceEvaluator.endSection('loadGltf.' + url);
|
|
70
59
|
// create header data
|
|
71
60
|
const headerDataView = new DataView(binaryGeometry, 0, this.BINARY_EXTENSION_HEADER_LENGTH);
|
|
72
61
|
const header = {
|
|
@@ -76,10 +65,8 @@ class GLTFLoader {
|
|
|
76
65
|
contentLength: headerDataView.getUint32(12, true),
|
|
77
66
|
contentFormat: headerDataView.getUint32(16, true)
|
|
78
67
|
};
|
|
79
|
-
if (header.magic != 'glTF')
|
|
80
|
-
|
|
81
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GLTFLoader.load`, error);
|
|
82
|
-
}
|
|
68
|
+
if (header.magic != 'glTF')
|
|
69
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('GLTFLoader.load: Invalid data: glTF magic wrong.');
|
|
83
70
|
// create content
|
|
84
71
|
const contentDataView = new DataView(binaryGeometry, this.BINARY_EXTENSION_HEADER_LENGTH, header.contentLength);
|
|
85
72
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
@@ -87,16 +74,11 @@ class GLTFLoader {
|
|
|
87
74
|
// create body
|
|
88
75
|
this._body = binaryGeometry.slice(this.BINARY_EXTENSION_HEADER_LENGTH + header.contentLength, header.length);
|
|
89
76
|
const sdgtfNode = yield new SDGTFLoader_1.SDGTFLoader().load(binaryGeometry, header.length);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return node;
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `GLTFLoader.load`, e);
|
|
99
|
-
}
|
|
77
|
+
this.validateVersionAndExtensions();
|
|
78
|
+
const node = yield this.loadScene();
|
|
79
|
+
node.addChild(sdgtfNode);
|
|
80
|
+
this._performanceEvaluator.endSection('gltfProcessing.' + url);
|
|
81
|
+
return node;
|
|
100
82
|
});
|
|
101
83
|
}
|
|
102
84
|
// #endregion Public Methods (1)
|
|
@@ -114,7 +96,7 @@ class GLTFLoader {
|
|
|
114
96
|
message += '"' + element + '"' + (index === notSupported.length - 1 ? '' : index === notSupported.length - 2 ? ' and ' : ', ');
|
|
115
97
|
});
|
|
116
98
|
message += (notSupported.length === 1 ? ' is' : ' are') + ' not supported, but used. Loading glTF regardless.';
|
|
117
|
-
this._logger.info(
|
|
99
|
+
this._logger.info('GLTFLoader.validateVersionAndExtensions: ' + message);
|
|
118
100
|
}
|
|
119
101
|
}
|
|
120
102
|
}
|
|
@@ -127,7 +109,7 @@ class GLTFLoader {
|
|
|
127
109
|
const bufferView = yield this.loadBufferView(accessor.bufferView);
|
|
128
110
|
const itemSize = viewer_data_engine_shared_types_1.ACCESSORTYPE_V1[accessor.type];
|
|
129
111
|
if (accessor.componentType === 5124)
|
|
130
|
-
this._logger.warn(
|
|
112
|
+
this._logger.warn('GLTFLoader.loadAccessor: The componentType for this accessor is 5124, which is not allowed. Trying to load it anyway.');
|
|
131
113
|
const ArrayType = viewer_data_engine_shared_types_1.ACCESSORCOMPONENTTYPE_V1[accessor.componentType];
|
|
132
114
|
const elementBytes = ArrayType.BYTES_PER_ELEMENT;
|
|
133
115
|
const itemBytes = elementBytes * itemSize;
|
|
@@ -179,7 +161,7 @@ class GLTFLoader {
|
|
|
179
161
|
if (material.extensions && material.extensions.KHR_materials_common) {
|
|
180
162
|
const technique = material.extensions.KHR_materials_common.technique;
|
|
181
163
|
if (technique && technique !== 'BLINN')
|
|
182
|
-
this._logger.warn(
|
|
164
|
+
this._logger.warn('The technique ' + technique + ' is not supported. Trying to load the material either way.');
|
|
183
165
|
const values = material.extensions.KHR_materials_common.values;
|
|
184
166
|
if (values.hasOwnProperty('doubleSided'))
|
|
185
167
|
materialData.side = values.doubleSided ? viewer_shared_types_1.MATERIAL_SIDE.DOUBLE : viewer_shared_types_1.MATERIAL_SIDE.FRONT;
|
|
@@ -190,7 +172,7 @@ class GLTFLoader {
|
|
|
190
172
|
materialData.opacity = Math.max(0.0, Math.min(values.diffuse[3], 1.0));
|
|
191
173
|
}
|
|
192
174
|
else if (values.hasOwnProperty('diffuse')) {
|
|
193
|
-
this._logger.warn(
|
|
175
|
+
this._logger.warn('GLTFLoader.loadMaterial: The value diffuse was set for a material, but is not supported in that type.');
|
|
194
176
|
}
|
|
195
177
|
if (!values.hasOwnProperty('diffuse') && values.hasOwnProperty('ambient')) {
|
|
196
178
|
const ambientScaled = values.ambient.map(element => element *= 255.0);
|
|
@@ -200,7 +182,7 @@ class GLTFLoader {
|
|
|
200
182
|
materialData.emissiveness = values.emission;
|
|
201
183
|
}
|
|
202
184
|
else if (values.hasOwnProperty('emission')) {
|
|
203
|
-
this._logger.warn(
|
|
185
|
+
this._logger.warn('GLTFLoader.loadMaterial: The value emission was set for a material, but is not supported in that type.');
|
|
204
186
|
}
|
|
205
187
|
if (values.hasOwnProperty('shininess')) {
|
|
206
188
|
materialData.metalness = Math.min(1, values.shininess);
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDGTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"SDGTFLoader.d.ts","sourceRoot":"","sources":["../../src/gltfv1/SDGTFLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAA;AAgBzE,qBAAa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAM;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAMhB,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA6BtF,OAAO,CAAC,qBAAqB;YAWf,YAAY;YAeZ,QAAQ;YA8ER,eAAe;YA6Gf,WAAW;YAyEX,aAAa;YA6Ib,WAAW;YAiGX,SAAS;YAkBT,YAAY;YAkBZ,gBAAgB;YA8JhB,SAAS;CA8C1B"}
|
|
@@ -14,13 +14,12 @@ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree")
|
|
|
14
14
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
15
15
|
const viewer_data_engine_shared_types_1 = require("@shapediver/viewer.data-engine.shared-types");
|
|
16
16
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
17
|
-
const tsyringe_1 = require("tsyringe");
|
|
18
17
|
const gl_matrix_1 = require("gl-matrix");
|
|
19
18
|
class SDGTFLoader {
|
|
20
19
|
constructor() {
|
|
21
20
|
// #region Properties (5)
|
|
22
21
|
this.BINARY_EXTENSION_HEADER_LENGTH = 20;
|
|
23
|
-
this._logger =
|
|
22
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
24
23
|
// #endregion Private Methods (6)
|
|
25
24
|
}
|
|
26
25
|
// #endregion Properties (5)
|
|
@@ -36,10 +35,8 @@ class SDGTFLoader {
|
|
|
36
35
|
contentLength: headerDataView.getUint32(13, true),
|
|
37
36
|
contentFormat: headerDataView.getUint32(17, true)
|
|
38
37
|
};
|
|
39
|
-
if (header.magic != 'sdgTF')
|
|
40
|
-
|
|
41
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `SDGTFLoader.load`, error);
|
|
42
|
-
}
|
|
38
|
+
if (header.magic != 'sdgTF')
|
|
39
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError('SDGTFLoader.load: Invalid data: sdgTF magic wrong.');
|
|
43
40
|
// create content
|
|
44
41
|
const contentDataView = new DataView(binaryGeometry, gltfLength + this.BINARY_EXTENSION_HEADER_LENGTH + 1, header.contentLength);
|
|
45
42
|
const contentDecoded = new TextDecoder().decode(contentDataView);
|
|
@@ -49,12 +46,7 @@ class SDGTFLoader {
|
|
|
49
46
|
else {
|
|
50
47
|
return new viewer_shared_node_tree_1.TreeNode();
|
|
51
48
|
}
|
|
52
|
-
|
|
53
|
-
return yield this.loadScene();
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
throw this._logger.handleError(viewer_shared_services_1.LOGGING_TOPIC.DATA_PROCESSING, `SDGTFLoader.load`, e);
|
|
57
|
-
}
|
|
49
|
+
return yield this.loadScene();
|
|
58
50
|
});
|
|
59
51
|
}
|
|
60
52
|
// #endregion Public Methods (1)
|
|
@@ -107,7 +99,7 @@ class SDGTFLoader {
|
|
|
107
99
|
const arcMaxAngle = data.array[index + 11];
|
|
108
100
|
const arcZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), arcXAxis, arcYAxis);
|
|
109
101
|
if (arcRadius <= 0) {
|
|
110
|
-
this._logger.warn(
|
|
102
|
+
this._logger.warn('SDGTFLoader.loadArcs: Arc radius is <= 0.');
|
|
111
103
|
continue;
|
|
112
104
|
}
|
|
113
105
|
const points = [];
|
|
@@ -260,7 +252,7 @@ class SDGTFLoader {
|
|
|
260
252
|
const circleRadius = data.array[index + 9];
|
|
261
253
|
const circleZAxis = gl_matrix_1.vec3.cross(gl_matrix_1.vec3.create(), circleXAxis, circleYAxis);
|
|
262
254
|
if (circleRadius <= 0) {
|
|
263
|
-
this._logger.warn(
|
|
255
|
+
this._logger.warn('SDGTFLoader.loadCircles: Circle radius is <= 0.');
|
|
264
256
|
continue;
|
|
265
257
|
}
|
|
266
258
|
const points = [];
|
|
@@ -330,7 +322,7 @@ class SDGTFLoader {
|
|
|
330
322
|
gl_matrix_1.vec3.normalize(cylinderXAxis, cylinderXAxis);
|
|
331
323
|
gl_matrix_1.vec3.normalize(cylinderYAxis, cylinderYAxis);
|
|
332
324
|
if (cylinderRadius <= 0) {
|
|
333
|
-
this._logger.warn(
|
|
325
|
+
this._logger.warn('SDGTFLoader.loadCylinders: Cylinder radius is <= 0.');
|
|
334
326
|
continue;
|
|
335
327
|
}
|
|
336
328
|
const indices = [];
|
|
@@ -432,7 +424,7 @@ class SDGTFLoader {
|
|
|
432
424
|
const sphereTranslation = gl_matrix_1.vec3.fromValues(data.array[index + 0], data.array[index + 1], data.array[index + 2]);
|
|
433
425
|
const sphereRadius = data.array[index + 3];
|
|
434
426
|
if (sphereRadius <= 0) {
|
|
435
|
-
this._logger.warn(
|
|
427
|
+
this._logger.warn('SDGTFLoader.loadSpheres: Sphere radius is <= 0.');
|
|
436
428
|
continue;
|
|
437
429
|
}
|
|
438
430
|
const indices = [];
|