@loaders.gl/3d-tiles 4.0.0-beta.2 → 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/3d-tiles-archive/3d-tiles-archive-archive.d.ts +3 -4
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.d.ts.map +1 -1
- package/dist/{esm/3d-tiles-archive → 3d-tiles-archive}/3d-tiles-archive-archive.js +12 -12
- package/dist/3d-tiles-archive/3d-tiles-archive-archive.js.map +1 -0
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.d.ts.map +1 -1
- package/dist/{esm/3d-tiles-archive → 3d-tiles-archive}/3d-tiles-archive-parser.js +8 -10
- package/dist/3d-tiles-archive/3d-tiles-archive-parser.js.map +1 -0
- package/dist/{esm/3d-tiles-archive-loader.js → 3d-tiles-archive-loader.js} +2 -2
- package/dist/3d-tiles-archive-loader.js.map +1 -0
- package/dist/{esm/cesium-ion-loader.js → cesium-ion-loader.js} +2 -2
- package/dist/cesium-ion-loader.js.map +1 -0
- package/dist/{dist.min.js → dist.dev.js} +17589 -18674
- package/dist/index.cjs +2837 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/classes/tile-3d-batch-table-hierarchy.js +1 -1
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/{esm/lib → lib}/classes/tile-3d-batch-table.js +12 -13
- package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/{esm/lib → lib}/classes/tile-3d-feature-table.js +4 -5
- package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-3d-tile-batched-model.js +2 -2
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-3d-tile-composite.js +2 -2
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-3d-tile-instanced-model.js +2 -2
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-3d-tile-point-cloud.js +2 -2
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/{esm/lib → lib}/encoders/encode-3d-tile.js +5 -5
- package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts +3 -3
- package/dist/lib/filesystems/tiles-3d-archive-file-system.d.ts.map +1 -1
- package/dist/{esm/lib → lib}/filesystems/tiles-3d-archive-file-system.js +13 -14
- package/dist/lib/filesystems/tiles-3d-archive-file-system.js.map +1 -0
- package/dist/{esm/lib → lib}/ion/ion.js +6 -6
- package/dist/lib/ion/ion.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-3d-implicit-tiles.js +8 -8
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-3d-tile-gltf-view.js +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-3d-tile-header.js +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-3d-tile-subtree.js +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-3d-tile-tables.js +1 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/helpers/parse-utils.js +5 -1
- package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile-batched-model.js +4 -4
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile-composite.js +1 -1
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile-header.js +5 -5
- package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile-instanced-model.js +6 -6
- package/dist/{es5/lib → lib}/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile-point-cloud.js +7 -7
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/{esm/lib → lib}/parsers/parse-3d-tile.js +8 -8
- package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/obb/s2-corners-to-obb.js +2 -2
- package/dist/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/s2/converters/s2-to-boundary.js +1 -1
- package/dist/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/s2/converters/s2-to-obb-points.js +2 -2
- package/dist/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/s2/converters/s2-to-region.js +3 -3
- package/dist/lib/utils/s2/converters/s2-to-region.js.map +1 -0
- package/dist/lib/utils/s2/index.js +7 -0
- package/dist/lib/utils/s2/index.js.map +1 -0
- package/dist/lib/utils/s2/s2-geometry-functions.js +12 -0
- package/dist/lib/utils/s2/s2-geometry-functions.js.map +1 -0
- package/dist/lib/utils/s2/s2-token-functions.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/s2/s2geometry/s2-cell-utils.js +2 -2
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
- package/dist/{esm/lib → lib}/utils/s2/s2geometry/s2-geometry.js +5 -5
- package/dist/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
- package/dist/lib/utils/version.js +2 -0
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/{esm/tile-3d-subtree-loader.js → tile-3d-subtree-loader.js} +2 -2
- package/dist/tile-3d-subtree-loader.js.map +1 -0
- package/dist/{esm/tile-3d-writer.js → tile-3d-writer.js} +2 -2
- package/dist/tile-3d-writer.js.map +1 -0
- package/dist/{esm/tiles-3d-loader.js → tiles-3d-loader.js} +3 -3
- package/dist/tiles-3d-loader.js.map +1 -0
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -0
- package/package.json +22 -14
- package/src/3d-tiles-archive/3d-tiles-archive-archive.ts +12 -11
- package/src/3d-tiles-archive/3d-tiles-archive-parser.ts +11 -11
- package/src/lib/filesystems/tiles-3d-archive-file-system.ts +11 -12
- package/src/types.ts +4 -4
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js +0 -126
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-archive.js.map +0 -1
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-parser.js +0 -69
- package/dist/es5/3d-tiles-archive/3d-tiles-archive-parser.js.map +0 -1
- package/dist/es5/3d-tiles-archive-loader.js +0 -50
- package/dist/es5/3d-tiles-archive-loader.js.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/cesium-ion-loader.js +0 -77
- package/dist/es5/cesium-ion-loader.js.map +0 -1
- package/dist/es5/index.js +0 -77
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +0 -114
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +0 -180
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +0 -285
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +0 -97
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/es5/lib/constants.js +0 -32
- package/dist/es5/lib/constants.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +0 -49
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +0 -30
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +0 -47
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +0 -48
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +0 -35
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +0 -35
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js +0 -151
- package/dist/es5/lib/filesystems/tiles-3d-archive-file-system.js.map +0 -1
- package/dist/es5/lib/ion/ion.js +0 -164
- package/dist/es5/lib/ion/ion.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -65
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -32
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -32
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -305
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -110
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +0 -22
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -160
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +0 -85
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +0 -28
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -51
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +0 -50
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -54
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +0 -291
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +0 -163
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +0 -295
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +0 -76
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js +0 -30
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js.map +0 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js +0 -44
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js.map +0 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js +0 -30
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js.map +0 -1
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js +0 -52
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js.map +0 -1
- package/dist/es5/lib/utils/s2/index.js +0 -90
- package/dist/es5/lib/utils/s2/index.js.map +0 -1
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js +0 -19
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js.map +0 -1
- package/dist/es5/lib/utils/s2/s2-token-functions.js +0 -41
- package/dist/es5/lib/utils/s2/s2-token-functions.js.map +0 -1
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js +0 -22
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js.map +0 -1
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js +0 -207
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.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/tile-3d-subtree-loader.js +0 -22
- package/dist/es5/tile-3d-subtree-loader.js.map +0 -1
- package/dist/es5/tile-3d-writer.js +0 -26
- package/dist/es5/tile-3d-writer.js.map +0 -1
- package/dist/es5/tiles-3d-loader.js +0 -135
- package/dist/es5/tiles-3d-loader.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/es5/types.js.map +0 -1
- package/dist/esm/3d-tiles-archive/3d-tiles-archive-archive.js.map +0 -1
- package/dist/esm/3d-tiles-archive/3d-tiles-archive-parser.js.map +0 -1
- package/dist/esm/3d-tiles-archive-loader.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/cesium-ion-loader.js.map +0 -1
- package/dist/esm/index.js +0 -11
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/esm/lib/constants.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/filesystems/tiles-3d-archive-file-system.js.map +0 -1
- package/dist/esm/lib/ion/ion.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/esm/lib/utils/obb/s2-corners-to-obb.js.map +0 -1
- package/dist/esm/lib/utils/s2/converters/s2-to-boundary.js.map +0 -1
- package/dist/esm/lib/utils/s2/converters/s2-to-obb-points.js.map +0 -1
- package/dist/esm/lib/utils/s2/converters/s2-to-region.js.map +0 -1
- package/dist/esm/lib/utils/s2/index.js +0 -7
- package/dist/esm/lib/utils/s2/index.js.map +0 -1
- package/dist/esm/lib/utils/s2/s2-geometry-functions.js +0 -12
- package/dist/esm/lib/utils/s2/s2-geometry-functions.js.map +0 -1
- package/dist/esm/lib/utils/s2/s2-token-functions.js.map +0 -1
- package/dist/esm/lib/utils/s2/s2geometry/s2-cell-utils.js.map +0 -1
- package/dist/esm/lib/utils/s2/s2geometry/s2-geometry.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/tile-3d-subtree-loader.js.map +0 -1
- package/dist/esm/tile-3d-writer.js.map +0 -1
- package/dist/esm/tiles-3d-loader.js.map +0 -1
- package/dist/esm/types.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/lib → lib}/classes/helpers/tile-3d-accessor-utils.js +0 -0
- /package/dist/{esm/lib → lib}/constants.js +0 -0
- /package/dist/{esm/lib → lib}/encoders/helpers/encode-3d-tile-header.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/helpers/normalize-3d-tile-colors.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/helpers/normalize-3d-tile-normals.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/helpers/normalize-3d-tile-positions.js +0 -0
- /package/dist/{esm/lib → lib}/parsers/parse-3d-tile-gltf.js +0 -0
- /package/dist/{esm/lib → lib}/utils/s2/s2-token-functions.js +0 -0
- /package/dist/{esm/types.js → types.js} +0 -0
|
@@ -1,291 +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.normalizeImplicitTileData = normalizeImplicitTileData;
|
|
8
|
-
exports.normalizeImplicitTileHeaders = normalizeImplicitTileHeaders;
|
|
9
|
-
exports.normalizeTileData = normalizeTileData;
|
|
10
|
-
exports.normalizeTileHeaders = normalizeTileHeaders;
|
|
11
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
15
|
-
var _tile3dSubtreeLoader = require("../../tile-3d-subtree-loader");
|
|
16
|
-
var _core = require("@loaders.gl/core");
|
|
17
|
-
var _tiles = require("@loaders.gl/tiles");
|
|
18
|
-
var _parse3dImplicitTiles = require("./helpers/parse-3d-implicit-tiles");
|
|
19
|
-
var _s2CornersToObb = require("../utils/obb/s2-corners-to-obb");
|
|
20
|
-
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; } } }; }
|
|
21
|
-
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); }
|
|
22
|
-
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; }
|
|
23
|
-
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; }
|
|
24
|
-
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; }
|
|
25
|
-
function getTileType(tile) {
|
|
26
|
-
var tileContentUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
27
|
-
if (!tileContentUrl) {
|
|
28
|
-
return _tiles.TILE_TYPE.EMPTY;
|
|
29
|
-
}
|
|
30
|
-
var contentUrl = tileContentUrl.split('?')[0];
|
|
31
|
-
var fileExtension = contentUrl.split('.').pop();
|
|
32
|
-
switch (fileExtension) {
|
|
33
|
-
case 'pnts':
|
|
34
|
-
return _tiles.TILE_TYPE.POINTCLOUD;
|
|
35
|
-
case 'i3dm':
|
|
36
|
-
case 'b3dm':
|
|
37
|
-
case 'glb':
|
|
38
|
-
case 'gltf':
|
|
39
|
-
return _tiles.TILE_TYPE.SCENEGRAPH;
|
|
40
|
-
default:
|
|
41
|
-
return fileExtension || _tiles.TILE_TYPE.EMPTY;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function getRefine(refine) {
|
|
45
|
-
switch (refine) {
|
|
46
|
-
case 'REPLACE':
|
|
47
|
-
case 'replace':
|
|
48
|
-
return _tiles.TILE_REFINEMENT.REPLACE;
|
|
49
|
-
case 'ADD':
|
|
50
|
-
case 'add':
|
|
51
|
-
return _tiles.TILE_REFINEMENT.ADD;
|
|
52
|
-
default:
|
|
53
|
-
return refine;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function resolveUri() {
|
|
57
|
-
var uri = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
58
|
-
var basePath = arguments.length > 1 ? arguments[1] : undefined;
|
|
59
|
-
var urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;
|
|
60
|
-
if (urlSchemeRegex.test(basePath)) {
|
|
61
|
-
var url = new URL(uri, "".concat(basePath, "/"));
|
|
62
|
-
return decodeURI(url.toString());
|
|
63
|
-
} else if (uri.startsWith('/')) {
|
|
64
|
-
return uri;
|
|
65
|
-
}
|
|
66
|
-
return _loaderUtils.path.resolve(basePath, uri);
|
|
67
|
-
}
|
|
68
|
-
function normalizeTileData(tile, basePath) {
|
|
69
|
-
if (!tile) {
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
var tileContentUrl;
|
|
73
|
-
if (tile.content) {
|
|
74
|
-
var _tile$content;
|
|
75
|
-
var contentUri = tile.content.uri || ((_tile$content = tile.content) === null || _tile$content === void 0 ? void 0 : _tile$content.url);
|
|
76
|
-
tileContentUrl = resolveUri(contentUri, basePath);
|
|
77
|
-
}
|
|
78
|
-
var tilePostprocessed = _objectSpread(_objectSpread({}, tile), {}, {
|
|
79
|
-
id: tileContentUrl,
|
|
80
|
-
contentUrl: tileContentUrl,
|
|
81
|
-
lodMetricType: _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR,
|
|
82
|
-
lodMetricValue: tile.geometricError,
|
|
83
|
-
transformMatrix: tile.transform,
|
|
84
|
-
type: getTileType(tile, tileContentUrl),
|
|
85
|
-
refine: getRefine(tile.refine)
|
|
86
|
-
});
|
|
87
|
-
return tilePostprocessed;
|
|
88
|
-
}
|
|
89
|
-
function normalizeTileHeaders(_x, _x2, _x3) {
|
|
90
|
-
return _normalizeTileHeaders.apply(this, arguments);
|
|
91
|
-
}
|
|
92
|
-
function _normalizeTileHeaders() {
|
|
93
|
-
_normalizeTileHeaders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tileset, basePath, options) {
|
|
94
|
-
var root, rootImplicitTilingExtension, stack, _tile, children, childrenPostprocessed, _iterator, _step, childHeader, childImplicitTilingExtension, childHeaderPostprocessed;
|
|
95
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
96
|
-
while (1) switch (_context.prev = _context.next) {
|
|
97
|
-
case 0:
|
|
98
|
-
root = null;
|
|
99
|
-
rootImplicitTilingExtension = getImplicitTilingExtensionData(tileset.root);
|
|
100
|
-
if (!(rootImplicitTilingExtension && tileset.root)) {
|
|
101
|
-
_context.next = 8;
|
|
102
|
-
break;
|
|
103
|
-
}
|
|
104
|
-
_context.next = 5;
|
|
105
|
-
return normalizeImplicitTileHeaders(tileset.root, tileset, basePath, rootImplicitTilingExtension, options);
|
|
106
|
-
case 5:
|
|
107
|
-
root = _context.sent;
|
|
108
|
-
_context.next = 9;
|
|
109
|
-
break;
|
|
110
|
-
case 8:
|
|
111
|
-
root = normalizeTileData(tileset.root, basePath);
|
|
112
|
-
case 9:
|
|
113
|
-
stack = [];
|
|
114
|
-
stack.push(root);
|
|
115
|
-
case 11:
|
|
116
|
-
if (!(stack.length > 0)) {
|
|
117
|
-
_context.next = 43;
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
_tile = stack.pop() || {};
|
|
121
|
-
children = _tile.children || [];
|
|
122
|
-
childrenPostprocessed = [];
|
|
123
|
-
_iterator = _createForOfIteratorHelper(children);
|
|
124
|
-
_context.prev = 16;
|
|
125
|
-
_iterator.s();
|
|
126
|
-
case 18:
|
|
127
|
-
if ((_step = _iterator.n()).done) {
|
|
128
|
-
_context.next = 32;
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
childHeader = _step.value;
|
|
132
|
-
childImplicitTilingExtension = getImplicitTilingExtensionData(childHeader);
|
|
133
|
-
childHeaderPostprocessed = void 0;
|
|
134
|
-
if (!childImplicitTilingExtension) {
|
|
135
|
-
_context.next = 28;
|
|
136
|
-
break;
|
|
137
|
-
}
|
|
138
|
-
_context.next = 25;
|
|
139
|
-
return normalizeImplicitTileHeaders(childHeader, tileset, basePath, childImplicitTilingExtension, options);
|
|
140
|
-
case 25:
|
|
141
|
-
childHeaderPostprocessed = _context.sent;
|
|
142
|
-
_context.next = 29;
|
|
143
|
-
break;
|
|
144
|
-
case 28:
|
|
145
|
-
childHeaderPostprocessed = normalizeTileData(childHeader, basePath);
|
|
146
|
-
case 29:
|
|
147
|
-
if (childHeaderPostprocessed) {
|
|
148
|
-
childrenPostprocessed.push(childHeaderPostprocessed);
|
|
149
|
-
stack.push(childHeaderPostprocessed);
|
|
150
|
-
}
|
|
151
|
-
case 30:
|
|
152
|
-
_context.next = 18;
|
|
153
|
-
break;
|
|
154
|
-
case 32:
|
|
155
|
-
_context.next = 37;
|
|
156
|
-
break;
|
|
157
|
-
case 34:
|
|
158
|
-
_context.prev = 34;
|
|
159
|
-
_context.t0 = _context["catch"](16);
|
|
160
|
-
_iterator.e(_context.t0);
|
|
161
|
-
case 37:
|
|
162
|
-
_context.prev = 37;
|
|
163
|
-
_iterator.f();
|
|
164
|
-
return _context.finish(37);
|
|
165
|
-
case 40:
|
|
166
|
-
_tile.children = childrenPostprocessed;
|
|
167
|
-
_context.next = 11;
|
|
168
|
-
break;
|
|
169
|
-
case 43:
|
|
170
|
-
return _context.abrupt("return", root);
|
|
171
|
-
case 44:
|
|
172
|
-
case "end":
|
|
173
|
-
return _context.stop();
|
|
174
|
-
}
|
|
175
|
-
}, _callee, null, [[16, 34, 37, 40]]);
|
|
176
|
-
}));
|
|
177
|
-
return _normalizeTileHeaders.apply(this, arguments);
|
|
178
|
-
}
|
|
179
|
-
function normalizeImplicitTileHeaders(_x4, _x5, _x6, _x7, _x8) {
|
|
180
|
-
return _normalizeImplicitTileHeaders.apply(this, arguments);
|
|
181
|
-
}
|
|
182
|
-
function _normalizeImplicitTileHeaders() {
|
|
183
|
-
_normalizeImplicitTileHeaders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(tile, tileset, basePath, implicitTilingExtension, options) {
|
|
184
|
-
var _tile$content2, _tileset$root, _tile$boundingVolume$;
|
|
185
|
-
var subdivisionScheme, maximumLevel, availableLevels, subtreeLevels, subtreesUriTemplate, replacedUrlTemplate, subtreeUrl, subtree, contentUrlTemplate, refine, rootLodMetricValue, s2VolumeInfo, box, s2VolumeBox, rootBoundingVolume, implicitOptions;
|
|
186
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
187
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
188
|
-
case 0:
|
|
189
|
-
subdivisionScheme = implicitTilingExtension.subdivisionScheme, maximumLevel = implicitTilingExtension.maximumLevel, availableLevels = implicitTilingExtension.availableLevels, subtreeLevels = implicitTilingExtension.subtreeLevels, subtreesUriTemplate = implicitTilingExtension.subtrees.uri;
|
|
190
|
-
replacedUrlTemplate = (0, _parse3dImplicitTiles.replaceContentUrlTemplate)(subtreesUriTemplate, 0, 0, 0, 0);
|
|
191
|
-
subtreeUrl = resolveUri(replacedUrlTemplate, basePath);
|
|
192
|
-
_context2.next = 5;
|
|
193
|
-
return (0, _core.load)(subtreeUrl, _tile3dSubtreeLoader.Tile3DSubtreeLoader, options);
|
|
194
|
-
case 5:
|
|
195
|
-
subtree = _context2.sent;
|
|
196
|
-
contentUrlTemplate = resolveUri((_tile$content2 = tile.content) === null || _tile$content2 === void 0 ? void 0 : _tile$content2.uri, basePath);
|
|
197
|
-
refine = tileset === null || tileset === void 0 ? void 0 : (_tileset$root = tileset.root) === null || _tileset$root === void 0 ? void 0 : _tileset$root.refine;
|
|
198
|
-
rootLodMetricValue = tile.geometricError;
|
|
199
|
-
s2VolumeInfo = (_tile$boundingVolume$ = tile.boundingVolume.extensions) === null || _tile$boundingVolume$ === void 0 ? void 0 : _tile$boundingVolume$['3DTILES_bounding_volume_S2'];
|
|
200
|
-
if (s2VolumeInfo) {
|
|
201
|
-
box = (0, _s2CornersToObb.convertS2BoundingVolumetoOBB)(s2VolumeInfo);
|
|
202
|
-
s2VolumeBox = {
|
|
203
|
-
box: box,
|
|
204
|
-
s2VolumeInfo: s2VolumeInfo
|
|
205
|
-
};
|
|
206
|
-
tile.boundingVolume = s2VolumeBox;
|
|
207
|
-
}
|
|
208
|
-
rootBoundingVolume = tile.boundingVolume;
|
|
209
|
-
implicitOptions = {
|
|
210
|
-
contentUrlTemplate: contentUrlTemplate,
|
|
211
|
-
subtreesUriTemplate: subtreesUriTemplate,
|
|
212
|
-
subdivisionScheme: subdivisionScheme,
|
|
213
|
-
subtreeLevels: subtreeLevels,
|
|
214
|
-
maximumLevel: Number.isFinite(availableLevels) ? availableLevels - 1 : maximumLevel,
|
|
215
|
-
refine: refine,
|
|
216
|
-
basePath: basePath,
|
|
217
|
-
lodMetricType: _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR,
|
|
218
|
-
rootLodMetricValue: rootLodMetricValue,
|
|
219
|
-
rootBoundingVolume: rootBoundingVolume,
|
|
220
|
-
getTileType: getTileType,
|
|
221
|
-
getRefine: getRefine
|
|
222
|
-
};
|
|
223
|
-
_context2.next = 15;
|
|
224
|
-
return normalizeImplicitTileData(tile, basePath, subtree, implicitOptions, options);
|
|
225
|
-
case 15:
|
|
226
|
-
return _context2.abrupt("return", _context2.sent);
|
|
227
|
-
case 16:
|
|
228
|
-
case "end":
|
|
229
|
-
return _context2.stop();
|
|
230
|
-
}
|
|
231
|
-
}, _callee2);
|
|
232
|
-
}));
|
|
233
|
-
return _normalizeImplicitTileHeaders.apply(this, arguments);
|
|
234
|
-
}
|
|
235
|
-
function normalizeImplicitTileData(_x9, _x10, _x11, _x12, _x13) {
|
|
236
|
-
return _normalizeImplicitTileData.apply(this, arguments);
|
|
237
|
-
}
|
|
238
|
-
function _normalizeImplicitTileData() {
|
|
239
|
-
_normalizeImplicitTileData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(tile, basePath, rootSubtree, implicitOptions, loaderOptions) {
|
|
240
|
-
var _yield$parseImplicitT, children, contentUrl, tileContentUrl, tileContent, tilePostprocessed;
|
|
241
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
242
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
243
|
-
case 0:
|
|
244
|
-
if (tile) {
|
|
245
|
-
_context3.next = 2;
|
|
246
|
-
break;
|
|
247
|
-
}
|
|
248
|
-
return _context3.abrupt("return", null);
|
|
249
|
-
case 2:
|
|
250
|
-
_context3.next = 4;
|
|
251
|
-
return (0, _parse3dImplicitTiles.parseImplicitTiles)({
|
|
252
|
-
subtree: rootSubtree,
|
|
253
|
-
implicitOptions: implicitOptions,
|
|
254
|
-
loaderOptions: loaderOptions
|
|
255
|
-
});
|
|
256
|
-
case 4:
|
|
257
|
-
_yield$parseImplicitT = _context3.sent;
|
|
258
|
-
children = _yield$parseImplicitT.children;
|
|
259
|
-
contentUrl = _yield$parseImplicitT.contentUrl;
|
|
260
|
-
tileContent = null;
|
|
261
|
-
if (contentUrl) {
|
|
262
|
-
tileContentUrl = contentUrl;
|
|
263
|
-
tileContent = {
|
|
264
|
-
uri: contentUrl.replace("".concat(basePath, "/"), '')
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
tilePostprocessed = _objectSpread(_objectSpread({}, tile), {}, {
|
|
268
|
-
id: tileContentUrl,
|
|
269
|
-
contentUrl: tileContentUrl,
|
|
270
|
-
lodMetricType: _tiles.LOD_METRIC_TYPE.GEOMETRIC_ERROR,
|
|
271
|
-
lodMetricValue: tile.geometricError,
|
|
272
|
-
transformMatrix: tile.transform,
|
|
273
|
-
type: getTileType(tile, tileContentUrl),
|
|
274
|
-
refine: getRefine(tile.refine),
|
|
275
|
-
content: tileContent || tile.content,
|
|
276
|
-
children: children
|
|
277
|
-
});
|
|
278
|
-
return _context3.abrupt("return", tilePostprocessed);
|
|
279
|
-
case 11:
|
|
280
|
-
case "end":
|
|
281
|
-
return _context3.stop();
|
|
282
|
-
}
|
|
283
|
-
}, _callee3);
|
|
284
|
-
}));
|
|
285
|
-
return _normalizeImplicitTileData.apply(this, arguments);
|
|
286
|
-
}
|
|
287
|
-
function getImplicitTilingExtensionData(tile) {
|
|
288
|
-
var _tile$extensions;
|
|
289
|
-
return (tile === null || tile === void 0 ? void 0 : (_tile$extensions = tile.extensions) === null || _tile$extensions === void 0 ? void 0 : _tile$extensions['3DTILES_implicit_tiling']) || (tile === null || tile === void 0 ? void 0 : tile.implicitTiling);
|
|
290
|
-
}
|
|
291
|
-
//# sourceMappingURL=parse-3d-tile-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-3d-tile-header.js","names":["_loaderUtils","require","_tile3dSubtreeLoader","_core","_tiles","_parse3dImplicitTiles","_s2CornersToObb","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","getTileType","tile","tileContentUrl","undefined","TILE_TYPE","EMPTY","contentUrl","split","fileExtension","pop","POINTCLOUD","SCENEGRAPH","getRefine","refine","TILE_REFINEMENT","REPLACE","ADD","resolveUri","uri","basePath","urlSchemeRegex","url","URL","concat","decodeURI","startsWith","path","resolve","normalizeTileData","content","_tile$content","contentUri","tilePostprocessed","id","lodMetricType","LOD_METRIC_TYPE","GEOMETRIC_ERROR","lodMetricValue","geometricError","transformMatrix","transform","type","normalizeTileHeaders","_x","_x2","_x3","_normalizeTileHeaders","_asyncToGenerator2","_regenerator","mark","_callee","tileset","options","root","rootImplicitTilingExtension","stack","_tile","children","childrenPostprocessed","_iterator","_step","childHeader","childImplicitTilingExtension","childHeaderPostprocessed","wrap","_callee$","_context","prev","getImplicitTilingExtensionData","normalizeImplicitTileHeaders","sent","t0","finish","abrupt","stop","_x4","_x5","_x6","_x7","_x8","_normalizeImplicitTileHeaders","_callee2","implicitTilingExtension","_tile$content2","_tileset$root","_tile$boundingVolume$","subdivisionScheme","maximumLevel","availableLevels","subtreeLevels","subtreesUriTemplate","replacedUrlTemplate","subtreeUrl","subtree","contentUrlTemplate","rootLodMetricValue","s2VolumeInfo","box","s2VolumeBox","rootBoundingVolume","implicitOptions","_callee2$","_context2","subtrees","replaceContentUrlTemplate","load","Tile3DSubtreeLoader","boundingVolume","extensions","convertS2BoundingVolumetoOBB","Number","isFinite","normalizeImplicitTileData","_x9","_x10","_x11","_x12","_x13","_normalizeImplicitTileData","_callee3","rootSubtree","loaderOptions","_yield$parseImplicitT","tileContent","_callee3$","_context3","parseImplicitTiles","replace","_tile$extensions","implicitTiling"],"sources":["../../../../src/lib/parsers/parse-3d-tile-header.ts"],"sourcesContent":["import type {Tiles3DLoaderOptions} from '../../tiles-3d-loader';\nimport type {LoaderOptions} from '@loaders.gl/loader-utils';\nimport {path} from '@loaders.gl/loader-utils';\nimport {Tile3DSubtreeLoader} from '../../tile-3d-subtree-loader';\nimport {load} from '@loaders.gl/core';\nimport {LOD_METRIC_TYPE, TILE_REFINEMENT, TILE_TYPE} from '@loaders.gl/tiles';\nimport {\n ImplicitTilingExensionData,\n Subtree,\n Tile3DBoundingVolume,\n Tiles3DTileContentJSON,\n Tiles3DTileJSON,\n Tiles3DTileJSONPostprocessed,\n Tiles3DTilesetJSON\n} from '../../types';\nimport type {S2VolumeBox} from './helpers/parse-3d-implicit-tiles';\nimport {parseImplicitTiles, replaceContentUrlTemplate} from './helpers/parse-3d-implicit-tiles';\nimport type {S2VolumeInfo} from '../utils/obb/s2-corners-to-obb';\nimport {convertS2BoundingVolumetoOBB} from '../utils/obb/s2-corners-to-obb';\n\n/** Options for recursive loading implicit subtrees */\nexport type ImplicitOptions = {\n /** Template of the full url of the content template */\n contentUrlTemplate: string;\n /** Template of the full url of the subtree */\n subtreesUriTemplate: string;\n /** Implicit subdivision scheme */\n subdivisionScheme: 'QUADTREE' | 'OCTREE' | string;\n /** Levels per subtree */\n subtreeLevels: number;\n /** Maximum implicit level through all subtrees */\n maximumLevel?: number;\n /** 3DTiles refine method (add/replace) */\n refine?: string;\n /** Tileset base path */\n basePath: string;\n /** 3DTiles LOD metric type */\n lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR;\n /** Root metric value of the root tile of the implicit subtrees */\n rootLodMetricValue: number;\n /** Bounding volume of the root tile of the implicit subtrees */\n rootBoundingVolume: Tile3DBoundingVolume;\n /** Function that detects TILE_TYPE by tile metadata and content URL */\n getTileType: (tile: Tiles3DTileJSON, tileContentUrl?: string) => TILE_TYPE | string;\n /** Function that converts string refine method to enum value */\n getRefine: (refine?: string) => TILE_REFINEMENT | string | undefined;\n};\n\nfunction getTileType(tile: Tiles3DTileJSON, tileContentUrl: string = ''): TILE_TYPE | string {\n if (!tileContentUrl) {\n return TILE_TYPE.EMPTY;\n }\n\n const contentUrl = tileContentUrl.split('?')[0]; // Discard query string\n const fileExtension = contentUrl.split('.').pop();\n switch (fileExtension) {\n case 'pnts':\n return TILE_TYPE.POINTCLOUD;\n case 'i3dm':\n case 'b3dm':\n case 'glb':\n case 'gltf':\n return TILE_TYPE.SCENEGRAPH;\n default:\n return fileExtension || TILE_TYPE.EMPTY;\n }\n}\n\nfunction getRefine(refine?: string): TILE_REFINEMENT | string | undefined {\n switch (refine) {\n case 'REPLACE':\n case 'replace':\n return TILE_REFINEMENT.REPLACE;\n case 'ADD':\n case 'add':\n return TILE_REFINEMENT.ADD;\n default:\n return refine;\n }\n}\n\nfunction resolveUri(uri: string = '', basePath: string): string {\n // url scheme per RFC3986\n const urlSchemeRegex = /^[a-z][0-9a-z+.-]*:/i;\n\n if (urlSchemeRegex.test(basePath)) {\n const url = new URL(uri, `${basePath}/`);\n return decodeURI(url.toString());\n } else if (uri.startsWith('/')) {\n return uri;\n }\n\n return path.resolve(basePath, uri);\n}\n\nexport function normalizeTileData(\n tile: Tiles3DTileJSON | null,\n basePath: string\n): Tiles3DTileJSONPostprocessed | null {\n if (!tile) {\n return null;\n }\n let tileContentUrl: string | undefined;\n if (tile.content) {\n const contentUri = tile.content.uri || tile.content?.url;\n tileContentUrl = resolveUri(contentUri, basePath);\n }\n const tilePostprocessed: Tiles3DTileJSONPostprocessed = {\n ...tile,\n id: tileContentUrl,\n contentUrl: tileContentUrl,\n lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR,\n lodMetricValue: tile.geometricError,\n transformMatrix: tile.transform,\n type: getTileType(tile, tileContentUrl),\n refine: getRefine(tile.refine)\n };\n\n return tilePostprocessed;\n}\n\n// normalize tile headers\nexport async function normalizeTileHeaders(\n tileset: Tiles3DTilesetJSON,\n basePath: string,\n options: LoaderOptions\n): Promise<Tiles3DTileJSONPostprocessed | null> {\n let root: Tiles3DTileJSONPostprocessed | null = null;\n\n const rootImplicitTilingExtension = getImplicitTilingExtensionData(tileset.root);\n if (rootImplicitTilingExtension && tileset.root) {\n root = await normalizeImplicitTileHeaders(\n tileset.root,\n tileset,\n basePath,\n rootImplicitTilingExtension,\n options\n );\n } else {\n root = normalizeTileData(tileset.root, basePath);\n }\n\n const stack: any[] = [];\n stack.push(root);\n\n while (stack.length > 0) {\n const tile = stack.pop() || {};\n const children = tile.children || [];\n const childrenPostprocessed: Tiles3DTileJSONPostprocessed[] = [];\n for (const childHeader of children) {\n const childImplicitTilingExtension = getImplicitTilingExtensionData(childHeader);\n let childHeaderPostprocessed: Tiles3DTileJSONPostprocessed | null;\n if (childImplicitTilingExtension) {\n childHeaderPostprocessed = await normalizeImplicitTileHeaders(\n childHeader,\n tileset,\n basePath,\n childImplicitTilingExtension,\n options\n );\n } else {\n childHeaderPostprocessed = normalizeTileData(childHeader, basePath);\n }\n\n if (childHeaderPostprocessed) {\n childrenPostprocessed.push(childHeaderPostprocessed);\n stack.push(childHeaderPostprocessed);\n }\n }\n tile.children = childrenPostprocessed;\n }\n\n return root;\n}\n\n/**\n * Do normalisation of implicit tile headers\n * TODO Check if Tile3D class can be a return type here.\n * @param tileset\n */\nexport async function normalizeImplicitTileHeaders(\n tile: Tiles3DTileJSON,\n tileset: Tiles3DTilesetJSON,\n basePath: string,\n implicitTilingExtension: ImplicitTilingExensionData,\n options: Tiles3DLoaderOptions\n): Promise<Tiles3DTileJSONPostprocessed | null> {\n const {\n subdivisionScheme,\n maximumLevel,\n availableLevels,\n subtreeLevels,\n subtrees: {uri: subtreesUriTemplate}\n } = implicitTilingExtension;\n const replacedUrlTemplate = replaceContentUrlTemplate(subtreesUriTemplate, 0, 0, 0, 0);\n const subtreeUrl = resolveUri(replacedUrlTemplate, basePath);\n const subtree = await load(subtreeUrl, Tile3DSubtreeLoader, options);\n const contentUrlTemplate = resolveUri(tile.content?.uri, basePath);\n const refine = tileset?.root?.refine;\n // @ts-ignore\n const rootLodMetricValue = tile.geometricError;\n\n // Replace tile.boundingVolume with the the bounding volume specified by the extensions['3DTILES_bounding_volume_S2']\n const s2VolumeInfo: S2VolumeInfo = tile.boundingVolume.extensions?.['3DTILES_bounding_volume_S2'];\n if (s2VolumeInfo) {\n const box = convertS2BoundingVolumetoOBB(s2VolumeInfo);\n const s2VolumeBox: S2VolumeBox = {box, s2VolumeInfo};\n tile.boundingVolume = s2VolumeBox;\n }\n\n const rootBoundingVolume = tile.boundingVolume;\n\n const implicitOptions: ImplicitOptions = {\n contentUrlTemplate,\n subtreesUriTemplate,\n subdivisionScheme,\n subtreeLevels,\n maximumLevel: Number.isFinite(availableLevels) ? availableLevels - 1 : maximumLevel,\n refine,\n basePath,\n lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR,\n rootLodMetricValue,\n rootBoundingVolume,\n getTileType,\n getRefine\n };\n\n return await normalizeImplicitTileData(tile, basePath, subtree, implicitOptions, options);\n}\n\n/**\n * Do implicit data normalisation to create hierarchical tile structure\n * @param tile\n * @param rootSubtree\n * @param options\n * @returns\n */\nexport async function normalizeImplicitTileData(\n tile: Tiles3DTileJSON,\n basePath: string,\n rootSubtree: Subtree,\n implicitOptions: ImplicitOptions,\n loaderOptions: Tiles3DLoaderOptions\n): Promise<Tiles3DTileJSONPostprocessed | null> {\n if (!tile) {\n return null;\n }\n\n const {children, contentUrl} = await parseImplicitTiles({\n subtree: rootSubtree,\n implicitOptions,\n loaderOptions\n });\n\n let tileContentUrl: string | undefined;\n let tileContent: Tiles3DTileContentJSON | null = null;\n if (contentUrl) {\n tileContentUrl = contentUrl;\n tileContent = {uri: contentUrl.replace(`${basePath}/`, '')};\n }\n const tilePostprocessed: Tiles3DTileJSONPostprocessed = {\n ...tile,\n id: tileContentUrl,\n contentUrl: tileContentUrl,\n lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR,\n lodMetricValue: tile.geometricError,\n transformMatrix: tile.transform,\n type: getTileType(tile, tileContentUrl),\n refine: getRefine(tile.refine),\n content: tileContent || tile.content,\n children\n };\n\n return tilePostprocessed;\n}\n\n/**\n * Implicit Tiling data can be in 3DTILES_implicit_tiling for 3DTiles v.Next or directly in implicitTiling object for 3DTiles v1.1.\n * Spec 3DTiles v.Next - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling\n * Spec 3DTiles v.1.1 - https://github.com/CesiumGS/3d-tiles/tree/draft-1.1/specification/ImplicitTiling\n * @param tile\n * @returns\n */\nfunction getImplicitTilingExtensionData(tile: Tiles3DTileJSON | null): ImplicitTilingExensionData {\n return tile?.extensions?.['3DTILES_implicit_tiling'] || tile?.implicitTiling;\n}\n"],"mappings":"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"}
|
|
@@ -1,163 +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.parseInstancedModel3DTile = parseInstancedModel3DTile;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _core = require("@math.gl/core");
|
|
11
|
-
var _geospatial = require("@math.gl/geospatial");
|
|
12
|
-
var _math = require("@loaders.gl/math");
|
|
13
|
-
var _tile3dFeatureTable = _interopRequireDefault(require("../classes/tile-3d-feature-table"));
|
|
14
|
-
var _tile3dBatchTable = _interopRequireDefault(require("../classes/tile-3d-batch-table"));
|
|
15
|
-
var _parse3dTileHeader = require("./helpers/parse-3d-tile-header");
|
|
16
|
-
var _parse3dTileTables = require("./helpers/parse-3d-tile-tables");
|
|
17
|
-
var _parse3dTileGltfView = require("./helpers/parse-3d-tile-gltf-view");
|
|
18
|
-
function parseInstancedModel3DTile(_x, _x2, _x3, _x4, _x5) {
|
|
19
|
-
return _parseInstancedModel3DTile.apply(this, arguments);
|
|
20
|
-
}
|
|
21
|
-
function _parseInstancedModel3DTile() {
|
|
22
|
-
_parseInstancedModel3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, byteOffset, options, context) {
|
|
23
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
24
|
-
while (1) switch (_context.prev = _context.next) {
|
|
25
|
-
case 0:
|
|
26
|
-
byteOffset = parseInstancedModel(tile, arrayBuffer, byteOffset, options, context);
|
|
27
|
-
_context.next = 3;
|
|
28
|
-
return (0, _parse3dTileGltfView.extractGLTF)(tile, tile.gltfFormat || 0, options, context);
|
|
29
|
-
case 3:
|
|
30
|
-
return _context.abrupt("return", byteOffset);
|
|
31
|
-
case 4:
|
|
32
|
-
case "end":
|
|
33
|
-
return _context.stop();
|
|
34
|
-
}
|
|
35
|
-
}, _callee);
|
|
36
|
-
}));
|
|
37
|
-
return _parseInstancedModel3DTile.apply(this, arguments);
|
|
38
|
-
}
|
|
39
|
-
function parseInstancedModel(tile, arrayBuffer, byteOffset, options, context) {
|
|
40
|
-
var _tile$header;
|
|
41
|
-
byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
|
|
42
|
-
if (tile.version !== 1) {
|
|
43
|
-
throw new Error("Instanced 3D Model version ".concat(tile.version, " is not supported"));
|
|
44
|
-
}
|
|
45
|
-
byteOffset = (0, _parse3dTileTables.parse3DTileTablesHeaderSync)(tile, arrayBuffer, byteOffset);
|
|
46
|
-
var view = new DataView(arrayBuffer);
|
|
47
|
-
tile.gltfFormat = view.getUint32(byteOffset, true);
|
|
48
|
-
byteOffset += 4;
|
|
49
|
-
byteOffset = (0, _parse3dTileTables.parse3DTileTablesSync)(tile, arrayBuffer, byteOffset, options);
|
|
50
|
-
byteOffset = (0, _parse3dTileGltfView.parse3DTileGLTFViewSync)(tile, arrayBuffer, byteOffset, options);
|
|
51
|
-
if (!(tile !== null && tile !== void 0 && (_tile$header = tile.header) !== null && _tile$header !== void 0 && _tile$header.featureTableJsonByteLength) || tile.header.featureTableJsonByteLength === 0) {
|
|
52
|
-
throw new Error('i3dm parser: featureTableJsonByteLength is zero.');
|
|
53
|
-
}
|
|
54
|
-
var featureTable = new _tile3dFeatureTable.default(tile.featureTableJson, tile.featureTableBinary);
|
|
55
|
-
var instancesLength = featureTable.getGlobalProperty('INSTANCES_LENGTH');
|
|
56
|
-
featureTable.featuresLength = instancesLength;
|
|
57
|
-
if (!Number.isFinite(instancesLength)) {
|
|
58
|
-
throw new Error('i3dm parser: INSTANCES_LENGTH must be defined');
|
|
59
|
-
}
|
|
60
|
-
tile.eastNorthUp = featureTable.getGlobalProperty('EAST_NORTH_UP');
|
|
61
|
-
tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', _math.GL.FLOAT, 3);
|
|
62
|
-
var batchTable = new _tile3dBatchTable.default(tile.batchTableJson, tile.batchTableBinary, instancesLength);
|
|
63
|
-
extractInstancedAttributes(tile, featureTable, batchTable, instancesLength);
|
|
64
|
-
return byteOffset;
|
|
65
|
-
}
|
|
66
|
-
function extractInstancedAttributes(tile, featureTable, batchTable, instancesLength) {
|
|
67
|
-
var instances = new Array(instancesLength);
|
|
68
|
-
var instancePosition = new _core.Vector3();
|
|
69
|
-
var instanceNormalRight = new _core.Vector3();
|
|
70
|
-
var instanceNormalUp = new _core.Vector3();
|
|
71
|
-
var instanceNormalForward = new _core.Vector3();
|
|
72
|
-
var instanceRotation = new _core.Matrix3();
|
|
73
|
-
var instanceQuaternion = new _core.Quaternion();
|
|
74
|
-
var instanceScale = new _core.Vector3();
|
|
75
|
-
var instanceTranslationRotationScale = {};
|
|
76
|
-
var instanceTransform = new _core.Matrix4();
|
|
77
|
-
var scratch1 = [];
|
|
78
|
-
var scratch2 = [];
|
|
79
|
-
var scratch3 = [];
|
|
80
|
-
var scratch4 = [];
|
|
81
|
-
for (var i = 0; i < instancesLength; i++) {
|
|
82
|
-
var position = void 0;
|
|
83
|
-
if (featureTable.hasProperty('POSITION')) {
|
|
84
|
-
position = featureTable.getProperty('POSITION', _math.GL.FLOAT, 3, i, instancePosition);
|
|
85
|
-
} else if (featureTable.hasProperty('POSITION_QUANTIZED')) {
|
|
86
|
-
position = featureTable.getProperty('POSITION_QUANTIZED', _math.GL.UNSIGNED_SHORT, 3, i, instancePosition);
|
|
87
|
-
var quantizedVolumeOffset = featureTable.getGlobalProperty('QUANTIZED_VOLUME_OFFSET', _math.GL.FLOAT, 3);
|
|
88
|
-
if (!quantizedVolumeOffset) {
|
|
89
|
-
throw new Error('i3dm parser: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.');
|
|
90
|
-
}
|
|
91
|
-
var quantizedVolumeScale = featureTable.getGlobalProperty('QUANTIZED_VOLUME_SCALE', _math.GL.FLOAT, 3);
|
|
92
|
-
if (!quantizedVolumeScale) {
|
|
93
|
-
throw new Error('i3dm parser: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.');
|
|
94
|
-
}
|
|
95
|
-
var MAX_UNSIGNED_SHORT = 65535.0;
|
|
96
|
-
for (var j = 0; j < 3; j++) {
|
|
97
|
-
position[j] = position[j] / MAX_UNSIGNED_SHORT * quantizedVolumeScale[j] + quantizedVolumeOffset[j];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (!position) {
|
|
101
|
-
throw new Error('i3dm: POSITION or POSITION_QUANTIZED must be defined for each instance.');
|
|
102
|
-
}
|
|
103
|
-
instancePosition.copy(position);
|
|
104
|
-
instanceTranslationRotationScale.translation = instancePosition;
|
|
105
|
-
tile.normalUp = featureTable.getProperty('NORMAL_UP', _math.GL.FLOAT, 3, i, scratch1);
|
|
106
|
-
tile.normalRight = featureTable.getProperty('NORMAL_RIGHT', _math.GL.FLOAT, 3, i, scratch2);
|
|
107
|
-
var hasCustomOrientation = false;
|
|
108
|
-
if (tile.normalUp) {
|
|
109
|
-
if (!tile.normalRight) {
|
|
110
|
-
throw new Error('i3dm: Custom orientation requires both NORMAL_UP and NORMAL_RIGHT.');
|
|
111
|
-
}
|
|
112
|
-
tile.hasCustomOrientation = true;
|
|
113
|
-
} else {
|
|
114
|
-
tile.octNormalUp = featureTable.getProperty('NORMAL_UP_OCT32P', _math.GL.UNSIGNED_SHORT, 2, i, scratch1);
|
|
115
|
-
tile.octNormalRight = featureTable.getProperty('NORMAL_RIGHT_OCT32P', _math.GL.UNSIGNED_SHORT, 2, i, scratch2);
|
|
116
|
-
if (tile.octNormalUp) {
|
|
117
|
-
if (!tile.octNormalRight) {
|
|
118
|
-
throw new Error('i3dm: oct-encoded orientation requires NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P');
|
|
119
|
-
}
|
|
120
|
-
throw new Error('i3dm: oct-encoded orientation not implemented');
|
|
121
|
-
} else if (tile.eastNorthUp) {
|
|
122
|
-
_geospatial.Ellipsoid.WGS84.eastNorthUpToFixedFrame(instancePosition, instanceTransform);
|
|
123
|
-
instanceTransform.getRotationMatrix3(instanceRotation);
|
|
124
|
-
} else {
|
|
125
|
-
instanceRotation.identity();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (hasCustomOrientation) {
|
|
129
|
-
instanceNormalForward.copy(instanceNormalRight).cross(instanceNormalUp).normalize();
|
|
130
|
-
instanceRotation.setColumn(0, instanceNormalRight);
|
|
131
|
-
instanceRotation.setColumn(1, instanceNormalUp);
|
|
132
|
-
instanceRotation.setColumn(2, instanceNormalForward);
|
|
133
|
-
}
|
|
134
|
-
instanceQuaternion.fromMatrix3(instanceRotation);
|
|
135
|
-
instanceTranslationRotationScale.rotation = instanceQuaternion;
|
|
136
|
-
instanceScale.set(1.0, 1.0, 1.0);
|
|
137
|
-
var scale = featureTable.getProperty('SCALE', _math.GL.FLOAT, 1, i, scratch3);
|
|
138
|
-
if (Number.isFinite(scale)) {
|
|
139
|
-
instanceScale.multiplyByScalar(scale);
|
|
140
|
-
}
|
|
141
|
-
var nonUniformScale = featureTable.getProperty('SCALE_NON_UNIFORM', _math.GL.FLOAT, 3, i, scratch1);
|
|
142
|
-
if (nonUniformScale) {
|
|
143
|
-
instanceScale.scale(nonUniformScale);
|
|
144
|
-
}
|
|
145
|
-
instanceTranslationRotationScale.scale = instanceScale;
|
|
146
|
-
var batchId = featureTable.getProperty('BATCH_ID', _math.GL.UNSIGNED_SHORT, 1, i, scratch4);
|
|
147
|
-
if (batchId === undefined) {
|
|
148
|
-
batchId = i;
|
|
149
|
-
}
|
|
150
|
-
var rotationMatrix = new _core.Matrix4().fromQuaternion(instanceTranslationRotationScale.rotation);
|
|
151
|
-
instanceTransform.identity();
|
|
152
|
-
instanceTransform.translate(instanceTranslationRotationScale.translation);
|
|
153
|
-
instanceTransform.multiplyRight(rotationMatrix);
|
|
154
|
-
instanceTransform.scale(instanceTranslationRotationScale.scale);
|
|
155
|
-
var modelMatrix = instanceTransform.clone();
|
|
156
|
-
instances[i] = {
|
|
157
|
-
modelMatrix: modelMatrix,
|
|
158
|
-
batchId: batchId
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
tile.instances = instances;
|
|
162
|
-
}
|
|
163
|
-
//# sourceMappingURL=parse-3d-tile-instanced-model.js.map
|