@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cesium-ion-loader.js","names":["_tiles3dLoader","require","_ion","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","preload","_x","_preload","_asyncToGenerator2","_regenerator","mark","_callee2","url","options","_options","accessToken","assetId","matched","_args2","wrap","_callee2$","_context2","prev","next","undefined","Number","isFinite","match","abrupt","getIonTilesetMetadata","stop","CesiumIonLoader","Tiles3DLoader","id","name","parse","_parse","_callee","data","context","_callee$","_context","loader","_x2","_x3","_x4","exports"],"sources":["../../src/cesium-ion-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {Tiles3DLoader} from './tiles-3d-loader';\nimport {getIonTilesetMetadata} from './lib/ion/ion';\n\nasync function preload(url, options = {}) {\n options = options['cesium-ion'] || {};\n // @ts-ignore\n const {accessToken} = options;\n // @ts-ignore\n let assetId = options.assetId;\n if (!Number.isFinite(assetId)) {\n const matched = url.match(/\\/([0-9]+)\\/tileset.json/);\n assetId = matched && matched[1];\n }\n return getIonTilesetMetadata(accessToken, assetId);\n}\n\n/**\n * Loader for 3D tiles from Cesium ION\n */\nexport const CesiumIonLoader: LoaderWithParser<unknown, never, LoaderOptions> = {\n ...Tiles3DLoader,\n id: 'cesium-ion',\n name: 'Cesium Ion',\n // @ts-ignore\n preload,\n parse: async (data, options?, context?) => {\n options = {...options};\n options['3d-tiles'] = options['cesium-ion'];\n // @ts-ignore\n options.loader = CesiumIonLoader;\n return Tiles3DLoader.parse(data, options, context); // , loader);\n },\n options: {\n 'cesium-ion': {\n ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"mappings":"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"}
|
package/dist/es5/index.js
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
Object.defineProperty(exports, "CesiumIonLoader", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function get() {
|
|
10
|
-
return _cesiumIonLoader.CesiumIonLoader;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, "TILE3D_TYPE", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function get() {
|
|
16
|
-
return _constants.TILE3D_TYPE;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports, "Tile3DBatchTable", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function get() {
|
|
22
|
-
return _tile3dBatchTable.default;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
Object.defineProperty(exports, "Tile3DFeatureTable", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _tile3dFeatureTable.default;
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "Tile3DSubtreeLoader", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function get() {
|
|
34
|
-
return _tile3dSubtreeLoader.Tile3DSubtreeLoader;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(exports, "Tile3DWriter", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
get: function get() {
|
|
40
|
-
return _tile3dWriter.Tile3DWriter;
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
Object.defineProperty(exports, "Tiles3DArchiveFileLoader", {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function get() {
|
|
46
|
-
return _dTilesArchiveLoader.Tiles3DArchiveFileLoader;
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(exports, "Tiles3DArchiveFileSystem", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function get() {
|
|
52
|
-
return _tiles3dArchiveFileSystem.Tiles3DArchiveFileSystem;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(exports, "Tiles3DLoader", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
get: function get() {
|
|
58
|
-
return _tiles3dLoader.Tiles3DLoader;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
Object.defineProperty(exports, "_getIonTilesetMetadata", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
get: function get() {
|
|
64
|
-
return _ion.getIonTilesetMetadata;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
68
|
-
var _cesiumIonLoader = require("./cesium-ion-loader");
|
|
69
|
-
var _tile3dSubtreeLoader = require("./tile-3d-subtree-loader");
|
|
70
|
-
var _dTilesArchiveLoader = require("./3d-tiles-archive-loader");
|
|
71
|
-
var _tiles3dArchiveFileSystem = require("./lib/filesystems/tiles-3d-archive-file-system");
|
|
72
|
-
var _tile3dWriter = require("./tile-3d-writer");
|
|
73
|
-
var _tile3dFeatureTable = _interopRequireDefault(require("./lib/classes/tile-3d-feature-table"));
|
|
74
|
-
var _tile3dBatchTable = _interopRequireDefault(require("./lib/classes/tile-3d-batch-table"));
|
|
75
|
-
var _constants = require("./lib/constants");
|
|
76
|
-
var _ion = require("./lib/ion/ion");
|
|
77
|
-
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_tiles3dLoader","require","_cesiumIonLoader","_tile3dSubtreeLoader","_dTilesArchiveLoader","_tiles3dArchiveFileSystem","_tile3dWriter","_tile3dFeatureTable","_interopRequireDefault","_tile3dBatchTable","_constants","_ion"],"sources":["../../src/index.ts"],"sourcesContent":["// LOADERS\nexport {Tiles3DLoader} from './tiles-3d-loader';\nexport {CesiumIonLoader} from './cesium-ion-loader';\nexport {Tile3DSubtreeLoader} from './tile-3d-subtree-loader';\nexport type {Tiles3DArchiveFileLoaderOptions} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileLoader} from './3d-tiles-archive-loader';\nexport {Tiles3DArchiveFileSystem} from './lib/filesystems/tiles-3d-archive-file-system';\n\n// WRITERS\nexport {Tile3DWriter} from './tile-3d-writer';\n\n// CLASSES\nexport {default as Tile3DFeatureTable} from './lib/classes/tile-3d-feature-table';\nexport {default as Tile3DBatchTable} from './lib/classes/tile-3d-batch-table';\n\n// EXPERIMENTAL\nexport {TILE3D_TYPE} from './lib/constants';\nexport {getIonTilesetMetadata as _getIonTilesetMetadata} from './lib/ion/ion';\nexport type {\n FeatureTableJson,\n B3DMContent,\n Tile3DBoundingVolume,\n Tiles3DTileJSON,\n Tiles3DTileJSONPostprocessed,\n Tiles3DTilesetJSON,\n Tiles3DTilesetJSONPostprocessed,\n Tiles3DTileContent,\n ImplicitTilingExensionData\n} from './types';\nexport type {Tiles3DLoaderOptions} from './tiles-3d-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAEA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AAGA,IAAAK,aAAA,GAAAL,OAAA;AAGA,IAAAM,mBAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAD,sBAAA,CAAAP,OAAA;AAGA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,IAAA,GAAAV,OAAA"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createTypedArrayFromAccessor = createTypedArrayFromAccessor;
|
|
7
|
-
var _math = require("@loaders.gl/math");
|
|
8
|
-
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
9
|
-
var COMPONENTS_PER_ATTRIBUTE = {
|
|
10
|
-
SCALAR: 1,
|
|
11
|
-
VEC2: 2,
|
|
12
|
-
VEC3: 3,
|
|
13
|
-
VEC4: 4,
|
|
14
|
-
MAT2: 4,
|
|
15
|
-
MAT3: 9,
|
|
16
|
-
MAT4: 16
|
|
17
|
-
};
|
|
18
|
-
var UNPACKER = {
|
|
19
|
-
SCALAR: function SCALAR(values, i) {
|
|
20
|
-
return values[i];
|
|
21
|
-
},
|
|
22
|
-
VEC2: function VEC2(values, i) {
|
|
23
|
-
return [values[2 * i + 0], values[2 * i + 1]];
|
|
24
|
-
},
|
|
25
|
-
VEC3: function VEC3(values, i) {
|
|
26
|
-
return [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]];
|
|
27
|
-
},
|
|
28
|
-
VEC4: function VEC4(values, i) {
|
|
29
|
-
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
30
|
-
},
|
|
31
|
-
MAT2: function MAT2(values, i) {
|
|
32
|
-
return [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]];
|
|
33
|
-
},
|
|
34
|
-
MAT3: function MAT3(values, i) {
|
|
35
|
-
return [values[9 * i + 0], values[9 * i + 1], values[9 * i + 2], values[9 * i + 3], values[9 * i + 4], values[9 * i + 5], values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]];
|
|
36
|
-
},
|
|
37
|
-
MAT4: function MAT4(values, i) {
|
|
38
|
-
return [values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3], values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7], values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11], values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]];
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
var PACKER = {
|
|
42
|
-
SCALAR: function SCALAR(x, values, i) {
|
|
43
|
-
values[i] = x;
|
|
44
|
-
},
|
|
45
|
-
VEC2: function VEC2(x, values, i) {
|
|
46
|
-
values[2 * i + 0] = x[0];
|
|
47
|
-
values[2 * i + 1] = x[1];
|
|
48
|
-
},
|
|
49
|
-
VEC3: function VEC3(x, values, i) {
|
|
50
|
-
values[3 * i + 0] = x[0];
|
|
51
|
-
values[3 * i + 1] = x[1];
|
|
52
|
-
values[3 * i + 2] = x[2];
|
|
53
|
-
},
|
|
54
|
-
VEC4: function VEC4(x, values, i) {
|
|
55
|
-
values[4 * i + 0] = x[0];
|
|
56
|
-
values[4 * i + 1] = x[1];
|
|
57
|
-
values[4 * i + 2] = x[2];
|
|
58
|
-
values[4 * i + 3] = x[3];
|
|
59
|
-
},
|
|
60
|
-
MAT2: function MAT2(x, values, i) {
|
|
61
|
-
values[4 * i + 0] = x[0];
|
|
62
|
-
values[4 * i + 1] = x[1];
|
|
63
|
-
values[4 * i + 2] = x[2];
|
|
64
|
-
values[4 * i + 3] = x[3];
|
|
65
|
-
},
|
|
66
|
-
MAT3: function MAT3(x, values, i) {
|
|
67
|
-
values[9 * i + 0] = x[0];
|
|
68
|
-
values[9 * i + 1] = x[1];
|
|
69
|
-
values[9 * i + 2] = x[2];
|
|
70
|
-
values[9 * i + 3] = x[3];
|
|
71
|
-
values[9 * i + 4] = x[4];
|
|
72
|
-
values[9 * i + 5] = x[5];
|
|
73
|
-
values[9 * i + 6] = x[6];
|
|
74
|
-
values[9 * i + 7] = x[7];
|
|
75
|
-
values[9 * i + 8] = x[8];
|
|
76
|
-
values[9 * i + 9] = x[9];
|
|
77
|
-
},
|
|
78
|
-
MAT4: function MAT4(x, values, i) {
|
|
79
|
-
values[16 * i + 0] = x[0];
|
|
80
|
-
values[16 * i + 1] = x[1];
|
|
81
|
-
values[16 * i + 2] = x[2];
|
|
82
|
-
values[16 * i + 3] = x[3];
|
|
83
|
-
values[16 * i + 4] = x[4];
|
|
84
|
-
values[16 * i + 5] = x[5];
|
|
85
|
-
values[16 * i + 6] = x[6];
|
|
86
|
-
values[16 * i + 7] = x[7];
|
|
87
|
-
values[16 * i + 8] = x[8];
|
|
88
|
-
values[16 * i + 9] = x[9];
|
|
89
|
-
values[16 * i + 10] = x[10];
|
|
90
|
-
values[16 * i + 11] = x[11];
|
|
91
|
-
values[16 * i + 12] = x[12];
|
|
92
|
-
values[16 * i + 13] = x[13];
|
|
93
|
-
values[16 * i + 14] = x[14];
|
|
94
|
-
values[16 * i + 15] = x[15];
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {
|
|
98
|
-
var componentType = tile3DAccessor.componentType;
|
|
99
|
-
(0, _loaderUtils.assert)(tile3DAccessor.componentType);
|
|
100
|
-
var type = typeof componentType === 'string' ? _math.GLType.fromName(componentType) : componentType;
|
|
101
|
-
var size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];
|
|
102
|
-
var unpacker = UNPACKER[tile3DAccessor.type];
|
|
103
|
-
var packer = PACKER[tile3DAccessor.type];
|
|
104
|
-
byteOffset += tile3DAccessor.byteOffset;
|
|
105
|
-
var values = _math.GLType.createTypedArray(type, buffer, byteOffset, size * length);
|
|
106
|
-
return {
|
|
107
|
-
values: values,
|
|
108
|
-
type: type,
|
|
109
|
-
size: size,
|
|
110
|
-
unpacker: unpacker,
|
|
111
|
-
packer: packer
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=tile-3d-accessor-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile-3d-accessor-utils.js","names":["_math","require","_loaderUtils","COMPONENTS_PER_ATTRIBUTE","SCALAR","VEC2","VEC3","VEC4","MAT2","MAT3","MAT4","UNPACKER","values","i","PACKER","x","createTypedArrayFromAccessor","tile3DAccessor","buffer","byteOffset","length","componentType","assert","type","GLType","fromName","size","unpacker","packer","createTypedArray"],"sources":["../../../../../src/lib/classes/helpers/tile-3d-accessor-utils.ts"],"sourcesContent":["import {GLType} from '@loaders.gl/math'; // '@math.gl/geometry';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst COMPONENTS_PER_ATTRIBUTE = {\n SCALAR: 1,\n VEC2: 2,\n VEC3: 3,\n VEC4: 4,\n MAT2: 4,\n MAT3: 9,\n MAT4: 16\n};\n\n// TODO - could just return typed array views...\n// prettier-ignore\nconst UNPACKER = {\n SCALAR: (values, i) => values[i],\n VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],\n VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],\n VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],\n // TODO: check column major\n MAT2: (values, i) => [\n values[4 * i + 0], values[4 * i + 1],\n values[4 * i + 2], values[4 * i + 3]\n ],\n MAT3: (values, i) => [\n values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],\n values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],\n values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]\n ],\n MAT4: (values, i) => [\n values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],\n values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],\n values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],\n values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]\n ]\n};\n\nconst PACKER = {\n SCALAR: (x, values, i) => {\n values[i] = x;\n },\n VEC2: (x, values, i) => {\n values[2 * i + 0] = x[0];\n values[2 * i + 1] = x[1];\n },\n VEC3: (x, values, i) => {\n values[3 * i + 0] = x[0];\n values[3 * i + 1] = x[1];\n values[3 * i + 2] = x[2];\n },\n VEC4: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n // TODO: check column major correctness\n MAT2: (x, values, i) => {\n values[4 * i + 0] = x[0];\n values[4 * i + 1] = x[1];\n values[4 * i + 2] = x[2];\n values[4 * i + 3] = x[3];\n },\n MAT3: (x, values, i) => {\n values[9 * i + 0] = x[0];\n values[9 * i + 1] = x[1];\n values[9 * i + 2] = x[2];\n values[9 * i + 3] = x[3];\n values[9 * i + 4] = x[4];\n values[9 * i + 5] = x[5];\n values[9 * i + 6] = x[6];\n values[9 * i + 7] = x[7];\n values[9 * i + 8] = x[8];\n values[9 * i + 9] = x[9];\n },\n MAT4: (x, values, i) => {\n values[16 * i + 0] = x[0];\n values[16 * i + 1] = x[1];\n values[16 * i + 2] = x[2];\n values[16 * i + 3] = x[3];\n values[16 * i + 4] = x[4];\n values[16 * i + 5] = x[5];\n values[16 * i + 6] = x[6];\n values[16 * i + 7] = x[7];\n values[16 * i + 8] = x[8];\n values[16 * i + 9] = x[9];\n values[16 * i + 10] = x[10];\n values[16 * i + 11] = x[11];\n values[16 * i + 12] = x[12];\n values[16 * i + 13] = x[13];\n values[16 * i + 14] = x[14];\n values[16 * i + 15] = x[15];\n }\n};\n\nexport function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {\n const {componentType} = tile3DAccessor;\n assert(tile3DAccessor.componentType);\n const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;\n const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];\n const unpacker = UNPACKER[tile3DAccessor.type];\n const packer = PACKER[tile3DAccessor.type];\n\n byteOffset += tile3DAccessor.byteOffset;\n const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);\n\n return {\n values,\n type,\n size,\n unpacker,\n packer\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.initializeHierarchy = initializeHierarchy;
|
|
7
|
-
exports.traverseHierarchy = traverseHierarchy;
|
|
8
|
-
var defined = function defined(x) {
|
|
9
|
-
return x !== undefined;
|
|
10
|
-
};
|
|
11
|
-
function initializeHierarchy(batchTable, jsonHeader, binaryBody) {
|
|
12
|
-
if (!jsonHeader) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
var hierarchy = batchTable.getExtension('3DTILES_batch_table_hierarchy');
|
|
16
|
-
var legacyHierarchy = jsonHeader.HIERARCHY;
|
|
17
|
-
if (legacyHierarchy) {
|
|
18
|
-
console.warn('3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy.');
|
|
19
|
-
jsonHeader.extensions = jsonHeader.extensions || {};
|
|
20
|
-
jsonHeader.extensions['3DTILES_batch_table_hierarchy'] = legacyHierarchy;
|
|
21
|
-
hierarchy = legacyHierarchy;
|
|
22
|
-
}
|
|
23
|
-
if (!hierarchy) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
return initializeHierarchyValues(hierarchy, binaryBody);
|
|
27
|
-
}
|
|
28
|
-
function initializeHierarchyValues(hierarchyJson, binaryBody) {
|
|
29
|
-
var i;
|
|
30
|
-
var classId;
|
|
31
|
-
var binaryAccessor;
|
|
32
|
-
var instancesLength = hierarchyJson.instancesLength;
|
|
33
|
-
var classes = hierarchyJson.classes;
|
|
34
|
-
var classIds = hierarchyJson.classIds;
|
|
35
|
-
var parentCounts = hierarchyJson.parentCounts;
|
|
36
|
-
var parentIds = hierarchyJson.parentIds;
|
|
37
|
-
var parentIdsLength = instancesLength;
|
|
38
|
-
if (defined(classIds.byteOffset)) {
|
|
39
|
-
classIds.componentType = defaultValue(classIds.componentType, GL.UNSIGNED_SHORT);
|
|
40
|
-
classIds.type = AttributeType.SCALAR;
|
|
41
|
-
binaryAccessor = getBinaryAccessor(classIds);
|
|
42
|
-
classIds = binaryAccessor.createArrayBufferView(binaryBody.buffer, binaryBody.byteOffset + classIds.byteOffset, instancesLength);
|
|
43
|
-
}
|
|
44
|
-
var parentIndexes;
|
|
45
|
-
if (defined(parentCounts)) {
|
|
46
|
-
if (defined(parentCounts.byteOffset)) {
|
|
47
|
-
parentCounts.componentType = defaultValue(parentCounts.componentType, GL.UNSIGNED_SHORT);
|
|
48
|
-
parentCounts.type = AttributeType.SCALAR;
|
|
49
|
-
binaryAccessor = getBinaryAccessor(parentCounts);
|
|
50
|
-
parentCounts = binaryAccessor.createArrayBufferView(binaryBody.buffer, binaryBody.byteOffset + parentCounts.byteOffset, instancesLength);
|
|
51
|
-
}
|
|
52
|
-
parentIndexes = new Uint16Array(instancesLength);
|
|
53
|
-
parentIdsLength = 0;
|
|
54
|
-
for (i = 0; i < instancesLength; ++i) {
|
|
55
|
-
parentIndexes[i] = parentIdsLength;
|
|
56
|
-
parentIdsLength += parentCounts[i];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (defined(parentIds) && defined(parentIds.byteOffset)) {
|
|
60
|
-
parentIds.componentType = defaultValue(parentIds.componentType, GL.UNSIGNED_SHORT);
|
|
61
|
-
parentIds.type = AttributeType.SCALAR;
|
|
62
|
-
binaryAccessor = getBinaryAccessor(parentIds);
|
|
63
|
-
parentIds = binaryAccessor.createArrayBufferView(binaryBody.buffer, binaryBody.byteOffset + parentIds.byteOffset, parentIdsLength);
|
|
64
|
-
}
|
|
65
|
-
var classesLength = classes.length;
|
|
66
|
-
for (i = 0; i < classesLength; ++i) {
|
|
67
|
-
var classInstancesLength = classes[i].length;
|
|
68
|
-
var properties = classes[i].instances;
|
|
69
|
-
var binaryProperties = getBinaryProperties(classInstancesLength, properties, binaryBody);
|
|
70
|
-
classes[i].instances = combine(binaryProperties, properties);
|
|
71
|
-
}
|
|
72
|
-
var classCounts = new Array(classesLength).fill(0);
|
|
73
|
-
var classIndexes = new Uint16Array(instancesLength);
|
|
74
|
-
for (i = 0; i < instancesLength; ++i) {
|
|
75
|
-
classId = classIds[i];
|
|
76
|
-
classIndexes[i] = classCounts[classId];
|
|
77
|
-
++classCounts[classId];
|
|
78
|
-
}
|
|
79
|
-
var hierarchy = {
|
|
80
|
-
classes: classes,
|
|
81
|
-
classIds: classIds,
|
|
82
|
-
classIndexes: classIndexes,
|
|
83
|
-
parentCounts: parentCounts,
|
|
84
|
-
parentIndexes: parentIndexes,
|
|
85
|
-
parentIds: parentIds
|
|
86
|
-
};
|
|
87
|
-
validateHierarchy(hierarchy);
|
|
88
|
-
return hierarchy;
|
|
89
|
-
}
|
|
90
|
-
function traverseHierarchy(hierarchy, instanceIndex, endConditionCallback) {
|
|
91
|
-
if (!hierarchy) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
var parentCounts = hierarchy.parentCounts;
|
|
95
|
-
var parentIds = hierarchy.parentIds;
|
|
96
|
-
if (parentIds) {
|
|
97
|
-
return endConditionCallback(hierarchy, instanceIndex);
|
|
98
|
-
}
|
|
99
|
-
if (parentCounts > 0) {
|
|
100
|
-
return traverseHierarchyMultipleParents(hierarchy, instanceIndex, endConditionCallback);
|
|
101
|
-
}
|
|
102
|
-
return traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCallback);
|
|
103
|
-
}
|
|
104
|
-
function traverseHierarchyMultipleParents(hierarchy, instanceIndex, endConditionCallback) {
|
|
105
|
-
var classIds = hierarchy.classIds;
|
|
106
|
-
var parentCounts = hierarchy.parentCounts;
|
|
107
|
-
var parentIds = hierarchy.parentIds;
|
|
108
|
-
var parentIndexes = hierarchy.parentIndexes;
|
|
109
|
-
var instancesLength = classIds.length;
|
|
110
|
-
var visited = scratchVisited;
|
|
111
|
-
visited.length = Math.max(visited.length, instancesLength);
|
|
112
|
-
var visitedMarker = ++marker;
|
|
113
|
-
var stack = scratchStack;
|
|
114
|
-
stack.length = 0;
|
|
115
|
-
stack.push(instanceIndex);
|
|
116
|
-
while (stack.length > 0) {
|
|
117
|
-
instanceIndex = stack.pop();
|
|
118
|
-
if (visited[instanceIndex] === visitedMarker) {
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
visited[instanceIndex] = visitedMarker;
|
|
122
|
-
var result = endConditionCallback(hierarchy, instanceIndex);
|
|
123
|
-
if (defined(result)) {
|
|
124
|
-
return result;
|
|
125
|
-
}
|
|
126
|
-
var parentCount = parentCounts[instanceIndex];
|
|
127
|
-
var parentIndex = parentIndexes[instanceIndex];
|
|
128
|
-
for (var i = 0; i < parentCount; ++i) {
|
|
129
|
-
var parentId = parentIds[parentIndex + i];
|
|
130
|
-
if (parentId !== instanceIndex) {
|
|
131
|
-
stack.push(parentId);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
function traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCallback) {
|
|
138
|
-
var hasParent = true;
|
|
139
|
-
while (hasParent) {
|
|
140
|
-
var result = endConditionCallback(hierarchy, instanceIndex);
|
|
141
|
-
if (defined(result)) {
|
|
142
|
-
return result;
|
|
143
|
-
}
|
|
144
|
-
var parentId = hierarchy.parentIds[instanceIndex];
|
|
145
|
-
hasParent = parentId !== instanceIndex;
|
|
146
|
-
instanceIndex = parentId;
|
|
147
|
-
}
|
|
148
|
-
throw new Error('traverseHierarchySingleParent');
|
|
149
|
-
}
|
|
150
|
-
function validateHierarchy(hierarchy) {
|
|
151
|
-
var scratchValidateStack = [];
|
|
152
|
-
var classIds = hierarchy.classIds;
|
|
153
|
-
var instancesLength = classIds.length;
|
|
154
|
-
for (var i = 0; i < instancesLength; ++i) {
|
|
155
|
-
validateInstance(hierarchy, i, stack);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
function validateInstance(hierarchy, instanceIndex, stack) {
|
|
159
|
-
var parentCounts = hierarchy.parentCounts;
|
|
160
|
-
var parentIds = hierarchy.parentIds;
|
|
161
|
-
var parentIndexes = hierarchy.parentIndexes;
|
|
162
|
-
var classIds = hierarchy.classIds;
|
|
163
|
-
var instancesLength = classIds.length;
|
|
164
|
-
if (!defined(parentIds)) {
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
assert(instanceIndex < instancesLength, "Parent index ".concat(instanceIndex, " exceeds the total number of instances: ").concat(instancesLength));
|
|
168
|
-
assert(stack.indexOf(instanceIndex) === -1, 'Circular dependency detected in the batch table hierarchy.');
|
|
169
|
-
stack.push(instanceIndex);
|
|
170
|
-
var parentCount = defined(parentCounts) ? parentCounts[instanceIndex] : 1;
|
|
171
|
-
var parentIndex = defined(parentCounts) ? parentIndexes[instanceIndex] : instanceIndex;
|
|
172
|
-
for (var i = 0; i < parentCount; ++i) {
|
|
173
|
-
var parentId = parentIds[parentIndex + i];
|
|
174
|
-
if (parentId !== instanceIndex) {
|
|
175
|
-
validateInstance(hierarchy, parentId, stack);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
stack.pop(instanceIndex);
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=tile-3d-batch-table-hierarchy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile-3d-batch-table-hierarchy.js","names":["defined","x","undefined","initializeHierarchy","batchTable","jsonHeader","binaryBody","hierarchy","getExtension","legacyHierarchy","HIERARCHY","console","warn","extensions","initializeHierarchyValues","hierarchyJson","i","classId","binaryAccessor","instancesLength","classes","classIds","parentCounts","parentIds","parentIdsLength","byteOffset","componentType","defaultValue","GL","UNSIGNED_SHORT","type","AttributeType","SCALAR","getBinaryAccessor","createArrayBufferView","buffer","parentIndexes","Uint16Array","classesLength","length","classInstancesLength","properties","instances","binaryProperties","getBinaryProperties","combine","classCounts","Array","fill","classIndexes","validateHierarchy","traverseHierarchy","instanceIndex","endConditionCallback","traverseHierarchyMultipleParents","traverseHierarchySingleParent","visited","scratchVisited","Math","max","visitedMarker","marker","stack","scratchStack","push","pop","result","parentCount","parentIndex","parentId","hasParent","Error","scratchValidateStack","validateInstance","assert","concat","indexOf"],"sources":["../../../../src/lib/classes/tile-3d-batch-table-hierarchy.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\n// TODO - Finish hierarchy suypport: this file is only half ported\n/* eslint-disable */\n// @ts-nocheck\nconst defined = (x) => x !== undefined;\n\nexport function initializeHierarchy(batchTable, jsonHeader, binaryBody) {\n if (!jsonHeader) {\n return null;\n }\n\n let hierarchy = batchTable.getExtension('3DTILES_batch_table_hierarchy');\n\n const legacyHierarchy = jsonHeader.HIERARCHY;\n if (legacyHierarchy) {\n // eslint-disable-next-line\n console.warn('3D Tile Parser: HIERARCHY is deprecated. Use 3DTILES_batch_table_hierarchy.');\n jsonHeader.extensions = jsonHeader.extensions || {};\n jsonHeader.extensions['3DTILES_batch_table_hierarchy'] = legacyHierarchy;\n hierarchy = legacyHierarchy;\n }\n\n if (!hierarchy) {\n return null;\n }\n\n return initializeHierarchyValues(hierarchy, binaryBody);\n}\n\n// eslint-disable-next-line max-statements\nfunction initializeHierarchyValues(hierarchyJson, binaryBody) {\n let i;\n let classId;\n let binaryAccessor;\n\n const instancesLength = hierarchyJson.instancesLength;\n const classes = hierarchyJson.classes;\n let classIds = hierarchyJson.classIds;\n let parentCounts = hierarchyJson.parentCounts;\n let parentIds = hierarchyJson.parentIds;\n let parentIdsLength = instancesLength;\n\n if (defined(classIds.byteOffset)) {\n classIds.componentType = defaultValue(classIds.componentType, GL.UNSIGNED_SHORT);\n classIds.type = AttributeType.SCALAR;\n binaryAccessor = getBinaryAccessor(classIds);\n classIds = binaryAccessor.createArrayBufferView(\n binaryBody.buffer,\n binaryBody.byteOffset + classIds.byteOffset,\n instancesLength\n );\n }\n\n let parentIndexes;\n if (defined(parentCounts)) {\n if (defined(parentCounts.byteOffset)) {\n parentCounts.componentType = defaultValue(parentCounts.componentType, GL.UNSIGNED_SHORT);\n parentCounts.type = AttributeType.SCALAR;\n binaryAccessor = getBinaryAccessor(parentCounts);\n parentCounts = binaryAccessor.createArrayBufferView(\n binaryBody.buffer,\n binaryBody.byteOffset + parentCounts.byteOffset,\n instancesLength\n );\n }\n parentIndexes = new Uint16Array(instancesLength);\n parentIdsLength = 0;\n for (i = 0; i < instancesLength; ++i) {\n parentIndexes[i] = parentIdsLength;\n parentIdsLength += parentCounts[i];\n }\n }\n\n if (defined(parentIds) && defined(parentIds.byteOffset)) {\n parentIds.componentType = defaultValue(parentIds.componentType, GL.UNSIGNED_SHORT);\n parentIds.type = AttributeType.SCALAR;\n binaryAccessor = getBinaryAccessor(parentIds);\n parentIds = binaryAccessor.createArrayBufferView(\n binaryBody.buffer,\n binaryBody.byteOffset + parentIds.byteOffset,\n parentIdsLength\n );\n }\n\n const classesLength = classes.length;\n for (i = 0; i < classesLength; ++i) {\n const classInstancesLength = classes[i].length;\n const properties = classes[i].instances;\n const binaryProperties = getBinaryProperties(classInstancesLength, properties, binaryBody);\n classes[i].instances = combine(binaryProperties, properties);\n }\n\n const classCounts = new Array(classesLength).fill(0);\n const classIndexes = new Uint16Array(instancesLength);\n for (i = 0; i < instancesLength; ++i) {\n classId = classIds[i];\n classIndexes[i] = classCounts[classId];\n ++classCounts[classId];\n }\n\n const hierarchy = {\n classes,\n classIds,\n classIndexes,\n parentCounts,\n parentIndexes,\n parentIds\n };\n\n validateHierarchy(hierarchy);\n\n return hierarchy;\n}\n\n// HELPER CODE\n\n// Traverse over the hierarchy and process each instance with the endConditionCallback.\n// When the endConditionCallback returns a value, the traversal stops and that value is returned.\nexport function traverseHierarchy(hierarchy, instanceIndex, endConditionCallback) {\n if (!hierarchy) {\n return;\n }\n\n const parentCounts = hierarchy.parentCounts;\n const parentIds = hierarchy.parentIds;\n if (parentIds) {\n return endConditionCallback(hierarchy, instanceIndex);\n }\n if (parentCounts > 0) {\n return traverseHierarchyMultipleParents(hierarchy, instanceIndex, endConditionCallback);\n }\n return traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCallback);\n}\n\n// eslint-disable-next-line max-statements\nfunction traverseHierarchyMultipleParents(hierarchy, instanceIndex, endConditionCallback) {\n const classIds = hierarchy.classIds;\n const parentCounts = hierarchy.parentCounts;\n const parentIds = hierarchy.parentIds;\n const parentIndexes = hierarchy.parentIndexes;\n const instancesLength = classIds.length;\n\n // Ignore instances that have already been visited. This occurs in diamond inheritance situations.\n // Use a marker value to indicate that an instance has been visited, which increments with each run.\n // This is more efficient than clearing the visited array every time.\n const visited = scratchVisited;\n visited.length = Math.max(visited.length, instancesLength);\n const visitedMarker = ++marker;\n\n const stack = scratchStack;\n stack.length = 0;\n stack.push(instanceIndex);\n\n while (stack.length > 0) {\n instanceIndex = stack.pop();\n if (visited[instanceIndex] === visitedMarker) {\n // This instance has already been visited, stop traversal\n continue;\n }\n visited[instanceIndex] = visitedMarker;\n const result = endConditionCallback(hierarchy, instanceIndex);\n if (defined(result)) {\n // The end condition was met, stop the traversal and return the result\n return result;\n }\n const parentCount = parentCounts[instanceIndex];\n const parentIndex = parentIndexes[instanceIndex];\n for (let i = 0; i < parentCount; ++i) {\n const parentId = parentIds[parentIndex + i];\n // Stop the traversal when the instance has no parent (its parentId equals itself)\n // else add the parent to the stack to continue the traversal.\n if (parentId !== instanceIndex) {\n stack.push(parentId);\n }\n }\n }\n\n return null;\n}\n\nfunction traverseHierarchySingleParent(hierarchy, instanceIndex, endConditionCallback) {\n let hasParent = true;\n while (hasParent) {\n const result = endConditionCallback(hierarchy, instanceIndex);\n if (defined(result)) {\n // The end condition was met, stop the traversal and return the result\n return result;\n }\n const parentId = hierarchy.parentIds[instanceIndex];\n hasParent = parentId !== instanceIndex;\n instanceIndex = parentId;\n }\n throw new Error('traverseHierarchySingleParent');\n}\n\n// DEBUG CODE\n\nfunction validateHierarchy(hierarchy) {\n const scratchValidateStack = [];\n\n const classIds = hierarchy.classIds;\n const instancesLength = classIds.length;\n\n for (let i = 0; i < instancesLength; ++i) {\n validateInstance(hierarchy, i, stack);\n }\n}\n\nfunction validateInstance(hierarchy, instanceIndex, stack) {\n const parentCounts = hierarchy.parentCounts;\n const parentIds = hierarchy.parentIds;\n const parentIndexes = hierarchy.parentIndexes;\n const classIds = hierarchy.classIds;\n const instancesLength = classIds.length;\n\n if (!defined(parentIds)) {\n // No need to validate if there are no parents\n return;\n }\n\n assert(\n instanceIndex < instancesLength,\n `Parent index ${instanceIndex} exceeds the total number of instances: ${instancesLength}`\n );\n assert(\n stack.indexOf(instanceIndex) === -1,\n 'Circular dependency detected in the batch table hierarchy.'\n );\n\n stack.push(instanceIndex);\n const parentCount = defined(parentCounts) ? parentCounts[instanceIndex] : 1;\n const parentIndex = defined(parentCounts) ? parentIndexes[instanceIndex] : instanceIndex;\n for (let i = 0; i < parentCount; ++i) {\n const parentId = parentIds[parentIndex + i];\n // Stop the traversal when the instance has no parent (its parentId equals itself), else continue the traversal.\n if (parentId !== instanceIndex) {\n validateInstance(hierarchy, parentId, stack);\n }\n }\n stack.pop(instanceIndex);\n}\n"],"mappings":"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"}
|