@loaders.gl/gltf 3.3.0-alpha.5 → 3.3.0-alpha.6
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/dist.min.js +104 -124
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/glb-loader.js +2 -13
- package/dist/es5/glb-loader.js.map +1 -1
- package/dist/es5/glb-writer.js +3 -6
- package/dist/es5/glb-writer.js.map +1 -1
- package/dist/es5/gltf-loader.js +11 -23
- package/dist/es5/gltf-loader.js.map +1 -1
- package/dist/es5/gltf-writer.js +2 -5
- package/dist/es5/gltf-writer.js.map +1 -1
- package/dist/es5/index.js +10 -17
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/api/gltf-extensions.js +14 -48
- package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
- package/dist/es5/lib/api/gltf-scenegraph.js +113 -96
- package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/es5/lib/api/normalize-gltf-v1.js +32 -70
- package/dist/es5/lib/api/normalize-gltf-v1.js.map +1 -1
- package/dist/es5/lib/api/post-process-gltf.js +26 -89
- package/dist/es5/lib/api/post-process-gltf.js.map +1 -1
- package/dist/es5/lib/encoders/encode-glb.js +10 -8
- package/dist/es5/lib/encoders/encode-glb.js.map +1 -1
- package/dist/es5/lib/encoders/encode-gltf.js +3 -6
- package/dist/es5/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js +2 -28
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_texture_webp.js +5 -18
- package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_binary_gltf.js +5 -12
- package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +11 -79
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_basisu.js +5 -14
- package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_transform.js +17 -72
- package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +0 -21
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +0 -24
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +2 -19
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +11 -29
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/es5/lib/gltf-utils/get-typed-array.js +1 -1
- package/dist/es5/lib/gltf-utils/get-typed-array.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +5 -17
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-constants.js +3 -4
- package/dist/es5/lib/gltf-utils/gltf-constants.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-utils.js +1 -8
- package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/es5/lib/gltf-utils/resolve-url.js +0 -5
- package/dist/es5/lib/gltf-utils/resolve-url.js.map +1 -1
- package/dist/es5/lib/parsers/parse-glb.js +11 -17
- package/dist/es5/lib/parsers/parse-glb.js.map +1 -1
- package/dist/es5/lib/parsers/parse-gltf.js +12 -73
- package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/es5/lib/types/glb-types.js.map +1 -1
- package/dist/es5/lib/types/gltf-json-schema.js.map +1 -1
- package/dist/es5/lib/types/gltf-postprocessed-schema.js.map +1 -1
- package/dist/es5/lib/types/gltf-types.js.map +1 -1
- package/dist/es5/lib/utils/assert.js +0 -1
- package/dist/es5/lib/utils/assert.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/meshopt/meshopt-decoder.js +10 -47
- package/dist/es5/meshopt/meshopt-decoder.js.map +1 -1
- package/dist/es5/webp/webp.js +3 -19
- package/dist/es5/webp/webp.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/glb-loader.js +0 -1
- package/dist/esm/glb-loader.js.map +1 -1
- package/dist/esm/glb-writer.js +3 -1
- package/dist/esm/glb-writer.js.map +1 -1
- package/dist/esm/gltf-loader.js +9 -3
- package/dist/esm/gltf-loader.js.map +1 -1
- package/dist/esm/gltf-writer.js +3 -2
- package/dist/esm/gltf-writer.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/api/gltf-extensions.js +16 -9
- package/dist/esm/lib/api/gltf-extensions.js.map +1 -1
- package/dist/esm/lib/api/gltf-scenegraph.js +27 -68
- package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/esm/lib/api/normalize-gltf-v1.js +3 -34
- package/dist/esm/lib/api/normalize-gltf-v1.js.map +1 -1
- package/dist/esm/lib/api/post-process-gltf.js +26 -93
- package/dist/esm/lib/api/post-process-gltf.js.map +1 -1
- package/dist/esm/lib/encoders/encode-glb.js +9 -2
- package/dist/esm/lib/encoders/encode-glb.js.map +1 -1
- package/dist/esm/lib/encoders/encode-gltf.js +6 -4
- package/dist/esm/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js +5 -6
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_texture_webp.js +4 -6
- package/dist/esm/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_binary_gltf.js +3 -2
- package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +18 -17
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_basisu.js +4 -3
- package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_transform.js +8 -34
- package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js +2 -13
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +4 -4
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +3 -2
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +10 -10
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/esm/lib/gltf-utils/get-typed-array.js +4 -0
- package/dist/esm/lib/gltf-utils/get-typed-array.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js +7 -11
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-constants.js +1 -0
- package/dist/esm/lib/gltf-utils/gltf-constants.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-utils.js +0 -2
- package/dist/esm/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/esm/lib/gltf-utils/resolve-url.js +1 -4
- package/dist/esm/lib/gltf-utils/resolve-url.js.map +1 -1
- package/dist/esm/lib/parsers/parse-glb.js +19 -16
- package/dist/esm/lib/parsers/parse-glb.js.map +1 -1
- package/dist/esm/lib/parsers/parse-gltf.js +11 -16
- package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/esm/lib/types/glb-types.js.map +1 -1
- package/dist/esm/lib/types/gltf-json-schema.js.map +1 -1
- package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +1 -1
- package/dist/esm/lib/types/gltf-types.js.map +1 -1
- package/dist/esm/lib/utils/assert.js +1 -0
- package/dist/esm/lib/utils/assert.js.map +1 -1
- package/dist/esm/lib/utils/version.js +2 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/meshopt/meshopt-decoder.js +11 -15
- package/dist/esm/meshopt/meshopt-decoder.js.map +1 -1
- package/dist/esm/webp/webp.js +3 -5
- package/dist/esm/webp/webp.js.map +1 -1
- package/dist/lib/api/gltf-extensions.js +5 -1
- package/dist/lib/api/normalize-gltf-v1.js +5 -1
- package/dist/lib/parsers/parse-gltf.js +5 -1
- package/package.json +6 -6
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _images = require("@loaders.gl/images");
|
|
19
|
-
|
|
20
13
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
21
|
-
|
|
22
14
|
var _assert = require("../utils/assert");
|
|
23
|
-
|
|
24
15
|
var _gltfUtils = require("../gltf-utils/gltf-utils");
|
|
25
|
-
|
|
26
16
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
27
|
-
|
|
28
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
35
|
-
|
|
19
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
36
21
|
var DEFAULT_GLTF_JSON = {
|
|
37
22
|
asset: {
|
|
38
23
|
version: '2.0',
|
|
@@ -40,8 +25,8 @@ var DEFAULT_GLTF_JSON = {
|
|
|
40
25
|
},
|
|
41
26
|
buffers: []
|
|
42
27
|
};
|
|
43
|
-
|
|
44
28
|
var GLTFScenegraph = function () {
|
|
29
|
+
|
|
45
30
|
function GLTFScenegraph(gltf) {
|
|
46
31
|
(0, _classCallCheck2.default)(this, GLTFScenegraph);
|
|
47
32
|
(0, _defineProperty2.default)(this, "gltf", void 0);
|
|
@@ -62,7 +47,9 @@ var GLTFScenegraph = function () {
|
|
|
62
47
|
|
|
63
48
|
(0, _createClass2.default)(GLTFScenegraph, [{
|
|
64
49
|
key: "json",
|
|
65
|
-
get:
|
|
50
|
+
get:
|
|
51
|
+
|
|
52
|
+
function get() {
|
|
66
53
|
return this.gltf.json;
|
|
67
54
|
}
|
|
68
55
|
}, {
|
|
@@ -140,9 +127,12 @@ var GLTFScenegraph = function () {
|
|
|
140
127
|
value: function getAccessor(index) {
|
|
141
128
|
return this.getObject('accessors', index);
|
|
142
129
|
}
|
|
130
|
+
|
|
143
131
|
}, {
|
|
144
132
|
key: "getTexture",
|
|
145
|
-
value:
|
|
133
|
+
value:
|
|
134
|
+
|
|
135
|
+
function getTexture(index) {
|
|
146
136
|
return this.getObject('textures', index);
|
|
147
137
|
}
|
|
148
138
|
}, {
|
|
@@ -171,43 +161,48 @@ var GLTFScenegraph = function () {
|
|
|
171
161
|
if ((0, _typeof2.default)(index) === 'object') {
|
|
172
162
|
return index;
|
|
173
163
|
}
|
|
174
|
-
|
|
175
164
|
var object = this.json[array] && this.json[array][index];
|
|
176
|
-
|
|
177
165
|
if (!object) {
|
|
178
166
|
throw new Error("glTF file error: Could not find ".concat(array, "[").concat(index, "]"));
|
|
179
167
|
}
|
|
180
168
|
|
|
181
169
|
return object;
|
|
182
170
|
}
|
|
171
|
+
|
|
183
172
|
}, {
|
|
184
173
|
key: "getTypedArrayForBufferView",
|
|
185
|
-
value:
|
|
174
|
+
value:
|
|
175
|
+
function getTypedArrayForBufferView(bufferView) {
|
|
186
176
|
bufferView = this.getBufferView(bufferView);
|
|
187
177
|
var bufferIndex = bufferView.buffer;
|
|
178
|
+
|
|
188
179
|
var binChunk = this.gltf.buffers[bufferIndex];
|
|
189
180
|
(0, _assert.assert)(binChunk);
|
|
181
|
+
|
|
190
182
|
var byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;
|
|
191
183
|
return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);
|
|
192
184
|
}
|
|
185
|
+
|
|
193
186
|
}, {
|
|
194
187
|
key: "getTypedArrayForAccessor",
|
|
195
|
-
value:
|
|
188
|
+
value:
|
|
189
|
+
function getTypedArrayForAccessor(accessor) {
|
|
196
190
|
accessor = this.getAccessor(accessor);
|
|
197
191
|
var bufferView = this.getBufferView(accessor.bufferView);
|
|
198
192
|
var buffer = this.getBuffer(bufferView.buffer);
|
|
199
193
|
var arrayBuffer = buffer.data;
|
|
200
194
|
|
|
201
195
|
var _getAccessorArrayType = (0, _gltfUtils.getAccessorArrayTypeAndLength)(accessor, bufferView),
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
196
|
+
ArrayType = _getAccessorArrayType.ArrayType,
|
|
197
|
+
length = _getAccessorArrayType.length;
|
|
205
198
|
var byteOffset = bufferView.byteOffset + accessor.byteOffset;
|
|
206
199
|
return new ArrayType(arrayBuffer, byteOffset, length);
|
|
207
200
|
}
|
|
201
|
+
|
|
208
202
|
}, {
|
|
209
203
|
key: "getTypedArrayForImageData",
|
|
210
|
-
value:
|
|
204
|
+
value:
|
|
205
|
+
function getTypedArrayForImageData(image) {
|
|
211
206
|
image = this.getAccessor(image);
|
|
212
207
|
var bufferView = this.getBufferView(image.bufferView);
|
|
213
208
|
var buffer = this.getBuffer(bufferView.buffer);
|
|
@@ -215,15 +210,20 @@ var GLTFScenegraph = function () {
|
|
|
215
210
|
var byteOffset = bufferView.byteOffset || 0;
|
|
216
211
|
return new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
|
|
217
212
|
}
|
|
213
|
+
|
|
218
214
|
}, {
|
|
219
215
|
key: "addApplicationData",
|
|
220
|
-
value:
|
|
216
|
+
value:
|
|
217
|
+
|
|
218
|
+
function addApplicationData(key, data) {
|
|
221
219
|
this.json[key] = data;
|
|
222
220
|
return this;
|
|
223
221
|
}
|
|
222
|
+
|
|
224
223
|
}, {
|
|
225
224
|
key: "addExtraData",
|
|
226
|
-
value:
|
|
225
|
+
value:
|
|
226
|
+
function addExtraData(key, data) {
|
|
227
227
|
this.json.extras = this.json.extras || {};
|
|
228
228
|
this.json.extras[key] = data;
|
|
229
229
|
return this;
|
|
@@ -250,9 +250,11 @@ var GLTFScenegraph = function () {
|
|
|
250
250
|
delete extensions[extensionName];
|
|
251
251
|
return extension;
|
|
252
252
|
}
|
|
253
|
+
|
|
253
254
|
}, {
|
|
254
255
|
key: "addExtension",
|
|
255
|
-
value:
|
|
256
|
+
value:
|
|
257
|
+
function addExtension(extensionName) {
|
|
256
258
|
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
257
259
|
(0, _assert.assert)(extensionData);
|
|
258
260
|
this.json.extensions = this.json.extensions || {};
|
|
@@ -260,61 +262,69 @@ var GLTFScenegraph = function () {
|
|
|
260
262
|
this.registerUsedExtension(extensionName);
|
|
261
263
|
return extensionData;
|
|
262
264
|
}
|
|
265
|
+
|
|
263
266
|
}, {
|
|
264
267
|
key: "addRequiredExtension",
|
|
265
|
-
value:
|
|
268
|
+
value:
|
|
269
|
+
function addRequiredExtension(extensionName) {
|
|
266
270
|
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
267
271
|
(0, _assert.assert)(extensionData);
|
|
268
272
|
this.addExtension(extensionName, extensionData);
|
|
269
273
|
this.registerRequiredExtension(extensionName);
|
|
270
274
|
return extensionData;
|
|
271
275
|
}
|
|
276
|
+
|
|
272
277
|
}, {
|
|
273
278
|
key: "registerUsedExtension",
|
|
274
|
-
value:
|
|
279
|
+
value:
|
|
280
|
+
function registerUsedExtension(extensionName) {
|
|
275
281
|
this.json.extensionsUsed = this.json.extensionsUsed || [];
|
|
276
|
-
|
|
277
282
|
if (!this.json.extensionsUsed.find(function (ext) {
|
|
278
283
|
return ext === extensionName;
|
|
279
284
|
})) {
|
|
280
285
|
this.json.extensionsUsed.push(extensionName);
|
|
281
286
|
}
|
|
282
287
|
}
|
|
288
|
+
|
|
283
289
|
}, {
|
|
284
290
|
key: "registerRequiredExtension",
|
|
285
|
-
value:
|
|
291
|
+
value:
|
|
292
|
+
function registerRequiredExtension(extensionName) {
|
|
286
293
|
this.registerUsedExtension(extensionName);
|
|
287
294
|
this.json.extensionsRequired = this.json.extensionsRequired || [];
|
|
288
|
-
|
|
289
295
|
if (!this.json.extensionsRequired.find(function (ext) {
|
|
290
296
|
return ext === extensionName;
|
|
291
297
|
})) {
|
|
292
298
|
this.json.extensionsRequired.push(extensionName);
|
|
293
299
|
}
|
|
294
300
|
}
|
|
301
|
+
|
|
295
302
|
}, {
|
|
296
303
|
key: "removeExtension",
|
|
297
|
-
value:
|
|
304
|
+
value:
|
|
305
|
+
function removeExtension(extensionName) {
|
|
298
306
|
if (this.json.extensionsRequired) {
|
|
299
307
|
this._removeStringFromArray(this.json.extensionsRequired, extensionName);
|
|
300
308
|
}
|
|
301
|
-
|
|
302
309
|
if (this.json.extensionsUsed) {
|
|
303
310
|
this._removeStringFromArray(this.json.extensionsUsed, extensionName);
|
|
304
311
|
}
|
|
305
|
-
|
|
306
312
|
if (this.json.extensions) {
|
|
307
313
|
delete this.json.extensions[extensionName];
|
|
308
314
|
}
|
|
309
315
|
}
|
|
316
|
+
|
|
310
317
|
}, {
|
|
311
318
|
key: "setDefaultScene",
|
|
312
|
-
value:
|
|
319
|
+
value:
|
|
320
|
+
function setDefaultScene(sceneIndex) {
|
|
313
321
|
this.json.scene = sceneIndex;
|
|
314
322
|
}
|
|
323
|
+
|
|
315
324
|
}, {
|
|
316
325
|
key: "addScene",
|
|
317
|
-
value:
|
|
326
|
+
value:
|
|
327
|
+
function addScene(scene) {
|
|
318
328
|
var nodeIndices = scene.nodeIndices;
|
|
319
329
|
this.json.scenes = this.json.scenes || [];
|
|
320
330
|
this.json.scenes.push({
|
|
@@ -322,51 +332,47 @@ var GLTFScenegraph = function () {
|
|
|
322
332
|
});
|
|
323
333
|
return this.json.scenes.length - 1;
|
|
324
334
|
}
|
|
335
|
+
|
|
325
336
|
}, {
|
|
326
337
|
key: "addNode",
|
|
327
|
-
value:
|
|
338
|
+
value:
|
|
339
|
+
function addNode(node) {
|
|
328
340
|
var meshIndex = node.meshIndex,
|
|
329
|
-
|
|
341
|
+
matrix = node.matrix;
|
|
330
342
|
this.json.nodes = this.json.nodes || [];
|
|
331
343
|
var nodeData = {
|
|
332
344
|
mesh: meshIndex
|
|
333
345
|
};
|
|
334
|
-
|
|
335
346
|
if (matrix) {
|
|
336
347
|
nodeData.matrix = matrix;
|
|
337
348
|
}
|
|
338
|
-
|
|
339
349
|
this.json.nodes.push(nodeData);
|
|
340
350
|
return this.json.nodes.length - 1;
|
|
341
351
|
}
|
|
352
|
+
|
|
342
353
|
}, {
|
|
343
354
|
key: "addMesh",
|
|
344
|
-
value:
|
|
355
|
+
value:
|
|
356
|
+
function addMesh(mesh) {
|
|
345
357
|
var attributes = mesh.attributes,
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
358
|
+
indices = mesh.indices,
|
|
359
|
+
material = mesh.material,
|
|
360
|
+
_mesh$mode = mesh.mode,
|
|
361
|
+
mode = _mesh$mode === void 0 ? 4 : _mesh$mode;
|
|
351
362
|
var accessors = this._addAttributes(attributes);
|
|
352
|
-
|
|
353
363
|
var glTFMesh = {
|
|
354
364
|
primitives: [{
|
|
355
365
|
attributes: accessors,
|
|
356
366
|
mode: mode
|
|
357
367
|
}]
|
|
358
368
|
};
|
|
359
|
-
|
|
360
369
|
if (indices) {
|
|
361
370
|
var indicesAccessor = this._addIndices(indices);
|
|
362
|
-
|
|
363
371
|
glTFMesh.primitives[0].indices = indicesAccessor;
|
|
364
372
|
}
|
|
365
|
-
|
|
366
373
|
if (Number.isFinite(material)) {
|
|
367
374
|
glTFMesh.primitives[0].material = material;
|
|
368
375
|
}
|
|
369
|
-
|
|
370
376
|
this.json.meshes = this.json.meshes || [];
|
|
371
377
|
this.json.meshes.push(glTFMesh);
|
|
372
378
|
return this.json.meshes.length - 1;
|
|
@@ -375,20 +381,22 @@ var GLTFScenegraph = function () {
|
|
|
375
381
|
key: "addPointCloud",
|
|
376
382
|
value: function addPointCloud(attributes) {
|
|
377
383
|
var accessorIndices = this._addAttributes(attributes);
|
|
378
|
-
|
|
379
384
|
var glTFMesh = {
|
|
380
385
|
primitives: [{
|
|
381
386
|
attributes: accessorIndices,
|
|
382
387
|
mode: 0
|
|
383
388
|
}]
|
|
384
389
|
};
|
|
390
|
+
|
|
385
391
|
this.json.meshes = this.json.meshes || [];
|
|
386
392
|
this.json.meshes.push(glTFMesh);
|
|
387
393
|
return this.json.meshes.length - 1;
|
|
388
394
|
}
|
|
395
|
+
|
|
389
396
|
}, {
|
|
390
397
|
key: "addImage",
|
|
391
|
-
value:
|
|
398
|
+
value:
|
|
399
|
+
function addImage(imageData, mimeTypeOpt) {
|
|
392
400
|
var metadata = (0, _images.getBinaryImageMetadata)(imageData);
|
|
393
401
|
var mimeType = mimeTypeOpt || (metadata === null || metadata === void 0 ? void 0 : metadata.mimeType);
|
|
394
402
|
var bufferViewIndex = this.addBufferView(imageData);
|
|
@@ -400,11 +408,14 @@ var GLTFScenegraph = function () {
|
|
|
400
408
|
this.json.images.push(glTFImage);
|
|
401
409
|
return this.json.images.length - 1;
|
|
402
410
|
}
|
|
411
|
+
|
|
403
412
|
}, {
|
|
404
413
|
key: "addBufferView",
|
|
405
|
-
value:
|
|
414
|
+
value:
|
|
415
|
+
function addBufferView(buffer) {
|
|
406
416
|
var byteLength = buffer.byteLength;
|
|
407
417
|
(0, _assert.assert)(Number.isFinite(byteLength));
|
|
418
|
+
|
|
408
419
|
this.sourceBuffers = this.sourceBuffers || [];
|
|
409
420
|
this.sourceBuffers.push(buffer);
|
|
410
421
|
var glTFBufferView = {
|
|
@@ -412,14 +423,18 @@ var GLTFScenegraph = function () {
|
|
|
412
423
|
byteOffset: this.byteLength,
|
|
413
424
|
byteLength: byteLength
|
|
414
425
|
};
|
|
426
|
+
|
|
415
427
|
this.byteLength += (0, _loaderUtils.padToNBytes)(byteLength, 4);
|
|
428
|
+
|
|
416
429
|
this.json.bufferViews = this.json.bufferViews || [];
|
|
417
430
|
this.json.bufferViews.push(glTFBufferView);
|
|
418
431
|
return this.json.bufferViews.length - 1;
|
|
419
432
|
}
|
|
433
|
+
|
|
420
434
|
}, {
|
|
421
435
|
key: "addAccessor",
|
|
422
|
-
value:
|
|
436
|
+
value:
|
|
437
|
+
function addAccessor(bufferViewIndex, accessor) {
|
|
423
438
|
var glTFAccessor = {
|
|
424
439
|
bufferView: bufferViewIndex,
|
|
425
440
|
type: (0, _gltfUtils.getAccessorTypeFromSize)(accessor.size),
|
|
@@ -432,9 +447,11 @@ var GLTFScenegraph = function () {
|
|
|
432
447
|
this.json.accessors.push(glTFAccessor);
|
|
433
448
|
return this.json.accessors.length - 1;
|
|
434
449
|
}
|
|
450
|
+
|
|
435
451
|
}, {
|
|
436
452
|
key: "addBinaryBuffer",
|
|
437
|
-
value:
|
|
453
|
+
value:
|
|
454
|
+
function addBinaryBuffer(sourceBuffer) {
|
|
438
455
|
var accessor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
439
456
|
size: 3
|
|
440
457
|
};
|
|
@@ -443,11 +460,9 @@ var GLTFScenegraph = function () {
|
|
|
443
460
|
min: accessor.min,
|
|
444
461
|
max: accessor.max
|
|
445
462
|
};
|
|
446
|
-
|
|
447
463
|
if (!minMax.min || !minMax.max) {
|
|
448
464
|
minMax = this._getAccessorMinMax(sourceBuffer, accessor.size);
|
|
449
465
|
}
|
|
450
|
-
|
|
451
466
|
var accessorDefaults = {
|
|
452
467
|
size: accessor.size,
|
|
453
468
|
componentType: (0, _gltfUtils.getComponentTypeFromArray)(sourceBuffer),
|
|
@@ -457,9 +472,11 @@ var GLTFScenegraph = function () {
|
|
|
457
472
|
};
|
|
458
473
|
return this.addAccessor(bufferViewIndex, Object.assign(accessorDefaults, accessor));
|
|
459
474
|
}
|
|
475
|
+
|
|
460
476
|
}, {
|
|
461
477
|
key: "addTexture",
|
|
462
|
-
value:
|
|
478
|
+
value:
|
|
479
|
+
function addTexture(texture) {
|
|
463
480
|
var imageIndex = texture.imageIndex;
|
|
464
481
|
var glTFTexture = {
|
|
465
482
|
source: imageIndex
|
|
@@ -468,38 +485,41 @@ var GLTFScenegraph = function () {
|
|
|
468
485
|
this.json.textures.push(glTFTexture);
|
|
469
486
|
return this.json.textures.length - 1;
|
|
470
487
|
}
|
|
488
|
+
|
|
471
489
|
}, {
|
|
472
490
|
key: "addMaterial",
|
|
473
|
-
value:
|
|
491
|
+
value:
|
|
492
|
+
function addMaterial(pbrMaterialInfo) {
|
|
474
493
|
this.json.materials = this.json.materials || [];
|
|
475
494
|
this.json.materials.push(pbrMaterialInfo);
|
|
476
495
|
return this.json.materials.length - 1;
|
|
477
496
|
}
|
|
497
|
+
|
|
478
498
|
}, {
|
|
479
499
|
key: "createBinaryChunk",
|
|
480
|
-
value:
|
|
500
|
+
value:
|
|
501
|
+
function createBinaryChunk() {
|
|
481
502
|
var _this$json, _this$json$buffers;
|
|
482
|
-
|
|
483
503
|
this.gltf.buffers = [];
|
|
504
|
+
|
|
484
505
|
var totalByteLength = this.byteLength;
|
|
485
506
|
var arrayBuffer = new ArrayBuffer(totalByteLength);
|
|
486
507
|
var targetArray = new Uint8Array(arrayBuffer);
|
|
487
|
-
var dstByteOffset = 0;
|
|
488
508
|
|
|
509
|
+
var dstByteOffset = 0;
|
|
489
510
|
var _iterator = _createForOfIteratorHelper(this.sourceBuffers || []),
|
|
490
|
-
|
|
491
|
-
|
|
511
|
+
_step;
|
|
492
512
|
try {
|
|
493
513
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
494
514
|
var sourceBuffer = _step.value;
|
|
495
515
|
dstByteOffset = (0, _loaderUtils.copyToArray)(sourceBuffer, targetArray, dstByteOffset);
|
|
496
516
|
}
|
|
517
|
+
|
|
497
518
|
} catch (err) {
|
|
498
519
|
_iterator.e(err);
|
|
499
520
|
} finally {
|
|
500
521
|
_iterator.f();
|
|
501
522
|
}
|
|
502
|
-
|
|
503
523
|
if ((_this$json = this.json) !== null && _this$json !== void 0 && (_this$json$buffers = _this$json.buffers) !== null && _this$json$buffers !== void 0 && _this$json$buffers[0]) {
|
|
504
524
|
this.json.buffers[0].byteLength = totalByteLength;
|
|
505
525
|
} else {
|
|
@@ -509,16 +529,18 @@ var GLTFScenegraph = function () {
|
|
|
509
529
|
}
|
|
510
530
|
|
|
511
531
|
this.gltf.binary = arrayBuffer;
|
|
532
|
+
|
|
512
533
|
this.sourceBuffers = [arrayBuffer];
|
|
513
534
|
}
|
|
535
|
+
|
|
514
536
|
}, {
|
|
515
537
|
key: "_removeStringFromArray",
|
|
516
|
-
value:
|
|
517
|
-
var found = true;
|
|
538
|
+
value:
|
|
518
539
|
|
|
540
|
+
function _removeStringFromArray(array, string) {
|
|
541
|
+
var found = true;
|
|
519
542
|
while (found) {
|
|
520
543
|
var index = array.indexOf(string);
|
|
521
|
-
|
|
522
544
|
if (index > -1) {
|
|
523
545
|
array.splice(index, 1);
|
|
524
546
|
} else {
|
|
@@ -526,74 +548,70 @@ var GLTFScenegraph = function () {
|
|
|
526
548
|
}
|
|
527
549
|
}
|
|
528
550
|
}
|
|
551
|
+
|
|
529
552
|
}, {
|
|
530
553
|
key: "_addAttributes",
|
|
531
|
-
value:
|
|
554
|
+
value:
|
|
555
|
+
function _addAttributes() {
|
|
532
556
|
var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
533
557
|
var result = {};
|
|
534
|
-
|
|
535
558
|
for (var attributeKey in attributes) {
|
|
536
559
|
var attributeData = attributes[attributeKey];
|
|
537
|
-
|
|
538
560
|
var attrName = this._getGltfAttributeName(attributeKey);
|
|
539
|
-
|
|
540
561
|
var accessor = this.addBinaryBuffer(attributeData.value, attributeData);
|
|
541
562
|
result[attrName] = accessor;
|
|
542
563
|
}
|
|
543
|
-
|
|
544
564
|
return result;
|
|
545
565
|
}
|
|
566
|
+
|
|
546
567
|
}, {
|
|
547
568
|
key: "_addIndices",
|
|
548
|
-
value:
|
|
569
|
+
value:
|
|
570
|
+
function _addIndices(indices) {
|
|
549
571
|
return this.addBinaryBuffer(indices, {
|
|
550
572
|
size: 1
|
|
551
573
|
});
|
|
552
574
|
}
|
|
575
|
+
|
|
553
576
|
}, {
|
|
554
577
|
key: "_getGltfAttributeName",
|
|
555
|
-
value:
|
|
578
|
+
value:
|
|
579
|
+
function _getGltfAttributeName(attributeName) {
|
|
556
580
|
switch (attributeName.toLowerCase()) {
|
|
557
581
|
case 'position':
|
|
558
582
|
case 'positions':
|
|
559
583
|
case 'vertices':
|
|
560
584
|
return 'POSITION';
|
|
561
|
-
|
|
562
585
|
case 'normal':
|
|
563
586
|
case 'normals':
|
|
564
587
|
return 'NORMAL';
|
|
565
|
-
|
|
566
588
|
case 'color':
|
|
567
589
|
case 'colors':
|
|
568
590
|
return 'COLOR_0';
|
|
569
|
-
|
|
570
591
|
case 'texcoord':
|
|
571
592
|
case 'texcoords':
|
|
572
593
|
return 'TEXCOORD_0';
|
|
573
|
-
|
|
574
594
|
default:
|
|
575
595
|
return attributeName;
|
|
576
596
|
}
|
|
577
597
|
}
|
|
598
|
+
|
|
578
599
|
}, {
|
|
579
600
|
key: "_getAccessorMinMax",
|
|
580
|
-
value:
|
|
601
|
+
value:
|
|
602
|
+
function _getAccessorMinMax(buffer, size) {
|
|
581
603
|
var result = {
|
|
582
604
|
min: null,
|
|
583
605
|
max: null
|
|
584
606
|
};
|
|
585
|
-
|
|
586
607
|
if (buffer.length < size) {
|
|
587
608
|
return result;
|
|
588
609
|
}
|
|
589
|
-
|
|
590
610
|
result.min = [];
|
|
591
611
|
result.max = [];
|
|
592
612
|
var initValues = buffer.subarray(0, size);
|
|
593
|
-
|
|
594
613
|
var _iterator2 = _createForOfIteratorHelper(initValues),
|
|
595
|
-
|
|
596
|
-
|
|
614
|
+
_step2;
|
|
597
615
|
try {
|
|
598
616
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
599
617
|
var value = _step2.value;
|
|
@@ -605,19 +623,18 @@ var GLTFScenegraph = function () {
|
|
|
605
623
|
} finally {
|
|
606
624
|
_iterator2.f();
|
|
607
625
|
}
|
|
608
|
-
|
|
609
626
|
for (var index = size; index < buffer.length; index += size) {
|
|
610
627
|
for (var componentIndex = 0; componentIndex < size; componentIndex++) {
|
|
611
|
-
result.min[0 + componentIndex] = Math.min(
|
|
612
|
-
result.
|
|
628
|
+
result.min[0 + componentIndex] = Math.min(
|
|
629
|
+
result.min[0 + componentIndex], buffer[index + componentIndex]);
|
|
630
|
+
result.max[0 + componentIndex] = Math.max(
|
|
631
|
+
result.max[0 + componentIndex], buffer[index + componentIndex]);
|
|
613
632
|
}
|
|
614
633
|
}
|
|
615
|
-
|
|
616
634
|
return result;
|
|
617
635
|
}
|
|
618
636
|
}]);
|
|
619
637
|
return GLTFScenegraph;
|
|
620
638
|
}();
|
|
621
|
-
|
|
622
639
|
exports.default = GLTFScenegraph;
|
|
623
640
|
//# sourceMappingURL=gltf-scenegraph.js.map
|