@loaders.gl/gltf 4.0.0-beta.1 → 4.0.0-beta.3
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 → dist.dev.js} +3448 -3448
- package/dist/{esm/glb-loader.js → glb-loader.js} +2 -2
- package/dist/glb-loader.js.map +1 -0
- package/dist/{esm/glb-writer.js → glb-writer.js} +2 -2
- package/dist/glb-writer.js.map +1 -0
- package/dist/{esm/gltf-loader.js → gltf-loader.js} +2 -2
- package/dist/gltf-loader.js.map +1 -0
- package/dist/{esm/gltf-writer.js → gltf-writer.js} +2 -2
- package/dist/gltf-writer.js.map +1 -0
- package/dist/index.cjs +3558 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/{esm/lib → lib}/api/gltf-extensions.js +11 -11
- package/dist/lib/api/gltf-extensions.js.map +1 -0
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/api/gltf-scenegraph.js +9 -17
- package/dist/lib/api/gltf-scenegraph.js.map +1 -0
- package/dist/{esm/lib → lib}/api/normalize-gltf-v1.js +7 -8
- package/dist/lib/api/normalize-gltf-v1.js.map +1 -0
- package/dist/{esm/lib → lib}/api/post-process-gltf.js +19 -20
- package/dist/lib/api/post-process-gltf.js.map +1 -0
- package/dist/lib/encoders/encode-glb.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-gltf.js +1 -1
- package/dist/lib/encoders/encode-gltf.js.map +1 -0
- package/dist/lib/extensions/EXT_mesh_features.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/extensions/EXT_mesh_features.js +7 -5
- package/dist/lib/extensions/EXT_mesh_features.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/EXT_meshopt_compression.js +2 -2
- package/dist/lib/extensions/EXT_meshopt_compression.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/EXT_structural_metadata.js +7 -7
- package/dist/lib/extensions/EXT_structural_metadata.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/EXT_texture_webp.js +2 -2
- package/dist/lib/extensions/EXT_texture_webp.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/KHR_binary_gltf.js +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/KHR_draco_mesh_compression.js +2 -2
- package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/KHR_texture_basisu.js +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/KHR_texture_transform.js +6 -6
- package/dist/lib/extensions/KHR_texture_transform.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/deprecated/EXT_feature_metadata.js +3 -3
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/deprecated/KHR_lights_punctual.js +2 -2
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/deprecated/KHR_materials_unlit.js +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
- package/dist/{esm/lib → lib}/extensions/deprecated/KHR_techniques_webgl.js +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts +1 -1
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/extensions/utils/3d-tiles-utils.js +6 -9
- package/dist/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
- package/dist/lib/gltf-utils/get-typed-array.d.ts +10 -0
- package/dist/lib/gltf-utils/get-typed-array.d.ts.map +1 -1
- package/dist/lib/gltf-utils/get-typed-array.js +51 -0
- package/dist/lib/gltf-utils/get-typed-array.js.map +1 -0
- package/dist/{esm/lib → lib}/gltf-utils/gltf-attribute-utils.js +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
- package/dist/lib/gltf-utils/gltf-constants.js.map +1 -0
- package/dist/lib/gltf-utils/gltf-utils.d.ts +2 -2
- package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/gltf-utils/gltf-utils.js +7 -32
- package/dist/lib/gltf-utils/gltf-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/gltf-utils/resolve-url.js +1 -1
- package/dist/lib/gltf-utils/resolve-url.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-glb.js +6 -2
- package/dist/lib/parsers/parse-glb.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-gltf.js +7 -7
- package/dist/lib/parsers/parse-gltf.js.map +1 -0
- package/dist/lib/types/glb-types.js.map +1 -0
- package/dist/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts +3 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
- package/dist/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
- package/dist/lib/types/gltf-json-schema.d.ts +7 -0
- package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-json-schema.js.map +1 -0
- package/dist/lib/types/gltf-postprocessed-schema.js.map +1 -0
- package/dist/lib/types/gltf-types.d.ts +1 -1
- package/dist/lib/types/gltf-types.d.ts.map +1 -1
- package/dist/lib/types/gltf-types.js.map +1 -0
- package/dist/lib/utils/assert.js.map +1 -0
- package/dist/lib/utils/version.js +2 -0
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/{esm/meshopt → meshopt}/meshopt-decoder.js +1 -1
- package/dist/meshopt/meshopt-decoder.js.map +1 -0
- package/dist/{esm/webp → webp}/webp.js +1 -1
- package/dist/webp/webp.js.map +1 -0
- package/package.json +19 -11
- package/src/lib/api/gltf-scenegraph.ts +5 -17
- package/src/lib/extensions/EXT_mesh_features.ts +4 -2
- package/src/lib/extensions/utils/3d-tiles-utils.ts +17 -17
- package/src/lib/gltf-utils/get-typed-array.ts +53 -14
- package/src/lib/gltf-utils/gltf-utils.ts +3 -39
- package/src/lib/types/gltf-ext-mesh-features-schema.ts +3 -1
- package/src/lib/types/gltf-json-schema.ts +7 -0
- package/src/lib/types/gltf-types.ts +1 -1
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/glb-loader.js +0 -54
- package/dist/es5/glb-loader.js.map +0 -1
- package/dist/es5/glb-writer.js +0 -34
- package/dist/es5/glb-writer.js.map +0 -1
- package/dist/es5/gltf-loader.js +0 -81
- package/dist/es5/gltf-loader.js.map +0 -1
- package/dist/es5/gltf-writer.js +0 -35
- package/dist/es5/gltf-writer.js.map +0 -1
- package/dist/es5/index.js +0 -88
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/api/gltf-extensions.js +0 -111
- package/dist/es5/lib/api/gltf-extensions.js.map +0 -1
- package/dist/es5/lib/api/gltf-scenegraph.js +0 -598
- package/dist/es5/lib/api/gltf-scenegraph.js.map +0 -1
- package/dist/es5/lib/api/normalize-gltf-v1.js +0 -331
- package/dist/es5/lib/api/normalize-gltf-v1.js.map +0 -1
- package/dist/es5/lib/api/post-process-gltf.js +0 -470
- package/dist/es5/lib/api/post-process-gltf.js.map +0 -1
- package/dist/es5/lib/encoders/encode-glb.js +0 -61
- package/dist/es5/lib/encoders/encode-glb.js.map +0 -1
- package/dist/es5/lib/encoders/encode-gltf.js +0 -20
- package/dist/es5/lib/encoders/encode-gltf.js.map +0 -1
- package/dist/es5/lib/extensions/EXT_mesh_features.js +0 -99
- package/dist/es5/lib/extensions/EXT_mesh_features.js.map +0 -1
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js +0 -94
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +0 -1
- package/dist/es5/lib/extensions/EXT_structural_metadata.js +0 -375
- package/dist/es5/lib/extensions/EXT_structural_metadata.js.map +0 -1
- package/dist/es5/lib/extensions/EXT_texture_webp.js +0 -43
- package/dist/es5/lib/extensions/EXT_texture_webp.js.map +0 -1
- package/dist/es5/lib/extensions/KHR_binary_gltf.js +0 -39
- package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +0 -1
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +0 -246
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
- package/dist/es5/lib/extensions/KHR_texture_basisu.js +0 -36
- package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +0 -1
- package/dist/es5/lib/extensions/KHR_texture_transform.js +0 -231
- package/dist/es5/lib/extensions/KHR_texture_transform.js.map +0 -1
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +0 -260
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +0 -1
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +0 -99
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +0 -76
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +0 -113
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
- package/dist/es5/lib/extensions/utils/3d-tiles-utils.js +0 -254
- package/dist/es5/lib/extensions/utils/3d-tiles-utils.js.map +0 -1
- package/dist/es5/lib/gltf-utils/get-typed-array.js +0 -23
- package/dist/es5/lib/gltf-utils/get-typed-array.js.map +0 -1
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +0 -68
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
- package/dist/es5/lib/gltf-utils/gltf-constants.js +0 -48
- package/dist/es5/lib/gltf-utils/gltf-constants.js.map +0 -1
- package/dist/es5/lib/gltf-utils/gltf-utils.js +0 -115
- package/dist/es5/lib/gltf-utils/gltf-utils.js.map +0 -1
- package/dist/es5/lib/gltf-utils/resolve-url.js +0 -18
- package/dist/es5/lib/gltf-utils/resolve-url.js.map +0 -1
- package/dist/es5/lib/parsers/parse-glb.js +0 -120
- package/dist/es5/lib/parsers/parse-glb.js.map +0 -1
- package/dist/es5/lib/parsers/parse-gltf.js +0 -283
- package/dist/es5/lib/parsers/parse-gltf.js.map +0 -1
- package/dist/es5/lib/types/glb-types.js +0 -2
- package/dist/es5/lib/types/glb-types.js.map +0 -1
- package/dist/es5/lib/types/gltf-ext-feature-metadata-schema.js +0 -2
- package/dist/es5/lib/types/gltf-ext-feature-metadata-schema.js.map +0 -1
- package/dist/es5/lib/types/gltf-ext-mesh-features-schema.js +0 -2
- package/dist/es5/lib/types/gltf-ext-mesh-features-schema.js.map +0 -1
- package/dist/es5/lib/types/gltf-ext-structural-metadata-schema.js +0 -2
- package/dist/es5/lib/types/gltf-ext-structural-metadata-schema.js.map +0 -1
- package/dist/es5/lib/types/gltf-json-schema.js +0 -2
- package/dist/es5/lib/types/gltf-json-schema.js.map +0 -1
- package/dist/es5/lib/types/gltf-postprocessed-schema.js +0 -2
- package/dist/es5/lib/types/gltf-postprocessed-schema.js.map +0 -1
- package/dist/es5/lib/types/gltf-types.js +0 -2
- package/dist/es5/lib/types/gltf-types.js.map +0 -1
- package/dist/es5/lib/utils/assert.js +0 -12
- package/dist/es5/lib/utils/assert.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/meshopt/meshopt-decoder.js +0 -215
- package/dist/es5/meshopt/meshopt-decoder.js.map +0 -1
- package/dist/es5/webp/webp.js +0 -83
- package/dist/es5/webp/webp.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/glb-loader.js.map +0 -1
- package/dist/esm/glb-writer.js.map +0 -1
- package/dist/esm/gltf-loader.js.map +0 -1
- package/dist/esm/gltf-writer.js.map +0 -1
- package/dist/esm/index.js +0 -13
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/api/gltf-extensions.js.map +0 -1
- package/dist/esm/lib/api/gltf-scenegraph.js.map +0 -1
- package/dist/esm/lib/api/normalize-gltf-v1.js.map +0 -1
- package/dist/esm/lib/api/post-process-gltf.js.map +0 -1
- package/dist/esm/lib/encoders/encode-glb.js.map +0 -1
- package/dist/esm/lib/encoders/encode-gltf.js.map +0 -1
- package/dist/esm/lib/extensions/EXT_mesh_features.js.map +0 -1
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +0 -1
- package/dist/esm/lib/extensions/EXT_structural_metadata.js.map +0 -1
- package/dist/esm/lib/extensions/EXT_texture_webp.js.map +0 -1
- package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +0 -1
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
- package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +0 -1
- package/dist/esm/lib/extensions/KHR_texture_transform.js.map +0 -1
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +0 -1
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
- package/dist/esm/lib/extensions/utils/3d-tiles-utils.js.map +0 -1
- package/dist/esm/lib/gltf-utils/get-typed-array.js +0 -16
- package/dist/esm/lib/gltf-utils/get-typed-array.js.map +0 -1
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
- package/dist/esm/lib/gltf-utils/gltf-constants.js.map +0 -1
- package/dist/esm/lib/gltf-utils/gltf-utils.js.map +0 -1
- package/dist/esm/lib/gltf-utils/resolve-url.js.map +0 -1
- package/dist/esm/lib/parsers/parse-glb.js.map +0 -1
- package/dist/esm/lib/parsers/parse-gltf.js.map +0 -1
- package/dist/esm/lib/types/glb-types.js.map +0 -1
- package/dist/esm/lib/types/gltf-ext-feature-metadata-schema.js.map +0 -1
- package/dist/esm/lib/types/gltf-ext-mesh-features-schema.js.map +0 -1
- package/dist/esm/lib/types/gltf-ext-structural-metadata-schema.js.map +0 -1
- package/dist/esm/lib/types/gltf-json-schema.js.map +0 -1
- package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +0 -1
- package/dist/esm/lib/types/gltf-types.js.map +0 -1
- package/dist/esm/lib/utils/assert.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/meshopt/meshopt-decoder.js.map +0 -1
- package/dist/esm/meshopt/meshopt-encoder.ts.disabled +0 -409
- package/dist/esm/webp/webp.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/lib → lib}/encoders/encode-glb.js +0 -0
- /package/dist/{esm/lib → lib}/gltf-utils/gltf-constants.js +0 -0
- /package/dist/{esm/lib → lib}/types/glb-types.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-ext-feature-metadata-schema.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-ext-mesh-features-schema.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-ext-structural-metadata-schema.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-json-schema.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-postprocessed-schema.js +0 -0
- /package/dist/{esm/lib → lib}/types/gltf-types.js +0 -0
- /package/dist/{esm/lib → lib}/utils/assert.js +0 -0
- /package/dist/{es5/meshopt → meshopt}/meshopt-encoder.ts.disabled +0 -0
|
@@ -1,598 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.GLTFScenegraph = void 0;
|
|
8
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _images = require("@loaders.gl/images");
|
|
13
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
14
|
-
var _assert = require("../utils/assert");
|
|
15
|
-
var _gltfUtils = require("../gltf-utils/gltf-utils");
|
|
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; } } }; }
|
|
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); }
|
|
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; }
|
|
19
|
-
function makeDefaultGLTFJson() {
|
|
20
|
-
return {
|
|
21
|
-
asset: {
|
|
22
|
-
version: '2.0',
|
|
23
|
-
generator: 'loaders.gl'
|
|
24
|
-
},
|
|
25
|
-
buffers: [],
|
|
26
|
-
extensions: {},
|
|
27
|
-
extensionsRequired: [],
|
|
28
|
-
extensionsUsed: []
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
var GLTFScenegraph = function () {
|
|
32
|
-
function GLTFScenegraph(gltf) {
|
|
33
|
-
(0, _classCallCheck2.default)(this, GLTFScenegraph);
|
|
34
|
-
(0, _defineProperty2.default)(this, "gltf", void 0);
|
|
35
|
-
(0, _defineProperty2.default)(this, "sourceBuffers", void 0);
|
|
36
|
-
(0, _defineProperty2.default)(this, "byteLength", void 0);
|
|
37
|
-
this.gltf = {
|
|
38
|
-
json: (gltf === null || gltf === void 0 ? void 0 : gltf.json) || makeDefaultGLTFJson(),
|
|
39
|
-
buffers: (gltf === null || gltf === void 0 ? void 0 : gltf.buffers) || [],
|
|
40
|
-
images: (gltf === null || gltf === void 0 ? void 0 : gltf.images) || []
|
|
41
|
-
};
|
|
42
|
-
this.sourceBuffers = [];
|
|
43
|
-
this.byteLength = 0;
|
|
44
|
-
if (this.gltf.buffers && this.gltf.buffers[0]) {
|
|
45
|
-
this.byteLength = this.gltf.buffers[0].byteLength;
|
|
46
|
-
this.sourceBuffers = [this.gltf.buffers[0]];
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
(0, _createClass2.default)(GLTFScenegraph, [{
|
|
50
|
-
key: "json",
|
|
51
|
-
get: function get() {
|
|
52
|
-
return this.gltf.json;
|
|
53
|
-
}
|
|
54
|
-
}, {
|
|
55
|
-
key: "getApplicationData",
|
|
56
|
-
value: function getApplicationData(key) {
|
|
57
|
-
var data = this.json[key];
|
|
58
|
-
return data;
|
|
59
|
-
}
|
|
60
|
-
}, {
|
|
61
|
-
key: "getExtraData",
|
|
62
|
-
value: function getExtraData(key) {
|
|
63
|
-
var extras = this.json.extras || {};
|
|
64
|
-
return extras[key];
|
|
65
|
-
}
|
|
66
|
-
}, {
|
|
67
|
-
key: "hasExtension",
|
|
68
|
-
value: function hasExtension(extensionName) {
|
|
69
|
-
var isUsedExtension = this.getUsedExtensions().find(function (name) {
|
|
70
|
-
return name === extensionName;
|
|
71
|
-
});
|
|
72
|
-
var isRequiredExtension = this.getRequiredExtensions().find(function (name) {
|
|
73
|
-
return name === extensionName;
|
|
74
|
-
});
|
|
75
|
-
return typeof isUsedExtension === 'string' || typeof isRequiredExtension === 'string';
|
|
76
|
-
}
|
|
77
|
-
}, {
|
|
78
|
-
key: "getExtension",
|
|
79
|
-
value: function getExtension(extensionName) {
|
|
80
|
-
var isExtension = this.getUsedExtensions().find(function (name) {
|
|
81
|
-
return name === extensionName;
|
|
82
|
-
});
|
|
83
|
-
var extensions = this.json.extensions || {};
|
|
84
|
-
return isExtension ? extensions[extensionName] : null;
|
|
85
|
-
}
|
|
86
|
-
}, {
|
|
87
|
-
key: "getRequiredExtension",
|
|
88
|
-
value: function getRequiredExtension(extensionName) {
|
|
89
|
-
var isRequired = this.getRequiredExtensions().find(function (name) {
|
|
90
|
-
return name === extensionName;
|
|
91
|
-
});
|
|
92
|
-
return isRequired ? this.getExtension(extensionName) : null;
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
|
-
key: "getRequiredExtensions",
|
|
96
|
-
value: function getRequiredExtensions() {
|
|
97
|
-
return this.json.extensionsRequired || [];
|
|
98
|
-
}
|
|
99
|
-
}, {
|
|
100
|
-
key: "getUsedExtensions",
|
|
101
|
-
value: function getUsedExtensions() {
|
|
102
|
-
return this.json.extensionsUsed || [];
|
|
103
|
-
}
|
|
104
|
-
}, {
|
|
105
|
-
key: "getRemovedExtensions",
|
|
106
|
-
value: function getRemovedExtensions() {
|
|
107
|
-
return this.json.extensionsRemoved || [];
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "getObjectExtension",
|
|
111
|
-
value: function getObjectExtension(object, extensionName) {
|
|
112
|
-
var extensions = object.extensions || {};
|
|
113
|
-
return extensions[extensionName];
|
|
114
|
-
}
|
|
115
|
-
}, {
|
|
116
|
-
key: "getScene",
|
|
117
|
-
value: function getScene(index) {
|
|
118
|
-
return this.getObject('scenes', index);
|
|
119
|
-
}
|
|
120
|
-
}, {
|
|
121
|
-
key: "getNode",
|
|
122
|
-
value: function getNode(index) {
|
|
123
|
-
return this.getObject('nodes', index);
|
|
124
|
-
}
|
|
125
|
-
}, {
|
|
126
|
-
key: "getSkin",
|
|
127
|
-
value: function getSkin(index) {
|
|
128
|
-
return this.getObject('skins', index);
|
|
129
|
-
}
|
|
130
|
-
}, {
|
|
131
|
-
key: "getMesh",
|
|
132
|
-
value: function getMesh(index) {
|
|
133
|
-
return this.getObject('meshes', index);
|
|
134
|
-
}
|
|
135
|
-
}, {
|
|
136
|
-
key: "getMaterial",
|
|
137
|
-
value: function getMaterial(index) {
|
|
138
|
-
return this.getObject('materials', index);
|
|
139
|
-
}
|
|
140
|
-
}, {
|
|
141
|
-
key: "getAccessor",
|
|
142
|
-
value: function getAccessor(index) {
|
|
143
|
-
return this.getObject('accessors', index);
|
|
144
|
-
}
|
|
145
|
-
}, {
|
|
146
|
-
key: "getTexture",
|
|
147
|
-
value: function getTexture(index) {
|
|
148
|
-
return this.getObject('textures', index);
|
|
149
|
-
}
|
|
150
|
-
}, {
|
|
151
|
-
key: "getSampler",
|
|
152
|
-
value: function getSampler(index) {
|
|
153
|
-
return this.getObject('samplers', index);
|
|
154
|
-
}
|
|
155
|
-
}, {
|
|
156
|
-
key: "getImage",
|
|
157
|
-
value: function getImage(index) {
|
|
158
|
-
return this.getObject('images', index);
|
|
159
|
-
}
|
|
160
|
-
}, {
|
|
161
|
-
key: "getBufferView",
|
|
162
|
-
value: function getBufferView(index) {
|
|
163
|
-
return this.getObject('bufferViews', index);
|
|
164
|
-
}
|
|
165
|
-
}, {
|
|
166
|
-
key: "getBuffer",
|
|
167
|
-
value: function getBuffer(index) {
|
|
168
|
-
return this.getObject('buffers', index);
|
|
169
|
-
}
|
|
170
|
-
}, {
|
|
171
|
-
key: "getObject",
|
|
172
|
-
value: function getObject(array, index) {
|
|
173
|
-
if ((0, _typeof2.default)(index) === 'object') {
|
|
174
|
-
return index;
|
|
175
|
-
}
|
|
176
|
-
var object = this.json[array] && this.json[array][index];
|
|
177
|
-
if (!object) {
|
|
178
|
-
throw new Error("glTF file error: Could not find ".concat(array, "[").concat(index, "]"));
|
|
179
|
-
}
|
|
180
|
-
return object;
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
|
-
key: "getTypedArrayForBufferView",
|
|
184
|
-
value: function getTypedArrayForBufferView(bufferView) {
|
|
185
|
-
bufferView = this.getBufferView(bufferView);
|
|
186
|
-
var bufferIndex = bufferView.buffer;
|
|
187
|
-
var binChunk = this.gltf.buffers[bufferIndex];
|
|
188
|
-
(0, _assert.assert)(binChunk);
|
|
189
|
-
var byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;
|
|
190
|
-
return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);
|
|
191
|
-
}
|
|
192
|
-
}, {
|
|
193
|
-
key: "getTypedArrayForAccessor",
|
|
194
|
-
value: function getTypedArrayForAccessor(accessor) {
|
|
195
|
-
accessor = this.getAccessor(accessor);
|
|
196
|
-
var bufferView = this.getBufferView(accessor.bufferView);
|
|
197
|
-
var buffer = this.getBuffer(bufferView.buffer);
|
|
198
|
-
var arrayBuffer = buffer.data;
|
|
199
|
-
var _getAccessorArrayType = (0, _gltfUtils.getAccessorArrayTypeAndLength)(accessor, bufferView),
|
|
200
|
-
ArrayType = _getAccessorArrayType.ArrayType,
|
|
201
|
-
length = _getAccessorArrayType.length;
|
|
202
|
-
var byteOffset = bufferView.byteOffset + accessor.byteOffset;
|
|
203
|
-
return new ArrayType(arrayBuffer, byteOffset, length);
|
|
204
|
-
}
|
|
205
|
-
}, {
|
|
206
|
-
key: "getTypedArrayForImageData",
|
|
207
|
-
value: function getTypedArrayForImageData(image) {
|
|
208
|
-
image = this.getAccessor(image);
|
|
209
|
-
var bufferView = this.getBufferView(image.bufferView);
|
|
210
|
-
var buffer = this.getBuffer(bufferView.buffer);
|
|
211
|
-
var arrayBuffer = buffer.data;
|
|
212
|
-
var byteOffset = bufferView.byteOffset || 0;
|
|
213
|
-
return new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
|
|
214
|
-
}
|
|
215
|
-
}, {
|
|
216
|
-
key: "addApplicationData",
|
|
217
|
-
value: function addApplicationData(key, data) {
|
|
218
|
-
this.json[key] = data;
|
|
219
|
-
return this;
|
|
220
|
-
}
|
|
221
|
-
}, {
|
|
222
|
-
key: "addExtraData",
|
|
223
|
-
value: function addExtraData(key, data) {
|
|
224
|
-
this.json.extras = this.json.extras || {};
|
|
225
|
-
this.json.extras[key] = data;
|
|
226
|
-
return this;
|
|
227
|
-
}
|
|
228
|
-
}, {
|
|
229
|
-
key: "addObjectExtension",
|
|
230
|
-
value: function addObjectExtension(object, extensionName, data) {
|
|
231
|
-
object.extensions = object.extensions || {};
|
|
232
|
-
object.extensions[extensionName] = data;
|
|
233
|
-
this.registerUsedExtension(extensionName);
|
|
234
|
-
return this;
|
|
235
|
-
}
|
|
236
|
-
}, {
|
|
237
|
-
key: "setObjectExtension",
|
|
238
|
-
value: function setObjectExtension(object, extensionName, data) {
|
|
239
|
-
var extensions = object.extensions || {};
|
|
240
|
-
extensions[extensionName] = data;
|
|
241
|
-
}
|
|
242
|
-
}, {
|
|
243
|
-
key: "removeObjectExtension",
|
|
244
|
-
value: function removeObjectExtension(object, extensionName) {
|
|
245
|
-
var extensions = (object === null || object === void 0 ? void 0 : object.extensions) || {};
|
|
246
|
-
if (extensions[extensionName]) {
|
|
247
|
-
this.json.extensionsRemoved = this.json.extensionsRemoved || [];
|
|
248
|
-
var extensionsRemoved = this.json.extensionsRemoved;
|
|
249
|
-
if (!extensionsRemoved.includes(extensionName)) {
|
|
250
|
-
extensionsRemoved.push(extensionName);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
delete extensions[extensionName];
|
|
254
|
-
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "addExtension",
|
|
257
|
-
value: function addExtension(extensionName) {
|
|
258
|
-
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
259
|
-
(0, _assert.assert)(extensionData);
|
|
260
|
-
this.json.extensions = this.json.extensions || {};
|
|
261
|
-
this.json.extensions[extensionName] = extensionData;
|
|
262
|
-
this.registerUsedExtension(extensionName);
|
|
263
|
-
return extensionData;
|
|
264
|
-
}
|
|
265
|
-
}, {
|
|
266
|
-
key: "addRequiredExtension",
|
|
267
|
-
value: function addRequiredExtension(extensionName) {
|
|
268
|
-
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
269
|
-
(0, _assert.assert)(extensionData);
|
|
270
|
-
this.addExtension(extensionName, extensionData);
|
|
271
|
-
this.registerRequiredExtension(extensionName);
|
|
272
|
-
return extensionData;
|
|
273
|
-
}
|
|
274
|
-
}, {
|
|
275
|
-
key: "registerUsedExtension",
|
|
276
|
-
value: function registerUsedExtension(extensionName) {
|
|
277
|
-
this.json.extensionsUsed = this.json.extensionsUsed || [];
|
|
278
|
-
if (!this.json.extensionsUsed.find(function (ext) {
|
|
279
|
-
return ext === extensionName;
|
|
280
|
-
})) {
|
|
281
|
-
this.json.extensionsUsed.push(extensionName);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}, {
|
|
285
|
-
key: "registerRequiredExtension",
|
|
286
|
-
value: function registerRequiredExtension(extensionName) {
|
|
287
|
-
this.registerUsedExtension(extensionName);
|
|
288
|
-
this.json.extensionsRequired = this.json.extensionsRequired || [];
|
|
289
|
-
if (!this.json.extensionsRequired.find(function (ext) {
|
|
290
|
-
return ext === extensionName;
|
|
291
|
-
})) {
|
|
292
|
-
this.json.extensionsRequired.push(extensionName);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
}, {
|
|
296
|
-
key: "removeExtension",
|
|
297
|
-
value: function removeExtension(extensionName) {
|
|
298
|
-
var _this$json$extensions;
|
|
299
|
-
if ((_this$json$extensions = this.json.extensions) !== null && _this$json$extensions !== void 0 && _this$json$extensions[extensionName]) {
|
|
300
|
-
this.json.extensionsRemoved = this.json.extensionsRemoved || [];
|
|
301
|
-
var extensionsRemoved = this.json.extensionsRemoved;
|
|
302
|
-
if (!extensionsRemoved.includes(extensionName)) {
|
|
303
|
-
extensionsRemoved.push(extensionName);
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
if (this.json.extensions) {
|
|
307
|
-
delete this.json.extensions[extensionName];
|
|
308
|
-
}
|
|
309
|
-
if (this.json.extensionsRequired) {
|
|
310
|
-
this._removeStringFromArray(this.json.extensionsRequired, extensionName);
|
|
311
|
-
}
|
|
312
|
-
if (this.json.extensionsUsed) {
|
|
313
|
-
this._removeStringFromArray(this.json.extensionsUsed, extensionName);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
}, {
|
|
317
|
-
key: "setDefaultScene",
|
|
318
|
-
value: function setDefaultScene(sceneIndex) {
|
|
319
|
-
this.json.scene = sceneIndex;
|
|
320
|
-
}
|
|
321
|
-
}, {
|
|
322
|
-
key: "addScene",
|
|
323
|
-
value: function addScene(scene) {
|
|
324
|
-
var nodeIndices = scene.nodeIndices;
|
|
325
|
-
this.json.scenes = this.json.scenes || [];
|
|
326
|
-
this.json.scenes.push({
|
|
327
|
-
nodes: nodeIndices
|
|
328
|
-
});
|
|
329
|
-
return this.json.scenes.length - 1;
|
|
330
|
-
}
|
|
331
|
-
}, {
|
|
332
|
-
key: "addNode",
|
|
333
|
-
value: function addNode(node) {
|
|
334
|
-
var meshIndex = node.meshIndex,
|
|
335
|
-
matrix = node.matrix;
|
|
336
|
-
this.json.nodes = this.json.nodes || [];
|
|
337
|
-
var nodeData = {
|
|
338
|
-
mesh: meshIndex
|
|
339
|
-
};
|
|
340
|
-
if (matrix) {
|
|
341
|
-
nodeData.matrix = matrix;
|
|
342
|
-
}
|
|
343
|
-
this.json.nodes.push(nodeData);
|
|
344
|
-
return this.json.nodes.length - 1;
|
|
345
|
-
}
|
|
346
|
-
}, {
|
|
347
|
-
key: "addMesh",
|
|
348
|
-
value: function addMesh(mesh) {
|
|
349
|
-
var attributes = mesh.attributes,
|
|
350
|
-
indices = mesh.indices,
|
|
351
|
-
material = mesh.material,
|
|
352
|
-
_mesh$mode = mesh.mode,
|
|
353
|
-
mode = _mesh$mode === void 0 ? 4 : _mesh$mode;
|
|
354
|
-
var accessors = this._addAttributes(attributes);
|
|
355
|
-
var glTFMesh = {
|
|
356
|
-
primitives: [{
|
|
357
|
-
attributes: accessors,
|
|
358
|
-
mode: mode
|
|
359
|
-
}]
|
|
360
|
-
};
|
|
361
|
-
if (indices) {
|
|
362
|
-
var indicesAccessor = this._addIndices(indices);
|
|
363
|
-
glTFMesh.primitives[0].indices = indicesAccessor;
|
|
364
|
-
}
|
|
365
|
-
if (Number.isFinite(material)) {
|
|
366
|
-
glTFMesh.primitives[0].material = material;
|
|
367
|
-
}
|
|
368
|
-
this.json.meshes = this.json.meshes || [];
|
|
369
|
-
this.json.meshes.push(glTFMesh);
|
|
370
|
-
return this.json.meshes.length - 1;
|
|
371
|
-
}
|
|
372
|
-
}, {
|
|
373
|
-
key: "addPointCloud",
|
|
374
|
-
value: function addPointCloud(attributes) {
|
|
375
|
-
var accessorIndices = this._addAttributes(attributes);
|
|
376
|
-
var glTFMesh = {
|
|
377
|
-
primitives: [{
|
|
378
|
-
attributes: accessorIndices,
|
|
379
|
-
mode: 0
|
|
380
|
-
}]
|
|
381
|
-
};
|
|
382
|
-
this.json.meshes = this.json.meshes || [];
|
|
383
|
-
this.json.meshes.push(glTFMesh);
|
|
384
|
-
return this.json.meshes.length - 1;
|
|
385
|
-
}
|
|
386
|
-
}, {
|
|
387
|
-
key: "addImage",
|
|
388
|
-
value: function addImage(imageData, mimeTypeOpt) {
|
|
389
|
-
var metadata = (0, _images.getBinaryImageMetadata)(imageData);
|
|
390
|
-
var mimeType = mimeTypeOpt || (metadata === null || metadata === void 0 ? void 0 : metadata.mimeType);
|
|
391
|
-
var bufferViewIndex = this.addBufferView(imageData);
|
|
392
|
-
var glTFImage = {
|
|
393
|
-
bufferView: bufferViewIndex,
|
|
394
|
-
mimeType: mimeType
|
|
395
|
-
};
|
|
396
|
-
this.json.images = this.json.images || [];
|
|
397
|
-
this.json.images.push(glTFImage);
|
|
398
|
-
return this.json.images.length - 1;
|
|
399
|
-
}
|
|
400
|
-
}, {
|
|
401
|
-
key: "addBufferView",
|
|
402
|
-
value: function addBufferView(buffer) {
|
|
403
|
-
var bufferIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
404
|
-
var byteOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.byteLength;
|
|
405
|
-
var byteLength = buffer.byteLength;
|
|
406
|
-
(0, _assert.assert)(Number.isFinite(byteLength));
|
|
407
|
-
this.sourceBuffers = this.sourceBuffers || [];
|
|
408
|
-
this.sourceBuffers.push(buffer);
|
|
409
|
-
var glTFBufferView = {
|
|
410
|
-
buffer: bufferIndex,
|
|
411
|
-
byteOffset: byteOffset,
|
|
412
|
-
byteLength: byteLength
|
|
413
|
-
};
|
|
414
|
-
this.byteLength += (0, _loaderUtils.padToNBytes)(byteLength, 4);
|
|
415
|
-
this.json.bufferViews = this.json.bufferViews || [];
|
|
416
|
-
this.json.bufferViews.push(glTFBufferView);
|
|
417
|
-
return this.json.bufferViews.length - 1;
|
|
418
|
-
}
|
|
419
|
-
}, {
|
|
420
|
-
key: "addAccessor",
|
|
421
|
-
value: function addAccessor(bufferViewIndex, accessor) {
|
|
422
|
-
var glTFAccessor = {
|
|
423
|
-
bufferView: bufferViewIndex,
|
|
424
|
-
type: (0, _gltfUtils.getAccessorTypeFromSize)(accessor.size),
|
|
425
|
-
componentType: accessor.componentType,
|
|
426
|
-
count: accessor.count,
|
|
427
|
-
max: accessor.max,
|
|
428
|
-
min: accessor.min
|
|
429
|
-
};
|
|
430
|
-
this.json.accessors = this.json.accessors || [];
|
|
431
|
-
this.json.accessors.push(glTFAccessor);
|
|
432
|
-
return this.json.accessors.length - 1;
|
|
433
|
-
}
|
|
434
|
-
}, {
|
|
435
|
-
key: "addBinaryBuffer",
|
|
436
|
-
value: function addBinaryBuffer(sourceBuffer) {
|
|
437
|
-
var accessor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
438
|
-
size: 3
|
|
439
|
-
};
|
|
440
|
-
var bufferViewIndex = this.addBufferView(sourceBuffer);
|
|
441
|
-
var minMax = {
|
|
442
|
-
min: accessor.min,
|
|
443
|
-
max: accessor.max
|
|
444
|
-
};
|
|
445
|
-
if (!minMax.min || !minMax.max) {
|
|
446
|
-
minMax = this._getAccessorMinMax(sourceBuffer, accessor.size);
|
|
447
|
-
}
|
|
448
|
-
var accessorDefaults = {
|
|
449
|
-
size: accessor.size,
|
|
450
|
-
componentType: (0, _gltfUtils.getComponentTypeFromArray)(sourceBuffer),
|
|
451
|
-
count: Math.round(sourceBuffer.length / accessor.size),
|
|
452
|
-
min: minMax.min,
|
|
453
|
-
max: minMax.max
|
|
454
|
-
};
|
|
455
|
-
return this.addAccessor(bufferViewIndex, Object.assign(accessorDefaults, accessor));
|
|
456
|
-
}
|
|
457
|
-
}, {
|
|
458
|
-
key: "addTexture",
|
|
459
|
-
value: function addTexture(texture) {
|
|
460
|
-
var imageIndex = texture.imageIndex;
|
|
461
|
-
var glTFTexture = {
|
|
462
|
-
source: imageIndex
|
|
463
|
-
};
|
|
464
|
-
this.json.textures = this.json.textures || [];
|
|
465
|
-
this.json.textures.push(glTFTexture);
|
|
466
|
-
return this.json.textures.length - 1;
|
|
467
|
-
}
|
|
468
|
-
}, {
|
|
469
|
-
key: "addMaterial",
|
|
470
|
-
value: function addMaterial(pbrMaterialInfo) {
|
|
471
|
-
this.json.materials = this.json.materials || [];
|
|
472
|
-
this.json.materials.push(pbrMaterialInfo);
|
|
473
|
-
return this.json.materials.length - 1;
|
|
474
|
-
}
|
|
475
|
-
}, {
|
|
476
|
-
key: "createBinaryChunk",
|
|
477
|
-
value: function createBinaryChunk() {
|
|
478
|
-
var _this$json, _this$json$buffers;
|
|
479
|
-
this.gltf.buffers = [];
|
|
480
|
-
var totalByteLength = this.byteLength;
|
|
481
|
-
var arrayBuffer = new ArrayBuffer(totalByteLength);
|
|
482
|
-
var targetArray = new Uint8Array(arrayBuffer);
|
|
483
|
-
var dstByteOffset = 0;
|
|
484
|
-
var _iterator = _createForOfIteratorHelper(this.sourceBuffers || []),
|
|
485
|
-
_step;
|
|
486
|
-
try {
|
|
487
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
488
|
-
var sourceBuffer = _step.value;
|
|
489
|
-
dstByteOffset = (0, _loaderUtils.copyToArray)(sourceBuffer, targetArray, dstByteOffset);
|
|
490
|
-
}
|
|
491
|
-
} catch (err) {
|
|
492
|
-
_iterator.e(err);
|
|
493
|
-
} finally {
|
|
494
|
-
_iterator.f();
|
|
495
|
-
}
|
|
496
|
-
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]) {
|
|
497
|
-
this.json.buffers[0].byteLength = totalByteLength;
|
|
498
|
-
} else {
|
|
499
|
-
this.json.buffers = [{
|
|
500
|
-
byteLength: totalByteLength
|
|
501
|
-
}];
|
|
502
|
-
}
|
|
503
|
-
this.gltf.binary = arrayBuffer;
|
|
504
|
-
this.sourceBuffers = [arrayBuffer];
|
|
505
|
-
}
|
|
506
|
-
}, {
|
|
507
|
-
key: "_removeStringFromArray",
|
|
508
|
-
value: function _removeStringFromArray(array, string) {
|
|
509
|
-
var found = true;
|
|
510
|
-
while (found) {
|
|
511
|
-
var index = array.indexOf(string);
|
|
512
|
-
if (index > -1) {
|
|
513
|
-
array.splice(index, 1);
|
|
514
|
-
} else {
|
|
515
|
-
found = false;
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
}, {
|
|
520
|
-
key: "_addAttributes",
|
|
521
|
-
value: function _addAttributes() {
|
|
522
|
-
var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
523
|
-
var result = {};
|
|
524
|
-
for (var attributeKey in attributes) {
|
|
525
|
-
var attributeData = attributes[attributeKey];
|
|
526
|
-
var attrName = this._getGltfAttributeName(attributeKey);
|
|
527
|
-
var accessor = this.addBinaryBuffer(attributeData.value, attributeData);
|
|
528
|
-
result[attrName] = accessor;
|
|
529
|
-
}
|
|
530
|
-
return result;
|
|
531
|
-
}
|
|
532
|
-
}, {
|
|
533
|
-
key: "_addIndices",
|
|
534
|
-
value: function _addIndices(indices) {
|
|
535
|
-
return this.addBinaryBuffer(indices, {
|
|
536
|
-
size: 1
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
}, {
|
|
540
|
-
key: "_getGltfAttributeName",
|
|
541
|
-
value: function _getGltfAttributeName(attributeName) {
|
|
542
|
-
switch (attributeName.toLowerCase()) {
|
|
543
|
-
case 'position':
|
|
544
|
-
case 'positions':
|
|
545
|
-
case 'vertices':
|
|
546
|
-
return 'POSITION';
|
|
547
|
-
case 'normal':
|
|
548
|
-
case 'normals':
|
|
549
|
-
return 'NORMAL';
|
|
550
|
-
case 'color':
|
|
551
|
-
case 'colors':
|
|
552
|
-
return 'COLOR_0';
|
|
553
|
-
case 'texcoord':
|
|
554
|
-
case 'texcoords':
|
|
555
|
-
return 'TEXCOORD_0';
|
|
556
|
-
default:
|
|
557
|
-
return attributeName;
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
}, {
|
|
561
|
-
key: "_getAccessorMinMax",
|
|
562
|
-
value: function _getAccessorMinMax(buffer, size) {
|
|
563
|
-
var result = {
|
|
564
|
-
min: null,
|
|
565
|
-
max: null
|
|
566
|
-
};
|
|
567
|
-
if (buffer.length < size) {
|
|
568
|
-
return result;
|
|
569
|
-
}
|
|
570
|
-
result.min = [];
|
|
571
|
-
result.max = [];
|
|
572
|
-
var initValues = buffer.subarray(0, size);
|
|
573
|
-
var _iterator2 = _createForOfIteratorHelper(initValues),
|
|
574
|
-
_step2;
|
|
575
|
-
try {
|
|
576
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
577
|
-
var value = _step2.value;
|
|
578
|
-
result.min.push(value);
|
|
579
|
-
result.max.push(value);
|
|
580
|
-
}
|
|
581
|
-
} catch (err) {
|
|
582
|
-
_iterator2.e(err);
|
|
583
|
-
} finally {
|
|
584
|
-
_iterator2.f();
|
|
585
|
-
}
|
|
586
|
-
for (var index = size; index < buffer.length; index += size) {
|
|
587
|
-
for (var componentIndex = 0; componentIndex < size; componentIndex++) {
|
|
588
|
-
result.min[0 + componentIndex] = Math.min(result.min[0 + componentIndex], buffer[index + componentIndex]);
|
|
589
|
-
result.max[0 + componentIndex] = Math.max(result.max[0 + componentIndex], buffer[index + componentIndex]);
|
|
590
|
-
}
|
|
591
|
-
}
|
|
592
|
-
return result;
|
|
593
|
-
}
|
|
594
|
-
}]);
|
|
595
|
-
return GLTFScenegraph;
|
|
596
|
-
}();
|
|
597
|
-
exports.GLTFScenegraph = GLTFScenegraph;
|
|
598
|
-
//# sourceMappingURL=gltf-scenegraph.js.map
|