@loaders.gl/3d-tiles 4.0.0-alpha.1 → 4.0.0-alpha.11
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 +14805 -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 +65 -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 +110 -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 +52 -0
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +289 -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 +163 -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 +295 -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 +133 -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/{src → dist/esm}/lib/parsers/helpers/normalize-3d-tile-normals.js +5 -10
- 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 +67 -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 +20 -0
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +181 -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 +138 -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 +232 -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 +68 -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 +11 -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 +9 -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 +7 -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 +10 -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 +90 -63
- package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +3 -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 +5 -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 +5 -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 +8 -0
- package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +23 -16
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +5 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +28 -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 +186 -71
- package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +5 -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 +165 -170
- package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +6 -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 +372 -184
- package/dist/lib/parsers/parse-3d-tile.d.ts +5 -0
- package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +32 -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 +20 -0
- package/dist/tiles-3d-loader.d.ts.map +1 -0
- package/dist/tiles-3d-loader.js +69 -65
- package/dist/types.d.ts +335 -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 +13 -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} +10 -4
- package/src/lib/parsers/helpers/normalize-3d-tile-normals.ts +35 -0
- 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} +40 -16
- package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +7 -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} +33 -12
- package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +18 -3
- package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +20 -8
- package/src/lib/parsers/parse-3d-tile-gltf.ts +33 -0
- package/src/lib/parsers/parse-3d-tile-header.ts +253 -0
- package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +41 -30
- package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +73 -14
- package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +14 -1
- 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 +68 -37
- package/src/types.ts +321 -13
- 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-positions.js → normalize-3d-tile-positions.ts} +0 -0
- /package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
- /package/src/lib/utils/{version.js → version.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.CesiumIonLoader = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
12
|
+
var _ion = require("./lib/ion/ion");
|
|
13
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
+
function preload(_x) {
|
|
16
|
+
return _preload.apply(this, arguments);
|
|
17
|
+
}
|
|
18
|
+
function _preload() {
|
|
19
|
+
_preload = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(url) {
|
|
20
|
+
var options,
|
|
21
|
+
_options,
|
|
22
|
+
accessToken,
|
|
23
|
+
assetId,
|
|
24
|
+
matched,
|
|
25
|
+
_args2 = arguments;
|
|
26
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
27
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
28
|
+
case 0:
|
|
29
|
+
options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
|
|
30
|
+
options = options['cesium-ion'] || {};
|
|
31
|
+
_options = options, accessToken = _options.accessToken;
|
|
32
|
+
assetId = options.assetId;
|
|
33
|
+
if (!Number.isFinite(assetId)) {
|
|
34
|
+
matched = url.match(/\/([0-9]+)\/tileset.json/);
|
|
35
|
+
assetId = matched && matched[1];
|
|
36
|
+
}
|
|
37
|
+
return _context2.abrupt("return", (0, _ion.getIonTilesetMetadata)(accessToken, assetId));
|
|
38
|
+
case 6:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context2.stop();
|
|
41
|
+
}
|
|
42
|
+
}, _callee2);
|
|
43
|
+
}));
|
|
44
|
+
return _preload.apply(this, arguments);
|
|
45
|
+
}
|
|
46
|
+
var CesiumIonLoader = _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader), {}, {
|
|
47
|
+
id: 'cesium-ion',
|
|
48
|
+
name: 'Cesium Ion',
|
|
49
|
+
preload: preload,
|
|
50
|
+
parse: function () {
|
|
51
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options, context) {
|
|
52
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
53
|
+
while (1) switch (_context.prev = _context.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
options = _objectSpread({}, options);
|
|
56
|
+
options['3d-tiles'] = options['cesium-ion'];
|
|
57
|
+
options.loader = CesiumIonLoader;
|
|
58
|
+
return _context.abrupt("return", _tiles3dLoader.Tiles3DLoader.parse(data, options, context));
|
|
59
|
+
case 4:
|
|
60
|
+
case "end":
|
|
61
|
+
return _context.stop();
|
|
62
|
+
}
|
|
63
|
+
}, _callee);
|
|
64
|
+
}));
|
|
65
|
+
function parse(_x2, _x3, _x4) {
|
|
66
|
+
return _parse.apply(this, arguments);
|
|
67
|
+
}
|
|
68
|
+
return parse;
|
|
69
|
+
}(),
|
|
70
|
+
options: {
|
|
71
|
+
'cesium-ion': _objectSpread(_objectSpread({}, _tiles3dLoader.Tiles3DLoader.options['3d-tiles']), {}, {
|
|
72
|
+
accessToken: null
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
exports.CesiumIonLoader = CesiumIonLoader;
|
|
77
|
+
//# sourceMappingURL=cesium-ion-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 {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 = {\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 // @ts-expect-error\n ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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, "Tiles3DLoader", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function get() {
|
|
46
|
+
return _tiles3dLoader.Tiles3DLoader;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(exports, "_getIonTilesetMetadata", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
get: function get() {
|
|
52
|
+
return _ion.getIonTilesetMetadata;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
var _tiles3dLoader = require("./tiles-3d-loader");
|
|
56
|
+
var _cesiumIonLoader = require("./cesium-ion-loader");
|
|
57
|
+
var _tile3dSubtreeLoader = require("./tile-3d-subtree-loader");
|
|
58
|
+
var _tile3dWriter = require("./tile-3d-writer");
|
|
59
|
+
var _tile3dFeatureTable = _interopRequireDefault(require("./lib/classes/tile-3d-feature-table"));
|
|
60
|
+
var _tile3dBatchTable = _interopRequireDefault(require("./lib/classes/tile-3d-batch-table"));
|
|
61
|
+
var _constants = require("./lib/constants");
|
|
62
|
+
var _ion = require("./lib/ion/ion");
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_tiles3dLoader","require","_cesiumIonLoader","_tile3dSubtreeLoader","_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';\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;AAGA,IAAAG,aAAA,GAAAH,OAAA;AAGA,IAAAI,mBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAD,sBAAA,CAAAL,OAAA;AAGA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|