@loaders.gl/3d-tiles 3.1.3 → 4.0.0-alpha.5
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.js +2 -2
- package/dist/bundle.js.map +1 -0
- package/dist/cesium-ion-loader.js +32 -36
- package/dist/cesium-ion-loader.js.map +1 -0
- package/dist/dist.min.js +88 -40
- package/dist/index.js +9 -26
- package/dist/index.js.map +1 -0
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +89 -106
- package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +202 -184
- package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
- package/dist/lib/classes/tile-3d-batch-table.js +282 -223
- package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
- package/dist/lib/classes/tile-3d-feature-table.js +86 -64
- package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
- package/dist/lib/constants.js +19 -23
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
- package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-composite.js +24 -23
- package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
- package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js +38 -36
- package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/encoders/encode-3d-tile.js +32 -30
- package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js +29 -28
- package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
- package/dist/lib/ion/ion.js +69 -60
- package/dist/lib/ion/ion.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +62 -60
- package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
- package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +28 -39
- package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +18 -11
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +203 -170
- package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +63 -82
- package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js +15 -26
- package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +57 -68
- package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +80 -84
- package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
- package/dist/lib/parsers/helpers/parse-utils.js +16 -29
- package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-batched-model.js +26 -30
- package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-composite.js +16 -25
- package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-gltf.js +9 -17
- package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-header.js +139 -122
- package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile-instanced-model.js +170 -179
- package/dist/{es5/lib → lib}/parsers/parse-3d-tile-instanced-model.js.map +1 -1
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js +184 -350
- package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
- package/dist/lib/parsers/parse-3d-tile.js +31 -36
- package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
- package/dist/lib/utils/version.js +2 -7
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/tile-3d-subtree-loader.js +13 -22
- package/dist/tile-3d-subtree-loader.js.map +1 -0
- package/dist/tile-3d-writer.js +17 -24
- package/dist/tile-3d-writer.js.map +1 -0
- package/dist/tiles-3d-loader.js +66 -67
- package/dist/tiles-3d-loader.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/{es5/types.js.map → types.js.map} +0 -0
- package/package.json +10 -10
- package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +95 -31
- package/src/lib/parsers/parse-3d-tile-header.ts +3 -1
- package/src/types.ts +2 -1
- package/dist/es5/bundle.js +0 -7
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/cesium-ion-loader.js +0 -100
- package/dist/es5/cesium-ion-loader.js.map +0 -1
- package/dist/es5/index.js +0 -72
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +0 -120
- package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +0 -225
- package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-batch-table.js +0 -349
- package/dist/es5/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/es5/lib/classes/tile-3d-feature-table.js +0 -119
- package/dist/es5/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/es5/lib/constants.js +0 -32
- package/dist/es5/lib/constants.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +0 -63
- package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js +0 -41
- package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +0 -57
- package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +0 -59
- package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/encoders/encode-3d-tile.js +0 -48
- package/dist/es5/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +0 -41
- package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/ion/ion.js +0 -219
- package/dist/es5/lib/ion/ion.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -76
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -40
- package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -270
- package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -123
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +0 -25
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -161
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +0 -98
- package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/es5/lib/parsers/helpers/parse-utils.js +0 -32
- package/dist/es5/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -69
- package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js +0 -61
- package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -45
- package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-header.js +0 -233
- package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +0 -220
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +0 -346
- package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/es5/lib/parsers/parse-3d-tile.js +0 -100
- package/dist/es5/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/es5/lib/utils/version.js +0 -9
- package/dist/es5/lib/utils/version.js.map +0 -1
- package/dist/es5/tile-3d-subtree-loader.js +0 -26
- package/dist/es5/tile-3d-subtree-loader.js.map +0 -1
- package/dist/es5/tile-3d-writer.js +0 -32
- package/dist/es5/tile-3d-writer.js.map +0 -1
- package/dist/es5/tiles-3d-loader.js +0 -190
- package/dist/es5/tiles-3d-loader.js.map +0 -1
- package/dist/es5/types.js +0 -2
- package/dist/esm/bundle.js +0 -5
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/cesium-ion-loader.js +0 -36
- package/dist/esm/cesium-ion-loader.js.map +0 -1
- package/dist/esm/index.js +0 -9
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +0 -96
- package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +0 -215
- package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-batch-table.js +0 -304
- package/dist/esm/lib/classes/tile-3d-batch-table.js.map +0 -1
- package/dist/esm/lib/classes/tile-3d-feature-table.js +0 -94
- package/dist/esm/lib/classes/tile-3d-feature-table.js.map +0 -1
- package/dist/esm/lib/constants.js +0 -22
- package/dist/esm/lib/constants.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +0 -46
- package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js +0 -25
- package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +0 -38
- package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +0 -41
- package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/encoders/encode-3d-tile.js +0 -35
- package/dist/esm/lib/encoders/encode-3d-tile.js.map +0 -1
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +0 -31
- package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/ion/ion.js +0 -77
- package/dist/esm/lib/ion/ion.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -67
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -30
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -31
- package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -173
- package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -69
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +0 -17
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -64
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +0 -89
- package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
- package/dist/esm/lib/parsers/helpers/parse-utils.js +0 -19
- package/dist/esm/lib/parsers/helpers/parse-utils.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +0 -29
- package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js +0 -17
- package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +0 -10
- package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-header.js +0 -144
- package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +0 -177
- package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +0 -245
- package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
- package/dist/esm/lib/parsers/parse-3d-tile.js +0 -32
- package/dist/esm/lib/parsers/parse-3d-tile.js.map +0 -1
- package/dist/esm/lib/utils/version.js +0 -2
- package/dist/esm/lib/utils/version.js.map +0 -1
- package/dist/esm/tile-3d-subtree-loader.js +0 -14
- package/dist/esm/tile-3d-subtree-loader.js.map +0 -1
- package/dist/esm/tile-3d-writer.js +0 -20
- package/dist/esm/tile-3d-writer.js.map +0 -1
- package/dist/esm/tiles-3d-loader.js +0 -79
- package/dist/esm/tiles-3d-loader.js.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
package/dist/bundle.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
|
|
@@ -1,40 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tiles_3d_loader_1 = require("./tiles-3d-loader");
|
|
5
|
-
const ion_1 = require("./lib/ion/ion");
|
|
1
|
+
import { Tiles3DLoader } from './tiles-3d-loader';
|
|
2
|
+
import { getIonTilesetMetadata } from './lib/ion/ion';
|
|
3
|
+
|
|
6
4
|
async function preload(url, options = {}) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
options = options['cesium-ion'] || {};
|
|
6
|
+
const {
|
|
7
|
+
accessToken
|
|
8
|
+
} = options;
|
|
9
|
+
let assetId = options.assetId;
|
|
10
|
+
|
|
11
|
+
if (!Number.isFinite(assetId)) {
|
|
12
|
+
const matched = url.match(/\/([0-9]+)\/tileset.json/);
|
|
13
|
+
assetId = matched && matched[1];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return getIonTilesetMetadata(accessToken, assetId);
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
},
|
|
34
|
-
options: {
|
|
35
|
-
'cesium-ion': {
|
|
36
|
-
...tiles_3d_loader_1.Tiles3DLoader.options['3d-tiles'],
|
|
37
|
-
accessToken: null
|
|
38
|
-
}
|
|
18
|
+
|
|
19
|
+
export const CesiumIonLoader = { ...Tiles3DLoader,
|
|
20
|
+
id: 'cesium-ion',
|
|
21
|
+
name: 'Cesium Ion',
|
|
22
|
+
preload,
|
|
23
|
+
parse: async (data, options, context) => {
|
|
24
|
+
options = { ...options
|
|
25
|
+
};
|
|
26
|
+
options['3d-tiles'] = options['cesium-ion'];
|
|
27
|
+
options.loader = CesiumIonLoader;
|
|
28
|
+
return Tiles3DLoader.parse(data, options, context);
|
|
29
|
+
},
|
|
30
|
+
options: {
|
|
31
|
+
'cesium-ion': { ...Tiles3DLoader.options['3d-tiles'],
|
|
32
|
+
accessToken: null
|
|
39
33
|
}
|
|
34
|
+
}
|
|
40
35
|
};
|
|
36
|
+
//# sourceMappingURL=cesium-ion-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cesium-ion-loader.ts"],"names":["Tiles3DLoader","getIonTilesetMetadata","preload","url","options","accessToken","assetId","Number","isFinite","matched","match","CesiumIonLoader","id","name","parse","data","context","loader"],"mappings":"AACA,SAAQA,aAAR,QAA4B,mBAA5B;AACA,SAAQC,qBAAR,QAAoC,eAApC;;AAEA,eAAeC,OAAf,CAAuBC,GAAvB,EAA4BC,OAAO,GAAG,EAAtC,EAA0C;AACxCA,EAAAA,OAAO,GAAGA,OAAO,CAAC,YAAD,CAAP,IAAyB,EAAnC;AAEA,QAAM;AAACC,IAAAA;AAAD,MAAgBD,OAAtB;AAEA,MAAIE,OAAO,GAAGF,OAAO,CAACE,OAAtB;;AACA,MAAI,CAACC,MAAM,CAACC,QAAP,CAAgBF,OAAhB,CAAL,EAA+B;AAC7B,UAAMG,OAAO,GAAGN,GAAG,CAACO,KAAJ,CAAU,0BAAV,CAAhB;AACAJ,IAAAA,OAAO,GAAGG,OAAO,IAAIA,OAAO,CAAC,CAAD,CAA5B;AACD;;AACD,SAAOR,qBAAqB,CAACI,WAAD,EAAcC,OAAd,CAA5B;AACD;;AAKD,OAAO,MAAMK,eAAiC,GAAG,EAC/C,GAAGX,aAD4C;AAE/CY,EAAAA,EAAE,EAAE,YAF2C;AAG/CC,EAAAA,IAAI,EAAE,YAHyC;AAK/CX,EAAAA,OAL+C;AAM/CY,EAAAA,KAAK,EAAE,OAAOC,IAAP,EAAaX,OAAb,EAAuBY,OAAvB,KAAoC;AACzCZ,IAAAA,OAAO,GAAG,EAAC,GAAGA;AAAJ,KAAV;AACAA,IAAAA,OAAO,CAAC,UAAD,CAAP,GAAsBA,OAAO,CAAC,YAAD,CAA7B;AAEAA,IAAAA,OAAO,CAACa,MAAR,GAAiBN,eAAjB;AACA,WAAOX,aAAa,CAACc,KAAd,CAAoBC,IAApB,EAA0BX,OAA1B,EAAmCY,OAAnC,CAAP;AACD,GAZ8C;AAa/CZ,EAAAA,OAAO,EAAE;AACP,kBAAc,EACZ,GAAGJ,aAAa,CAACI,OAAd,CAAsB,UAAtB,CADS;AAEZC,MAAAA,WAAW,EAAE;AAFD;AADP;AAbsC,CAA1C","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 ...Tiles3DLoader.options['3d-tiles'],\n accessToken: null\n }\n }\n};\n"],"file":"cesium-ion-loader.js"}
|
package/dist/dist.min.js
CHANGED
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
var DEFAULT_VERSION, VERSION;
|
|
65
65
|
var init_version = __esm({
|
|
66
66
|
"../worker-utils/src/lib/env-utils/version.ts"() {
|
|
67
|
-
DEFAULT_VERSION = "
|
|
67
|
+
DEFAULT_VERSION = "beta";
|
|
68
68
|
VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
|
|
69
69
|
if (typeof __VERSION__ === "undefined") {
|
|
70
70
|
console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
|
|
@@ -500,7 +500,7 @@
|
|
|
500
500
|
var init_get_worker_url = __esm({
|
|
501
501
|
"../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
|
|
502
502
|
init_assert2();
|
|
503
|
-
NPM_TAG = "
|
|
503
|
+
NPM_TAG = "beta";
|
|
504
504
|
}
|
|
505
505
|
});
|
|
506
506
|
|
|
@@ -598,7 +598,7 @@
|
|
|
598
598
|
node = __toModule(require_require_utils());
|
|
599
599
|
init_assert2();
|
|
600
600
|
init_version();
|
|
601
|
-
LATEST = "
|
|
601
|
+
LATEST = "beta";
|
|
602
602
|
VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
|
|
603
603
|
loadLibraryPromises = {};
|
|
604
604
|
}
|
|
@@ -4993,29 +4993,29 @@
|
|
|
4993
4993
|
}
|
|
4994
4994
|
});
|
|
4995
4995
|
|
|
4996
|
-
// ../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
|
|
4996
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js
|
|
4997
4997
|
var init_hi_res_timestamp2 = __esm({
|
|
4998
|
-
"../../node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
|
|
4998
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/utils/hi-res-timestamp.js"() {
|
|
4999
4999
|
}
|
|
5000
5000
|
});
|
|
5001
5001
|
|
|
5002
|
-
// ../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js
|
|
5002
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stat.js
|
|
5003
5003
|
var init_stat = __esm({
|
|
5004
|
-
"../../node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
|
|
5004
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stat.js"() {
|
|
5005
5005
|
init_hi_res_timestamp2();
|
|
5006
5006
|
}
|
|
5007
5007
|
});
|
|
5008
5008
|
|
|
5009
|
-
// ../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js
|
|
5009
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stats.js
|
|
5010
5010
|
var init_stats = __esm({
|
|
5011
|
-
"../../node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
|
|
5011
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/lib/stats.js"() {
|
|
5012
5012
|
init_stat();
|
|
5013
5013
|
}
|
|
5014
5014
|
});
|
|
5015
5015
|
|
|
5016
|
-
// ../../node_modules/@probe.gl/stats/dist/esm/index.js
|
|
5016
|
+
// ../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/index.js
|
|
5017
5017
|
var init_esm3 = __esm({
|
|
5018
|
-
"../../node_modules/@probe.gl/stats/dist/esm/index.js"() {
|
|
5018
|
+
"../../node_modules/probe.gl/node_modules/@probe.gl/stats/dist/esm/index.js"() {
|
|
5019
5019
|
init_stats();
|
|
5020
5020
|
init_stat();
|
|
5021
5021
|
init_hi_res_timestamp2();
|
|
@@ -8163,7 +8163,7 @@
|
|
|
8163
8163
|
var VERSION7;
|
|
8164
8164
|
var init_version5 = __esm({
|
|
8165
8165
|
"../textures/src/lib/utils/version.ts"() {
|
|
8166
|
-
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
8166
|
+
VERSION7 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
8167
8167
|
}
|
|
8168
8168
|
});
|
|
8169
8169
|
|
|
@@ -8234,7 +8234,7 @@
|
|
|
8234
8234
|
var init_basis_module_loader = __esm({
|
|
8235
8235
|
"../textures/src/lib/parsers/basis-module-loader.ts"() {
|
|
8236
8236
|
init_src();
|
|
8237
|
-
VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "
|
|
8237
|
+
VERSION8 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
|
|
8238
8238
|
BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.wasm`;
|
|
8239
8239
|
BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION8}/dist/libs/basis_encoder.js`;
|
|
8240
8240
|
}
|
|
@@ -8431,7 +8431,7 @@
|
|
|
8431
8431
|
const basisFile = new BasisFile(new Uint8Array(data));
|
|
8432
8432
|
try {
|
|
8433
8433
|
if (!basisFile.startTranscoding()) {
|
|
8434
|
-
|
|
8434
|
+
throw new Error("Failed to start basis transcoding");
|
|
8435
8435
|
}
|
|
8436
8436
|
const imageCount = basisFile.getNumImages();
|
|
8437
8437
|
const images = [];
|
|
@@ -8457,22 +8457,22 @@
|
|
|
8457
8457
|
const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
|
|
8458
8458
|
const decodedData = new Uint8Array(decodedSize);
|
|
8459
8459
|
if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
|
|
8460
|
-
|
|
8460
|
+
throw new Error("failed to start Basis transcoding");
|
|
8461
8461
|
}
|
|
8462
8462
|
return {
|
|
8463
8463
|
width,
|
|
8464
8464
|
height,
|
|
8465
8465
|
data: decodedData,
|
|
8466
8466
|
compressed,
|
|
8467
|
-
|
|
8468
|
-
|
|
8467
|
+
format,
|
|
8468
|
+
hasAlpha
|
|
8469
8469
|
};
|
|
8470
8470
|
}
|
|
8471
8471
|
function parseKTX2File(KTX2File, data, options) {
|
|
8472
8472
|
const ktx2File = new KTX2File(new Uint8Array(data));
|
|
8473
8473
|
try {
|
|
8474
8474
|
if (!ktx2File.startTranscoding()) {
|
|
8475
|
-
|
|
8475
|
+
throw new Error("failed to start KTX2 transcoding");
|
|
8476
8476
|
}
|
|
8477
8477
|
const levelsCount = ktx2File.getLevels();
|
|
8478
8478
|
const levels = [];
|
|
@@ -8480,7 +8480,7 @@
|
|
|
8480
8480
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
8481
8481
|
break;
|
|
8482
8482
|
}
|
|
8483
|
-
return levels;
|
|
8483
|
+
return [levels];
|
|
8484
8484
|
} finally {
|
|
8485
8485
|
ktx2File.close();
|
|
8486
8486
|
ktx2File.delete();
|
|
@@ -8492,14 +8492,14 @@
|
|
|
8492
8492
|
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
8493
8493
|
const decodedData = new Uint8Array(decodedSize);
|
|
8494
8494
|
if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
|
|
8495
|
-
|
|
8495
|
+
throw new Error("Failed to transcode KTX2 image");
|
|
8496
8496
|
}
|
|
8497
8497
|
return {
|
|
8498
8498
|
width,
|
|
8499
8499
|
height,
|
|
8500
8500
|
data: decodedData,
|
|
8501
8501
|
compressed,
|
|
8502
|
-
alphaFlag,
|
|
8502
|
+
hasAlpha: alphaFlag,
|
|
8503
8503
|
format
|
|
8504
8504
|
};
|
|
8505
8505
|
}
|
|
@@ -11037,7 +11037,7 @@
|
|
|
11037
11037
|
mipmaps: false,
|
|
11038
11038
|
width: parsedImage[0].width,
|
|
11039
11039
|
height: parsedImage[0].height,
|
|
11040
|
-
data: parsedImage
|
|
11040
|
+
data: parsedImage[0]
|
|
11041
11041
|
};
|
|
11042
11042
|
}
|
|
11043
11043
|
gltf.images = gltf.images || [];
|
|
@@ -11498,18 +11498,25 @@
|
|
|
11498
11498
|
});
|
|
11499
11499
|
|
|
11500
11500
|
// src/lib/parsers/helpers/parse-3d-implicit-tiles.ts
|
|
11501
|
-
async function parseImplicitTiles(
|
|
11502
|
-
|
|
11503
|
-
|
|
11504
|
-
|
|
11505
|
-
|
|
11506
|
-
|
|
11507
|
-
|
|
11508
|
-
|
|
11509
|
-
|
|
11510
|
-
|
|
11511
|
-
|
|
11512
|
-
|
|
11501
|
+
async function parseImplicitTiles(params) {
|
|
11502
|
+
const {
|
|
11503
|
+
options,
|
|
11504
|
+
parentData = {
|
|
11505
|
+
mortonIndex: 0,
|
|
11506
|
+
x: 0,
|
|
11507
|
+
y: 0,
|
|
11508
|
+
z: 0
|
|
11509
|
+
},
|
|
11510
|
+
childIndex = 0,
|
|
11511
|
+
globalData = {
|
|
11512
|
+
level: 0,
|
|
11513
|
+
mortonIndex: 0,
|
|
11514
|
+
x: 0,
|
|
11515
|
+
y: 0,
|
|
11516
|
+
z: 0
|
|
11517
|
+
}
|
|
11518
|
+
} = params;
|
|
11519
|
+
let { subtree, level = 0 } = params;
|
|
11513
11520
|
const {
|
|
11514
11521
|
subdivisionScheme,
|
|
11515
11522
|
subtreeLevels,
|
|
@@ -11565,10 +11572,18 @@
|
|
|
11565
11572
|
const childTileLevel = level + 1;
|
|
11566
11573
|
const pData = { mortonIndex: childTileMortonIndex, x: childTileX, y: childTileY, z: childTileZ };
|
|
11567
11574
|
for (let index = 0; index < childrenPerTile; index++) {
|
|
11568
|
-
const currentTile = await parseImplicitTiles(
|
|
11575
|
+
const currentTile = await parseImplicitTiles({
|
|
11576
|
+
subtree,
|
|
11577
|
+
options,
|
|
11578
|
+
parentData: pData,
|
|
11579
|
+
childIndex: index,
|
|
11580
|
+
level: childTileLevel,
|
|
11581
|
+
globalData
|
|
11582
|
+
});
|
|
11569
11583
|
if (currentTile.contentUrl || currentTile.children.length) {
|
|
11570
11584
|
const globalLevel = lev + 1;
|
|
11571
|
-
const
|
|
11585
|
+
const childCoordinates = { childTileX, childTileY, childTileZ };
|
|
11586
|
+
const formattedTile = formatTileData(currentTile, globalLevel, childCoordinates, options);
|
|
11572
11587
|
tile.children.push(formattedTile);
|
|
11573
11588
|
}
|
|
11574
11589
|
}
|
|
@@ -11583,10 +11598,19 @@
|
|
|
11583
11598
|
}
|
|
11584
11599
|
return false;
|
|
11585
11600
|
}
|
|
11586
|
-
function formatTileData(tile, level, options) {
|
|
11587
|
-
const {
|
|
11601
|
+
function formatTileData(tile, level, childCoordinates, options) {
|
|
11602
|
+
const {
|
|
11603
|
+
basePath,
|
|
11604
|
+
refine,
|
|
11605
|
+
getRefine: getRefine2,
|
|
11606
|
+
lodMetricType,
|
|
11607
|
+
getTileType: getTileType2,
|
|
11608
|
+
rootLodMetricValue,
|
|
11609
|
+
rootBoundingVolume
|
|
11610
|
+
} = options;
|
|
11588
11611
|
const uri = tile.contentUrl && tile.contentUrl.replace(`${basePath}/`, "");
|
|
11589
11612
|
const lodMetricValue = rootLodMetricValue / 2 ** level;
|
|
11613
|
+
const boundingVolume = calculateBoundingVolumeForChildTile(level, rootBoundingVolume, childCoordinates);
|
|
11590
11614
|
return {
|
|
11591
11615
|
children: tile.children,
|
|
11592
11616
|
contentUrl: tile.contentUrl,
|
|
@@ -11595,9 +11619,31 @@
|
|
|
11595
11619
|
refine: getRefine2(refine),
|
|
11596
11620
|
type: getTileType2(tile),
|
|
11597
11621
|
lodMetricType,
|
|
11598
|
-
lodMetricValue
|
|
11622
|
+
lodMetricValue,
|
|
11623
|
+
boundingVolume
|
|
11599
11624
|
};
|
|
11600
11625
|
}
|
|
11626
|
+
function calculateBoundingVolumeForChildTile(level, rootBoundingVolume, childCoordinates) {
|
|
11627
|
+
if (rootBoundingVolume.region) {
|
|
11628
|
+
const { childTileX, childTileY, childTileZ } = childCoordinates;
|
|
11629
|
+
const [west, south, east, north, minimumHeight, maximumHeight] = rootBoundingVolume.region;
|
|
11630
|
+
const boundingVolumesCount = 2 ** level;
|
|
11631
|
+
const sizeX = (east - west) / boundingVolumesCount;
|
|
11632
|
+
const sizeY = (north - south) / boundingVolumesCount;
|
|
11633
|
+
const sizeZ = (maximumHeight - minimumHeight) / boundingVolumesCount;
|
|
11634
|
+
const [childWest, childEast] = [west + sizeX * childTileX, west + sizeX * (childTileX + 1)];
|
|
11635
|
+
const [childSouth, childNorth] = [south + sizeY * childTileY, south + sizeY * (childTileY + 1)];
|
|
11636
|
+
const [childMinimumHeight, childMaximumHeight] = [
|
|
11637
|
+
minimumHeight + sizeZ * childTileZ,
|
|
11638
|
+
minimumHeight + sizeZ * (childTileZ + 1)
|
|
11639
|
+
];
|
|
11640
|
+
return {
|
|
11641
|
+
region: [childWest, childSouth, childEast, childNorth, childMinimumHeight, childMaximumHeight]
|
|
11642
|
+
};
|
|
11643
|
+
}
|
|
11644
|
+
console.warn("Unsupported bounding volume type: ", rootBoundingVolume);
|
|
11645
|
+
return null;
|
|
11646
|
+
}
|
|
11601
11647
|
function concatBits(first, second) {
|
|
11602
11648
|
return parseInt(first.toString(2) + second.toString(2), 2);
|
|
11603
11649
|
}
|
|
@@ -11712,6 +11758,7 @@
|
|
|
11712
11758
|
const contentUrlTemplate = `${basePath}/${tileset.root.content.uri}`;
|
|
11713
11759
|
const refine = tileset.root.refine;
|
|
11714
11760
|
const rootLodMetricValue = tileset.root.geometricError;
|
|
11761
|
+
const rootBoundingVolume = tileset.root.boundingVolume;
|
|
11715
11762
|
const options = {
|
|
11716
11763
|
contentUrlTemplate,
|
|
11717
11764
|
subtreesUriTemplate,
|
|
@@ -11722,6 +11769,7 @@
|
|
|
11722
11769
|
basePath,
|
|
11723
11770
|
lodMetricType: LOD_METRIC_TYPE.GEOMETRIC_ERROR,
|
|
11724
11771
|
rootLodMetricValue,
|
|
11772
|
+
rootBoundingVolume,
|
|
11725
11773
|
getTileType,
|
|
11726
11774
|
getRefine
|
|
11727
11775
|
};
|
|
@@ -11734,7 +11782,7 @@
|
|
|
11734
11782
|
tile.lodMetricType = LOD_METRIC_TYPE.GEOMETRIC_ERROR;
|
|
11735
11783
|
tile.lodMetricValue = tile.geometricError;
|
|
11736
11784
|
tile.transformMatrix = tile.transform;
|
|
11737
|
-
const { children, contentUrl } = await parseImplicitTiles(rootSubtree, options);
|
|
11785
|
+
const { children, contentUrl } = await parseImplicitTiles({ subtree: rootSubtree, options });
|
|
11738
11786
|
if (contentUrl) {
|
|
11739
11787
|
tile.contentUrl = contentUrl;
|
|
11740
11788
|
tile.content = { uri: contentUrl.replace(`${options.basePath}/`, "") };
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var cesium_ion_loader_1 = require("./cesium-ion-loader");
|
|
11
|
-
Object.defineProperty(exports, "CesiumIonLoader", { enumerable: true, get: function () { return cesium_ion_loader_1.CesiumIonLoader; } });
|
|
12
|
-
var tile_3d_subtree_loader_1 = require("./tile-3d-subtree-loader");
|
|
13
|
-
Object.defineProperty(exports, "Tile3DSubtreeLoader", { enumerable: true, get: function () { return tile_3d_subtree_loader_1.Tile3DSubtreeLoader; } });
|
|
14
|
-
// WRITERS
|
|
15
|
-
var tile_3d_writer_1 = require("./tile-3d-writer");
|
|
16
|
-
Object.defineProperty(exports, "Tile3DWriter", { enumerable: true, get: function () { return tile_3d_writer_1.Tile3DWriter; } });
|
|
17
|
-
// CLASSES
|
|
18
|
-
var tile_3d_feature_table_1 = require("./lib/classes/tile-3d-feature-table");
|
|
19
|
-
Object.defineProperty(exports, "Tile3DFeatureTable", { enumerable: true, get: function () { return __importDefault(tile_3d_feature_table_1).default; } });
|
|
20
|
-
var tile_3d_batch_table_1 = require("./lib/classes/tile-3d-batch-table");
|
|
21
|
-
Object.defineProperty(exports, "Tile3DBatchTable", { enumerable: true, get: function () { return __importDefault(tile_3d_batch_table_1).default; } });
|
|
22
|
-
// EXPERIMENTAL
|
|
23
|
-
var constants_1 = require("./lib/constants");
|
|
24
|
-
Object.defineProperty(exports, "TILE3D_TYPE", { enumerable: true, get: function () { return constants_1.TILE3D_TYPE; } });
|
|
25
|
-
var ion_1 = require("./lib/ion/ion");
|
|
26
|
-
Object.defineProperty(exports, "_getIonTilesetMetadata", { enumerable: true, get: function () { return ion_1.getIonTilesetMetadata; } });
|
|
1
|
+
export { Tiles3DLoader } from './tiles-3d-loader';
|
|
2
|
+
export { CesiumIonLoader } from './cesium-ion-loader';
|
|
3
|
+
export { Tile3DSubtreeLoader } from './tile-3d-subtree-loader';
|
|
4
|
+
export { Tile3DWriter } from './tile-3d-writer';
|
|
5
|
+
export { default as Tile3DFeatureTable } from './lib/classes/tile-3d-feature-table';
|
|
6
|
+
export { default as Tile3DBatchTable } from './lib/classes/tile-3d-batch-table';
|
|
7
|
+
export { TILE3D_TYPE } from './lib/constants';
|
|
8
|
+
export { getIonTilesetMetadata as _getIonTilesetMetadata } from './lib/ion/ion';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["Tiles3DLoader","CesiumIonLoader","Tile3DSubtreeLoader","Tile3DWriter","default","Tile3DFeatureTable","Tile3DBatchTable","TILE3D_TYPE","getIonTilesetMetadata","_getIonTilesetMetadata"],"mappings":"AACA,SAAQA,aAAR,QAA4B,mBAA5B;AACA,SAAQC,eAAR,QAA8B,qBAA9B;AACA,SAAQC,mBAAR,QAAkC,0BAAlC;AAGA,SAAQC,YAAR,QAA2B,kBAA3B;AAGA,SAAQC,OAAO,IAAIC,kBAAnB,QAA4C,qCAA5C;AACA,SAAQD,OAAO,IAAIE,gBAAnB,QAA0C,mCAA1C;AAGA,SAAQC,WAAR,QAA0B,iBAA1B;AACA,SAAQC,qBAAqB,IAAIC,sBAAjC,QAA8D,eAA9D","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 {BatchTableJson, B3DMContent, Node3D} from './types';\n"],"file":"index.js"}
|
|
@@ -1,113 +1,96 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.createTypedArrayFromAccessor = void 0;
|
|
4
|
-
const math_1 = require("@loaders.gl/math"); // '@math.gl/geometry';
|
|
5
|
-
const loader_utils_1 = require("@loaders.gl/loader-utils");
|
|
1
|
+
import { GLType } from '@loaders.gl/math';
|
|
2
|
+
import { assert } from '@loaders.gl/loader-utils';
|
|
6
3
|
const COMPONENTS_PER_ATTRIBUTE = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
SCALAR: 1,
|
|
5
|
+
VEC2: 2,
|
|
6
|
+
VEC3: 3,
|
|
7
|
+
VEC4: 4,
|
|
8
|
+
MAT2: 4,
|
|
9
|
+
MAT3: 9,
|
|
10
|
+
MAT4: 16
|
|
14
11
|
};
|
|
15
|
-
// TODO - could just return typed array views...
|
|
16
|
-
// prettier-ignore
|
|
17
12
|
const UNPACKER = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
values[4 * i + 2], values[4 * i + 3]
|
|
26
|
-
],
|
|
27
|
-
MAT3: (values, i) => [
|
|
28
|
-
values[9 * i + 0], values[9 * i + 1], values[9 * i + 2],
|
|
29
|
-
values[9 * i + 3], values[9 * i + 4], values[9 * i + 5],
|
|
30
|
-
values[9 * i + 6], values[9 * i + 7], values[9 * i + 8]
|
|
31
|
-
],
|
|
32
|
-
MAT4: (values, i) => [
|
|
33
|
-
values[16 * i + 0], values[16 * i + 1], values[16 * i + 2], values[16 * i + 3],
|
|
34
|
-
values[16 * i + 4], values[16 * i + 5], values[16 * i + 6], values[16 * i + 7],
|
|
35
|
-
values[16 * i + 8], values[16 * i + 9], values[16 * i + 10], values[16 * i + 11],
|
|
36
|
-
values[16 * i + 12], values[16 * i + 13], values[16 * i + 14], values[16 * i + 15]
|
|
37
|
-
]
|
|
13
|
+
SCALAR: (values, i) => values[i],
|
|
14
|
+
VEC2: (values, i) => [values[2 * i + 0], values[2 * i + 1]],
|
|
15
|
+
VEC3: (values, i) => [values[3 * i + 0], values[3 * i + 1], values[3 * i + 2]],
|
|
16
|
+
VEC4: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],
|
|
17
|
+
MAT2: (values, i) => [values[4 * i + 0], values[4 * i + 1], values[4 * i + 2], values[4 * i + 3]],
|
|
18
|
+
MAT3: (values, i) => [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]],
|
|
19
|
+
MAT4: (values, i) => [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]]
|
|
38
20
|
};
|
|
39
21
|
const PACKER = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
22
|
+
SCALAR: (x, values, i) => {
|
|
23
|
+
values[i] = x;
|
|
24
|
+
},
|
|
25
|
+
VEC2: (x, values, i) => {
|
|
26
|
+
values[2 * i + 0] = x[0];
|
|
27
|
+
values[2 * i + 1] = x[1];
|
|
28
|
+
},
|
|
29
|
+
VEC3: (x, values, i) => {
|
|
30
|
+
values[3 * i + 0] = x[0];
|
|
31
|
+
values[3 * i + 1] = x[1];
|
|
32
|
+
values[3 * i + 2] = x[2];
|
|
33
|
+
},
|
|
34
|
+
VEC4: (x, values, i) => {
|
|
35
|
+
values[4 * i + 0] = x[0];
|
|
36
|
+
values[4 * i + 1] = x[1];
|
|
37
|
+
values[4 * i + 2] = x[2];
|
|
38
|
+
values[4 * i + 3] = x[3];
|
|
39
|
+
},
|
|
40
|
+
MAT2: (x, values, i) => {
|
|
41
|
+
values[4 * i + 0] = x[0];
|
|
42
|
+
values[4 * i + 1] = x[1];
|
|
43
|
+
values[4 * i + 2] = x[2];
|
|
44
|
+
values[4 * i + 3] = x[3];
|
|
45
|
+
},
|
|
46
|
+
MAT3: (x, values, i) => {
|
|
47
|
+
values[9 * i + 0] = x[0];
|
|
48
|
+
values[9 * i + 1] = x[1];
|
|
49
|
+
values[9 * i + 2] = x[2];
|
|
50
|
+
values[9 * i + 3] = x[3];
|
|
51
|
+
values[9 * i + 4] = x[4];
|
|
52
|
+
values[9 * i + 5] = x[5];
|
|
53
|
+
values[9 * i + 6] = x[6];
|
|
54
|
+
values[9 * i + 7] = x[7];
|
|
55
|
+
values[9 * i + 8] = x[8];
|
|
56
|
+
values[9 * i + 9] = x[9];
|
|
57
|
+
},
|
|
58
|
+
MAT4: (x, values, i) => {
|
|
59
|
+
values[16 * i + 0] = x[0];
|
|
60
|
+
values[16 * i + 1] = x[1];
|
|
61
|
+
values[16 * i + 2] = x[2];
|
|
62
|
+
values[16 * i + 3] = x[3];
|
|
63
|
+
values[16 * i + 4] = x[4];
|
|
64
|
+
values[16 * i + 5] = x[5];
|
|
65
|
+
values[16 * i + 6] = x[6];
|
|
66
|
+
values[16 * i + 7] = x[7];
|
|
67
|
+
values[16 * i + 8] = x[8];
|
|
68
|
+
values[16 * i + 9] = x[9];
|
|
69
|
+
values[16 * i + 10] = x[10];
|
|
70
|
+
values[16 * i + 11] = x[11];
|
|
71
|
+
values[16 * i + 12] = x[12];
|
|
72
|
+
values[16 * i + 13] = x[13];
|
|
73
|
+
values[16 * i + 14] = x[14];
|
|
74
|
+
values[16 * i + 15] = x[15];
|
|
75
|
+
}
|
|
95
76
|
};
|
|
96
|
-
function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
77
|
+
export function createTypedArrayFromAccessor(tile3DAccessor, buffer, byteOffset, length) {
|
|
78
|
+
const {
|
|
79
|
+
componentType
|
|
80
|
+
} = tile3DAccessor;
|
|
81
|
+
assert(tile3DAccessor.componentType);
|
|
82
|
+
const type = typeof componentType === 'string' ? GLType.fromName(componentType) : componentType;
|
|
83
|
+
const size = COMPONENTS_PER_ATTRIBUTE[tile3DAccessor.type];
|
|
84
|
+
const unpacker = UNPACKER[tile3DAccessor.type];
|
|
85
|
+
const packer = PACKER[tile3DAccessor.type];
|
|
86
|
+
byteOffset += tile3DAccessor.byteOffset;
|
|
87
|
+
const values = GLType.createTypedArray(type, buffer, byteOffset, size * length);
|
|
88
|
+
return {
|
|
89
|
+
values,
|
|
90
|
+
type,
|
|
91
|
+
size,
|
|
92
|
+
unpacker,
|
|
93
|
+
packer
|
|
94
|
+
};
|
|
112
95
|
}
|
|
113
|
-
|
|
96
|
+
//# sourceMappingURL=tile-3d-accessor-utils.js.map
|