@loaders.gl/3d-tiles 4.0.0-alpha.4 → 4.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +2 -2
- package/dist/cesium-ion-loader.d.ts +6 -0
- package/dist/cesium-ion-loader.d.ts.map +1 -0
- package/dist/cesium-ion-loader.js +37 -32
- package/dist/dist.min.js +14526 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/cesium-ion-loader.js +77 -0
- package/dist/es5/cesium-ion-loader.js.map +1 -0
- package/dist/es5/index.js +63 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +114 -0
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +180 -0
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/es5/lib/classes/tile-3d-batch-table.js +285 -0
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/es5/lib/classes/tile-3d-feature-table.js +97 -0
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/es5/lib/constants.js +32 -0
- package/dist/es5/lib/constants.js.map +1 -0
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +49 -0
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +30 -0
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +47 -0
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +48 -0
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/es5/lib/encoders/encode-3d-tile.js +35 -0
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +35 -0
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/es5/lib/ion/ion.js +170 -0
- package/dist/es5/lib/ion/ion.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +64 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +32 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +32 -0
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +280 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +96 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +22 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +145 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +85 -0
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/es5/lib/parsers/helpers/parse-utils.js +28 -0
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +51 -0
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +48 -0
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +35 -0
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +271 -0
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +172 -0
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +271 -0
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile.js +74 -0
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js +30 -0
- package/dist/es5/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js +44 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js +30 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js +52 -0
- package/dist/es5/lib/utils/s2/converters/s2-to-region.js.map +1 -0
- package/dist/es5/lib/utils/s2/index.js +90 -0
- package/dist/es5/lib/utils/s2/index.js.map +1 -0
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js +19 -0
- package/dist/es5/lib/utils/s2/s2-geometry-functions.js.map +1 -0
- package/dist/es5/lib/utils/s2/s2-token-functions.js +41 -0
- package/dist/es5/lib/utils/s2/s2-token-functions.js.map +1 -0
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js +22 -0
- package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js +207 -0
- package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
- package/dist/es5/lib/utils/version.js +9 -0
- package/dist/es5/lib/utils/version.js.map +1 -0
- package/dist/es5/tile-3d-subtree-loader.js +22 -0
- package/dist/es5/tile-3d-subtree-loader.js.map +1 -0
- package/dist/es5/tile-3d-writer.js +26 -0
- package/dist/es5/tile-3d-writer.js.map +1 -0
- package/dist/es5/tiles-3d-loader.js +134 -0
- package/dist/es5/tiles-3d-loader.js.map +1 -0
- package/dist/es5/types.js +2 -0
- package/dist/es5/types.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/cesium-ion-loader.js +36 -0
- package/dist/esm/cesium-ion-loader.js.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +96 -0
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +171 -0
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/esm/lib/classes/tile-3d-batch-table.js +231 -0
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/esm/lib/classes/tile-3d-feature-table.js +70 -0
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/esm/lib/constants.js +22 -0
- package/dist/esm/lib/constants.js.map +1 -0
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +40 -0
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js +21 -0
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +36 -0
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +39 -0
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/esm/lib/encoders/encode-3d-tile.js +29 -0
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +28 -0
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/esm/lib/ion/ion.js +70 -0
- package/dist/esm/lib/ion/ion.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +58 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +26 -0
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +241 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +59 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +16 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +67 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +80 -0
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/esm/lib/parsers/helpers/parse-utils.js +20 -0
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +25 -0
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +15 -0
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +10 -0
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +164 -0
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +147 -0
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +211 -0
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile.js +30 -0
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/esm/lib/utils/obb/s2-corners-to-obb.js +23 -0
- package/dist/esm/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-boundary.js +40 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-obb-points.js +24 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-region.js +42 -0
- package/dist/esm/lib/utils/s2/converters/s2-to-region.js.map +1 -0
- package/dist/esm/lib/utils/s2/index.js +7 -0
- package/dist/esm/lib/utils/s2/index.js.map +1 -0
- package/dist/esm/lib/utils/s2/s2-geometry-functions.js +12 -0
- package/dist/esm/lib/utils/s2/s2-geometry-functions.js.map +1 -0
- package/dist/esm/lib/utils/s2/s2-token-functions.js +32 -0
- package/dist/esm/lib/utils/s2/s2-token-functions.js.map +1 -0
- package/dist/esm/lib/utils/s2/s2geometry/s2-cell-utils.js +15 -0
- package/dist/esm/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
- package/dist/esm/lib/utils/s2/s2geometry/s2-geometry.js +186 -0
- package/dist/esm/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
- package/dist/esm/lib/utils/version.js +2 -0
- package/dist/esm/lib/utils/version.js.map +1 -0
- package/dist/esm/tile-3d-subtree-loader.js +14 -0
- package/dist/esm/tile-3d-subtree-loader.js.map +1 -0
- package/dist/esm/tile-3d-writer.js +19 -0
- package/dist/esm/tile-3d-writer.js.map +1 -0
- package/dist/esm/tiles-3d-loader.js +64 -0
- package/dist/esm/tiles-3d-loader.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -8
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +8 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +106 -89
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts +10 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +184 -202
- package/dist/lib/classes/tile-3d-batch-table.d.ts +34 -0
- package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table.js +223 -267
- package/dist/lib/classes/tile-3d-feature-table.d.ts +15 -0
- package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -0
- package/dist/lib/classes/tile-3d-feature-table.js +64 -79
- package/dist/lib/constants.d.ts +22 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +23 -18
- package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
- package/dist/lib/encoders/encode-3d-tile-composite.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-composite.js +23 -24
- package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
- package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +36 -38
- package/dist/lib/encoders/encode-3d-tile.d.ts +2 -0
- package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -0
- package/dist/lib/encoders/encode-3d-tile.js +30 -32
- package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts +3 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +28 -29
- package/dist/lib/ion/ion.d.ts +4 -0
- package/dist/lib/ion/ion.d.ts.map +1 -0
- package/dist/lib/ion/ion.js +60 -69
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts +7 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +60 -62
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts +6 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts +2 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +39 -28
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +57 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +266 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts +7 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +82 -63
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +2 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +26 -15
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +10 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +104 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts +3 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +85 -81
- package/dist/lib/parsers/helpers/parse-utils.d.ts +4 -0
- package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -0
- package/dist/lib/parsers/helpers/parse-utils.js +29 -16
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +30 -26
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +25 -16
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +18 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts +20 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-header.js +170 -70
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +179 -170
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +3 -0
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +350 -184
- package/dist/lib/parsers/parse-3d-tile.d.ts +2 -0
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +36 -27
- package/dist/lib/utils/obb/s2-corners-to-obb.d.ts +15 -0
- package/dist/lib/utils/obb/s2-corners-to-obb.d.ts.map +1 -0
- package/dist/lib/utils/obb/s2-corners-to-obb.js +37 -0
- package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts +9 -0
- package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts.map +1 -0
- package/dist/lib/utils/s2/converters/s2-to-boundary.js +61 -0
- package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts +15 -0
- package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts.map +1 -0
- package/dist/lib/utils/s2/converters/s2-to-obb-points.js +36 -0
- package/dist/lib/utils/s2/converters/s2-to-region.d.ts +13 -0
- package/dist/lib/utils/s2/converters/s2-to-region.d.ts.map +1 -0
- package/dist/lib/utils/s2/converters/s2-to-region.js +59 -0
- package/dist/lib/utils/s2/index.d.ts +8 -0
- package/dist/lib/utils/s2/index.d.ts.map +1 -0
- package/dist/lib/utils/s2/index.js +23 -0
- package/dist/lib/utils/s2/s2-geometry-functions.d.ts +14 -0
- package/dist/lib/utils/s2/s2-geometry-functions.d.ts.map +1 -0
- package/dist/lib/utils/s2/s2-geometry-functions.js +29 -0
- package/dist/lib/utils/s2/s2-token-functions.d.ts +23 -0
- package/dist/lib/utils/s2/s2-token-functions.d.ts.map +1 -0
- package/dist/lib/utils/s2/s2-token-functions.js +68 -0
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts +14 -0
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts.map +1 -0
- package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js +32 -0
- package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts +52 -0
- package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts.map +1 -0
- package/dist/lib/utils/s2/s2geometry/s2-geometry.js +260 -0
- package/dist/lib/utils/version.d.ts +2 -0
- package/dist/lib/utils/version.d.ts.map +1 -0
- package/dist/lib/utils/version.js +7 -2
- package/dist/tile-3d-subtree-loader.d.ts +7 -0
- package/dist/tile-3d-subtree-loader.d.ts.map +1 -0
- package/dist/tile-3d-subtree-loader.js +23 -0
- package/dist/tile-3d-writer.d.ts +6 -0
- package/dist/tile-3d-writer.d.ts.map +1 -0
- package/dist/tile-3d-writer.js +24 -17
- package/dist/tiles-3d-loader.d.ts +6 -0
- package/dist/tiles-3d-loader.d.ts.map +1 -0
- package/dist/tiles-3d-loader.js +63 -62
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -2
- package/package.json +14 -13
- package/src/cesium-ion-loader.ts +1 -0
- package/src/index.ts +2 -1
- package/src/lib/classes/{tile-3d-batch-table.js → tile-3d-batch-table.ts} +14 -4
- package/src/lib/classes/{tile-3d-feature-table.js → tile-3d-feature-table.ts} +5 -2
- package/src/lib/{constants.js → constants.ts} +2 -1
- package/src/lib/parsers/helpers/{normalize-3d-tile-colors.js → normalize-3d-tile-colors.ts} +1 -1
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +396 -0
- package/src/lib/parsers/helpers/{parse-3d-tile-gltf-view.js → parse-3d-tile-gltf-view.ts} +1 -1
- package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +148 -0
- package/src/lib/parsers/helpers/{parse-3d-tile-tables.js → parse-3d-tile-tables.ts} +1 -1
- package/src/lib/parsers/parse-3d-tile-gltf.ts +16 -0
- package/src/lib/parsers/parse-3d-tile-header.ts +220 -0
- package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +6 -0
- package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +2 -2
- package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +8 -0
- package/src/lib/utils/obb/s2-corners-to-obb.ts +51 -0
- package/src/lib/utils/s2/converters/s2-to-boundary.ts +67 -0
- package/src/lib/utils/s2/converters/s2-to-obb-points.ts +46 -0
- package/src/lib/utils/s2/converters/s2-to-region.ts +69 -0
- package/src/lib/utils/s2/index.ts +17 -0
- package/src/lib/utils/s2/s2-geometry-functions.ts +28 -0
- package/src/lib/utils/s2/s2-token-functions.ts +67 -0
- package/src/lib/utils/s2/s2geometry/s2-cell-utils.ts +33 -0
- package/src/lib/utils/s2/s2geometry/s2-geometry.ts +296 -0
- package/src/tile-3d-subtree-loader.ts +19 -0
- package/src/tiles-3d-loader.ts +2 -1
- package/src/types.ts +60 -6
- package/dist/bundle.js.map +0 -1
- package/dist/cesium-ion-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/lib/ion/ion.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/tile-3d-writer.js.map +0 -1
- package/dist/tiles-3d-loader.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/lib/parsers/parse-3d-tile-header.js +0 -69
- /package/src/lib/classes/helpers/{tile-3d-accessor-utils.js → tile-3d-accessor-utils.ts} +0 -0
- /package/src/lib/classes/{tile-3d-batch-table-hierarchy.js → tile-3d-batch-table-hierarchy.ts} +0 -0
- /package/src/lib/encoders/{encode-3d-tile-batched-model.js → encode-3d-tile-batched-model.ts} +0 -0
- /package/src/lib/encoders/{encode-3d-tile-composite.js → encode-3d-tile-composite.ts} +0 -0
- /package/src/lib/encoders/{encode-3d-tile-instanced-model.js → encode-3d-tile-instanced-model.ts} +0 -0
- /package/src/lib/encoders/{encode-3d-tile-point-cloud.js → encode-3d-tile-point-cloud.ts} +0 -0
- /package/src/lib/encoders/{encode-3d-tile.js → encode-3d-tile.ts} +0 -0
- /package/src/lib/encoders/helpers/{encode-3d-tile-header.js → encode-3d-tile-header.ts} +0 -0
- /package/src/lib/ion/{ion.js → ion.ts} +0 -0
- /package/src/lib/parsers/helpers/{normalize-3d-tile-normals.js → normalize-3d-tile-normals.ts} +0 -0
- /package/src/lib/parsers/helpers/{normalize-3d-tile-positions.js → normalize-3d-tile-positions.ts} +0 -0
- /package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +0 -0
- /package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
- /package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +0 -0
- /package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +0 -0
- /package/src/lib/utils/{version.js → version.ts} +0 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// math.gl, MIT license
|
|
3
|
+
/*
|
|
4
|
+
Adapted from s2-geometry under ISC License (ISC)
|
|
5
|
+
Copyright (c) 2012-2016, Jon Atkins <github@jonatkins.com>
|
|
6
|
+
Copyright (c) 2016, AJ ONeal <aj@daplie.com>
|
|
7
|
+
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
8
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getCornerLngLats = exports.getS2LngLatFromS2Cell = exports.XYZToLngLat = exports.FaceUVToXYZ = exports.STToUV = exports.IJToST = exports.getS2CellIdFromQuadkey = exports.getS2QuadkeyFromCellId = exports.getS2CellFromQuadKey = void 0;
|
|
15
|
+
const long_1 = __importDefault(require("long"));
|
|
16
|
+
//
|
|
17
|
+
// Functional Style
|
|
18
|
+
//
|
|
19
|
+
const FACE_BITS = 3;
|
|
20
|
+
const MAX_LEVEL = 30;
|
|
21
|
+
const POS_BITS = 2 * MAX_LEVEL + 1; // 61 (60 bits of data, 1 bit lsb marker)
|
|
22
|
+
const RADIAN_TO_DEGREE = 180 / Math.PI;
|
|
23
|
+
/**
|
|
24
|
+
* Return the S2Cell
|
|
25
|
+
* @param hilbertQuadkey {string} A string that is the Hilbert quad key (containing /)
|
|
26
|
+
* @returns {@link S2Cell}
|
|
27
|
+
*/
|
|
28
|
+
// eslint-disable-next-line max-statements
|
|
29
|
+
function getS2CellFromQuadKey(hilbertQuadkey) {
|
|
30
|
+
if (hilbertQuadkey.length === 0) {
|
|
31
|
+
throw new Error(`Invalid Hilbert quad key ${hilbertQuadkey}`);
|
|
32
|
+
}
|
|
33
|
+
const parts = hilbertQuadkey.split('/');
|
|
34
|
+
const face = parseInt(parts[0], 10); // face is in the range [0..5]
|
|
35
|
+
const position = parts[1]; // position is in the range [0..4**30-1]
|
|
36
|
+
const maxLevel = position.length;
|
|
37
|
+
let level = 0;
|
|
38
|
+
const point = [0, 0];
|
|
39
|
+
for (let i = maxLevel - 1; i >= 0; i--) {
|
|
40
|
+
level = maxLevel - i;
|
|
41
|
+
const bit = position[i];
|
|
42
|
+
let rx = 0;
|
|
43
|
+
let ry = 0;
|
|
44
|
+
if (bit === '1') {
|
|
45
|
+
ry = 1;
|
|
46
|
+
}
|
|
47
|
+
else if (bit === '2') {
|
|
48
|
+
rx = 1;
|
|
49
|
+
ry = 1;
|
|
50
|
+
}
|
|
51
|
+
else if (bit === '3') {
|
|
52
|
+
rx = 1;
|
|
53
|
+
}
|
|
54
|
+
const val = Math.pow(2, level - 1);
|
|
55
|
+
rotateAndFlipQuadrant(val, point, rx, ry);
|
|
56
|
+
point[0] += val * rx;
|
|
57
|
+
point[1] += val * ry;
|
|
58
|
+
}
|
|
59
|
+
if (face % 2 === 1) {
|
|
60
|
+
const t = point[0];
|
|
61
|
+
point[0] = point[1];
|
|
62
|
+
point[1] = t;
|
|
63
|
+
}
|
|
64
|
+
return { face, ij: point, level };
|
|
65
|
+
}
|
|
66
|
+
exports.getS2CellFromQuadKey = getS2CellFromQuadKey;
|
|
67
|
+
/**
|
|
68
|
+
* Convets S2 cell ID to the Hilbert quad key
|
|
69
|
+
* @param cellId {Long} Cell id that is a 64-bit encoding of a face and a Hilbert curve parameter on that face
|
|
70
|
+
* @returns {string} the Hilbert quad key (containing /) as a string in the format 'face/pos', where
|
|
71
|
+
* - face is a 10-base representation of the face number
|
|
72
|
+
* - pos is a 4-base representation of the position along the Hilbert curve. For example,
|
|
73
|
+
* pos == '13' means the following:
|
|
74
|
+
* The face is divided two times. After the first time the child cell with position 1 will be selected.
|
|
75
|
+
* Then, this cell will be divided the second time, and the child cell with position 3 will be selected.
|
|
76
|
+
*/
|
|
77
|
+
function getS2QuadkeyFromCellId(cellId) {
|
|
78
|
+
if (cellId.isZero()) {
|
|
79
|
+
// Invalid token
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
let bin = cellId.toString(2);
|
|
83
|
+
while (bin.length < FACE_BITS + POS_BITS) {
|
|
84
|
+
// eslint-disable-next-line prefer-template
|
|
85
|
+
bin = '0' + bin;
|
|
86
|
+
}
|
|
87
|
+
// MUST come AFTER binstr has been left-padded with '0's
|
|
88
|
+
const lsbIndex = bin.lastIndexOf('1');
|
|
89
|
+
// substring(start, end) // includes start, does not include end
|
|
90
|
+
const faceB = bin.substring(0, 3);
|
|
91
|
+
// posB will always be a multiple of 2 (or it's invalid)
|
|
92
|
+
const posB = bin.substring(3, lsbIndex);
|
|
93
|
+
const levelN = posB.length / 2;
|
|
94
|
+
const faceS = long_1.default.fromString(faceB, true, 2).toString(10);
|
|
95
|
+
/*
|
|
96
|
+
Here is a fix for the case when posB is an empty string that causes an exception in Long.fromString
|
|
97
|
+
*/
|
|
98
|
+
let posS = '';
|
|
99
|
+
if (levelN !== 0) {
|
|
100
|
+
// posB is not an empty string, because levelN !== 0
|
|
101
|
+
posS = long_1.default.fromString(posB, true, 2).toString(4);
|
|
102
|
+
while (posS.length < levelN) {
|
|
103
|
+
// eslint-disable-next-line prefer-template
|
|
104
|
+
posS = '0' + posS;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Note, posS will be "" for the level==0, which corresponds to the full face.
|
|
108
|
+
// Example: Full face 0 (No subdivision, so level==0): Returns "0/"
|
|
109
|
+
// TODO: Is it ok?
|
|
110
|
+
return `${faceS}/${posS}`;
|
|
111
|
+
}
|
|
112
|
+
exports.getS2QuadkeyFromCellId = getS2QuadkeyFromCellId;
|
|
113
|
+
/**
|
|
114
|
+
* Convets S2 the Hilbert quad key to cell ID.
|
|
115
|
+
* @param quadkey {string} The Hilbert quad key (containing /) as a string in the format 'face/pos'
|
|
116
|
+
* @returns {Long} Cell id that is a 64-bit encoding of a face and a Hilbert curve parameter on that face
|
|
117
|
+
*/
|
|
118
|
+
/* eslint complexity: ["error", { "max": 14 }] */
|
|
119
|
+
function getS2CellIdFromQuadkey(hilbertQuadkey) {
|
|
120
|
+
if (hilbertQuadkey.length === 0 || hilbertQuadkey.indexOf('/') !== 1) {
|
|
121
|
+
throw new Error(`Invalid Hilbert quad key ${hilbertQuadkey}`);
|
|
122
|
+
}
|
|
123
|
+
let idS = '';
|
|
124
|
+
const faceS = hilbertQuadkey[0];
|
|
125
|
+
switch (faceS) {
|
|
126
|
+
case '0':
|
|
127
|
+
idS += '000';
|
|
128
|
+
break;
|
|
129
|
+
case '1':
|
|
130
|
+
idS += '001';
|
|
131
|
+
break;
|
|
132
|
+
case '2':
|
|
133
|
+
idS += '010';
|
|
134
|
+
break;
|
|
135
|
+
case '3':
|
|
136
|
+
idS += '011';
|
|
137
|
+
break;
|
|
138
|
+
case '4':
|
|
139
|
+
idS += '100';
|
|
140
|
+
break;
|
|
141
|
+
case '5':
|
|
142
|
+
idS += '101';
|
|
143
|
+
break;
|
|
144
|
+
default:
|
|
145
|
+
throw new Error(`Invalid Hilbert quad key ${hilbertQuadkey}`);
|
|
146
|
+
}
|
|
147
|
+
const maxLevel = hilbertQuadkey.length;
|
|
148
|
+
// Don't convert position to Long, because it can contain leading zeros, which makes you handle it later.
|
|
149
|
+
for (let i = 2; i < maxLevel; i++) {
|
|
150
|
+
// The first char is a face, the second char is '/'
|
|
151
|
+
const p = hilbertQuadkey[i];
|
|
152
|
+
switch (p) {
|
|
153
|
+
case '0':
|
|
154
|
+
idS += '00';
|
|
155
|
+
break;
|
|
156
|
+
case '1':
|
|
157
|
+
idS += '01';
|
|
158
|
+
break;
|
|
159
|
+
case '2':
|
|
160
|
+
idS += '10';
|
|
161
|
+
break;
|
|
162
|
+
case '3':
|
|
163
|
+
idS += '11';
|
|
164
|
+
break;
|
|
165
|
+
default:
|
|
166
|
+
throw new Error(`Invalid Hilbert quad key ${hilbertQuadkey}`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Append the sentinel bit
|
|
170
|
+
idS += '1';
|
|
171
|
+
const paddedId = idS.padEnd(64, '0');
|
|
172
|
+
const id = long_1.default.fromString(paddedId, true, 2);
|
|
173
|
+
return id;
|
|
174
|
+
}
|
|
175
|
+
exports.getS2CellIdFromQuadkey = getS2CellIdFromQuadkey;
|
|
176
|
+
function IJToST(ij, level, offsets) {
|
|
177
|
+
const maxSize = 1 << level;
|
|
178
|
+
return [(ij[0] + offsets[0]) / maxSize, (ij[1] + offsets[1]) / maxSize];
|
|
179
|
+
}
|
|
180
|
+
exports.IJToST = IJToST;
|
|
181
|
+
function singleSTtoUV(st) {
|
|
182
|
+
if (st >= 0.5) {
|
|
183
|
+
return (1 / 3.0) * (4 * st * st - 1);
|
|
184
|
+
}
|
|
185
|
+
return (1 / 3.0) * (1 - 4 * (1 - st) * (1 - st));
|
|
186
|
+
}
|
|
187
|
+
function STToUV(st) {
|
|
188
|
+
return [singleSTtoUV(st[0]), singleSTtoUV(st[1])];
|
|
189
|
+
}
|
|
190
|
+
exports.STToUV = STToUV;
|
|
191
|
+
function FaceUVToXYZ(face, [u, v]) {
|
|
192
|
+
switch (face) {
|
|
193
|
+
case 0:
|
|
194
|
+
return [1, u, v];
|
|
195
|
+
case 1:
|
|
196
|
+
return [-u, 1, v];
|
|
197
|
+
case 2:
|
|
198
|
+
return [-u, -v, 1];
|
|
199
|
+
case 3:
|
|
200
|
+
return [-1, -v, -u];
|
|
201
|
+
case 4:
|
|
202
|
+
return [v, -1, -u];
|
|
203
|
+
case 5:
|
|
204
|
+
return [v, u, -1];
|
|
205
|
+
default:
|
|
206
|
+
throw new Error('Invalid face');
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.FaceUVToXYZ = FaceUVToXYZ;
|
|
210
|
+
function XYZToLngLat([x, y, z]) {
|
|
211
|
+
const lat = Math.atan2(z, Math.sqrt(x * x + y * y));
|
|
212
|
+
const lng = Math.atan2(y, x);
|
|
213
|
+
return [lng * RADIAN_TO_DEGREE, lat * RADIAN_TO_DEGREE];
|
|
214
|
+
}
|
|
215
|
+
exports.XYZToLngLat = XYZToLngLat;
|
|
216
|
+
function rotateAndFlipQuadrant(n, point, rx, ry) {
|
|
217
|
+
if (ry === 0) {
|
|
218
|
+
if (rx === 1) {
|
|
219
|
+
point[0] = n - 1 - point[0];
|
|
220
|
+
point[1] = n - 1 - point[1];
|
|
221
|
+
}
|
|
222
|
+
const x = point[0];
|
|
223
|
+
point[0] = point[1];
|
|
224
|
+
point[1] = x;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Retrieve S2 geometry center
|
|
229
|
+
* @param s2cell {S2Cell} S2 cell
|
|
230
|
+
* @returns {[number, number]} Longitude and Latitude coordinates of the S2 cell's center
|
|
231
|
+
*/
|
|
232
|
+
function getS2LngLatFromS2Cell(s2Cell) {
|
|
233
|
+
const st = IJToST(s2Cell.ij, s2Cell.level, [0.5, 0.5]);
|
|
234
|
+
const uv = STToUV(st);
|
|
235
|
+
const xyz = FaceUVToXYZ(s2Cell.face, uv);
|
|
236
|
+
return XYZToLngLat(xyz);
|
|
237
|
+
}
|
|
238
|
+
exports.getS2LngLatFromS2Cell = getS2LngLatFromS2Cell;
|
|
239
|
+
/**
|
|
240
|
+
* Return longitude and latitude of four corners of the cell.
|
|
241
|
+
* @param s2Cell {S2Cell} S2 cell
|
|
242
|
+
* @returns {Array<[number, number]>} Array of longitude and latitude pairs (in degrees) for four corners of the cell.
|
|
243
|
+
*/
|
|
244
|
+
function getCornerLngLats(s2Cell) {
|
|
245
|
+
const result = [];
|
|
246
|
+
const offsets = [
|
|
247
|
+
[0.0, 0.0],
|
|
248
|
+
[0.0, 1.0],
|
|
249
|
+
[1.0, 1.0],
|
|
250
|
+
[1.0, 0.0]
|
|
251
|
+
];
|
|
252
|
+
for (let i = 0; i < 4; i++) {
|
|
253
|
+
const st = IJToST(s2Cell.ij, s2Cell.level, offsets[i]);
|
|
254
|
+
const uv = STToUV(st);
|
|
255
|
+
const xyz = FaceUVToXYZ(s2Cell.face, uv);
|
|
256
|
+
result.push(XYZToLngLat(xyz));
|
|
257
|
+
}
|
|
258
|
+
return result;
|
|
259
|
+
}
|
|
260
|
+
exports.getCornerLngLats = getCornerLngLats;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/version.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,KAA8D,CAAC"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION = void 0;
|
|
4
|
+
// Version constant cannot be imported, it needs to correspond to the build version of **this** module.
|
|
5
|
+
// __VERSION__ is injected by babel-plugin-version-inline
|
|
6
|
+
// @ts-ignore TS2304: Cannot find name '__VERSION__'.
|
|
7
|
+
exports.VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-3d-subtree-loader.d.ts","sourceRoot":"","sources":["../src/tile-3d-subtree-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAI/D;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAUjC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Tile3DSubtreeLoader = void 0;
|
|
7
|
+
const parse_3d_tile_subtree_1 = __importDefault(require("./lib/parsers/helpers/parse-3d-tile-subtree"));
|
|
8
|
+
const version_1 = require("./lib/utils/version");
|
|
9
|
+
/**
|
|
10
|
+
* Loader for 3D Tiles Subtree
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
exports.Tile3DSubtreeLoader = {
|
|
14
|
+
id: '3d-tiles-subtree',
|
|
15
|
+
name: '3D Tiles Subtree',
|
|
16
|
+
module: '3d-tiles',
|
|
17
|
+
version: version_1.VERSION,
|
|
18
|
+
extensions: ['subtree'],
|
|
19
|
+
mimeTypes: ['application/octet-stream'],
|
|
20
|
+
tests: ['subtree'],
|
|
21
|
+
parse: parse_3d_tile_subtree_1.default,
|
|
22
|
+
options: {}
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tile-3d-writer.d.ts","sourceRoot":"","sources":["../src/tile-3d-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAY1B,CAAC"}
|
package/dist/tile-3d-writer.js
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Tile3DWriter = void 0;
|
|
7
|
+
const version_1 = require("./lib/utils/version");
|
|
8
|
+
const encode_3d_tile_1 = __importDefault(require("./lib/encoders/encode-3d-tile"));
|
|
9
|
+
/**
|
|
10
|
+
* Exporter for 3D Tiles
|
|
11
|
+
*/
|
|
12
|
+
exports.Tile3DWriter = {
|
|
13
|
+
name: '3D Tile',
|
|
14
|
+
id: '3d-tiles',
|
|
15
|
+
module: '3d-tiles',
|
|
16
|
+
version: version_1.VERSION,
|
|
17
|
+
extensions: ['cmpt', 'pnts', 'b3dm', 'i3dm'],
|
|
18
|
+
mimeTypes: ['application/octet-stream'],
|
|
19
|
+
encodeSync,
|
|
20
|
+
binary: true,
|
|
21
|
+
options: {
|
|
22
|
+
['3d-tiles']: {}
|
|
23
|
+
}
|
|
15
24
|
};
|
|
16
|
-
|
|
17
25
|
function encodeSync(tile, options) {
|
|
18
|
-
|
|
26
|
+
return (0, encode_3d_tile_1.default)(tile, options);
|
|
19
27
|
}
|
|
20
|
-
//# sourceMappingURL=tile-3d-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tiles-3d-loader.d.ts","sourceRoot":"","sources":["../src/tiles-3d-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAO/D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,gBAiB3B,CAAC"}
|
package/dist/tiles-3d-loader.js
CHANGED
|
@@ -1,72 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tiles3DLoader = void 0;
|
|
4
|
+
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
5
|
+
const tiles_1 = require("@loaders.gl/tiles");
|
|
6
|
+
const version_1 = require("./lib/utils/version");
|
|
7
|
+
const parse_3d_tile_1 = require("./lib/parsers/parse-3d-tile");
|
|
8
|
+
const parse_3d_tile_header_1 = require("./lib/parsers/parse-3d-tile-header");
|
|
9
|
+
/**
|
|
10
|
+
* Loader for 3D Tiles
|
|
11
|
+
*/
|
|
12
|
+
exports.Tiles3DLoader = {
|
|
13
|
+
id: '3d-tiles',
|
|
14
|
+
name: '3D Tiles',
|
|
15
|
+
module: '3d-tiles',
|
|
16
|
+
version: version_1.VERSION,
|
|
17
|
+
extensions: ['cmpt', 'pnts', 'b3dm', 'i3dm'],
|
|
18
|
+
mimeTypes: ['application/octet-stream'],
|
|
19
|
+
tests: ['cmpt', 'pnts', 'b3dm', 'i3dm'],
|
|
20
|
+
parse,
|
|
21
|
+
options: {
|
|
22
|
+
'3d-tiles': {
|
|
23
|
+
loadGLTF: true,
|
|
24
|
+
decodeQuantizedPositions: false,
|
|
25
|
+
isTileset: 'auto',
|
|
26
|
+
assetGltfUpAxis: null
|
|
27
|
+
}
|
|
21
28
|
}
|
|
22
|
-
}
|
|
23
29
|
};
|
|
24
|
-
|
|
25
30
|
function getBaseUri(tileset) {
|
|
26
|
-
|
|
31
|
+
return loader_utils_1.path.dirname(tileset.url);
|
|
27
32
|
}
|
|
28
|
-
|
|
29
33
|
async function parseTile(arrayBuffer, options, context) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const tile = {
|
|
35
|
+
content: {
|
|
36
|
+
featureIds: null
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const byteOffset = 0;
|
|
40
|
+
await (0, parse_3d_tile_1.parse3DTile)(arrayBuffer, byteOffset, options, context, tile.content);
|
|
41
|
+
return tile.content;
|
|
38
42
|
}
|
|
39
|
-
|
|
40
43
|
async function parseTileset(data, options, context) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
const tilesetJson = JSON.parse(new TextDecoder().decode(data));
|
|
45
|
+
// eslint-disable-next-line no-use-before-define
|
|
46
|
+
tilesetJson.loader = options.loader || exports.Tiles3DLoader;
|
|
47
|
+
tilesetJson.url = context.url;
|
|
48
|
+
// base path that non-absolute paths in tileset are relative to.
|
|
49
|
+
tilesetJson.basePath = getBaseUri(tilesetJson);
|
|
50
|
+
tilesetJson.root = await (0, parse_3d_tile_header_1.normalizeTileHeaders)(tilesetJson, options);
|
|
51
|
+
tilesetJson.type = tiles_1.TILESET_TYPE.TILES3D;
|
|
52
|
+
tilesetJson.lodMetricType = tiles_1.LOD_METRIC_TYPE.GEOMETRIC_ERROR;
|
|
53
|
+
tilesetJson.lodMetricValue = tilesetJson.root?.lodMetricValue || 0;
|
|
54
|
+
return tilesetJson;
|
|
52
55
|
}
|
|
53
|
-
|
|
54
56
|
async function parse(data, options, context) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
57
|
+
// auto detect file type
|
|
58
|
+
const loaderOptions = options['3d-tiles'] || {};
|
|
59
|
+
let isTileset;
|
|
60
|
+
if (loaderOptions.isTileset === 'auto') {
|
|
61
|
+
isTileset = context.url && context.url.indexOf('.json') !== -1;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
isTileset = loaderOptions.isTileset;
|
|
65
|
+
}
|
|
66
|
+
if (isTileset) {
|
|
67
|
+
data = await parseTileset(data, options, context);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
data = await parseTile(data, options, context);
|
|
71
|
+
}
|
|
72
|
+
return data;
|
|
71
73
|
}
|
|
72
|
-
//# sourceMappingURL=tiles-3d-loader.js.map
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { GLTFPostprocessed } from '@loaders.gl/gltf';
|
|
2
|
+
import { Matrix4, Vector3 } from '@math.gl/core';
|
|
3
|
+
export type FeatureTableJson = {
|
|
4
|
+
[key: string]: any[];
|
|
5
|
+
};
|
|
6
|
+
export type B3DMContent = {
|
|
7
|
+
batchTableJson?: FeatureTableJson;
|
|
8
|
+
byteLength: number;
|
|
9
|
+
byteOffset: number;
|
|
10
|
+
cartesianModelMatrix: Matrix4;
|
|
11
|
+
cartesianOrigin: Vector3;
|
|
12
|
+
cartographicModelMatrix: Matrix4;
|
|
13
|
+
cartographicOrigin: Vector3;
|
|
14
|
+
featureIds?: number[] | null;
|
|
15
|
+
featureTableBinary?: Uint8Array;
|
|
16
|
+
featureTableJson?: FeatureTableJson;
|
|
17
|
+
gltf?: GLTFPostprocessed;
|
|
18
|
+
gltfUpAxis: string;
|
|
19
|
+
header: GLTFHeader;
|
|
20
|
+
magic: number;
|
|
21
|
+
modelMatrix: Matrix4;
|
|
22
|
+
rotateYtoZ: boolean;
|
|
23
|
+
rtcCenter: [number, number, number];
|
|
24
|
+
type: string;
|
|
25
|
+
version: number;
|
|
26
|
+
};
|
|
27
|
+
export type GLTFHeader = {
|
|
28
|
+
batchLength?: number;
|
|
29
|
+
batchTableBinaryByteLength: number;
|
|
30
|
+
batchTableJsonByteLength: number;
|
|
31
|
+
featureTableBinaryByteLength: number;
|
|
32
|
+
featureTableJsonByteLength: number;
|
|
33
|
+
};
|
|
34
|
+
export type Node3D = {
|
|
35
|
+
boundingVolume: BoundingVolume;
|
|
36
|
+
children: any;
|
|
37
|
+
geometricError: number;
|
|
38
|
+
content?: {
|
|
39
|
+
uri: string;
|
|
40
|
+
boundingVolume: BoundingVolume;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export type BoundingVolume = {
|
|
44
|
+
box?: number[];
|
|
45
|
+
sphere?: number[];
|
|
46
|
+
region?: number[];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* 3DTILES_implicit_tiling types
|
|
50
|
+
* Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling#subtree-file-format
|
|
51
|
+
*/
|
|
52
|
+
export type Subtree = {
|
|
53
|
+
buffers: Buffer[];
|
|
54
|
+
bufferViews: BufferView[];
|
|
55
|
+
tileAvailability: Availability;
|
|
56
|
+
contentAvailability: Availability;
|
|
57
|
+
childSubtreeAvailability: Availability;
|
|
58
|
+
};
|
|
59
|
+
export type Availability = {
|
|
60
|
+
constant?: 0 | 1;
|
|
61
|
+
bufferView?: number;
|
|
62
|
+
explicitBitstream?: ExplicitBitstream;
|
|
63
|
+
};
|
|
64
|
+
export type ExplicitBitstream = Uint8Array;
|
|
65
|
+
/**
|
|
66
|
+
* Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling#subdivision-scheme
|
|
67
|
+
*/
|
|
68
|
+
export type SubdivisionScheme = 'QUADTREE' | 'OCTREE';
|
|
69
|
+
type Buffer = {
|
|
70
|
+
name: string;
|
|
71
|
+
uri?: string;
|
|
72
|
+
byteLength: number;
|
|
73
|
+
};
|
|
74
|
+
type BufferView = {
|
|
75
|
+
buffer: number;
|
|
76
|
+
byteOffset: number;
|
|
77
|
+
byteLength: number;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling
|
|
81
|
+
*/
|
|
82
|
+
export type ImplicitTilingExtension = {
|
|
83
|
+
subdivisionScheme: 'QUADTREE' | 'OCTREE';
|
|
84
|
+
maximumLevel?: number;
|
|
85
|
+
availableLevels: number;
|
|
86
|
+
subtreeLevels: number;
|
|
87
|
+
subtrees: SubtreeUri;
|
|
88
|
+
};
|
|
89
|
+
type SubtreeUri = {
|
|
90
|
+
uri: string;
|
|
91
|
+
};
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|