@loaders.gl/tile-converter 3.0.13 → 3.0.14

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.
Files changed (69) hide show
  1. package/dist/dist.es5.min.js +3 -3
  2. package/dist/dist.es5.min.js.map +1 -1
  3. package/dist/dist.min.js +11 -11
  4. package/dist/dist.min.js.map +1 -1
  5. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +422 -184
  6. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  7. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +299 -202
  8. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  9. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +8 -4
  10. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  11. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +17 -7
  12. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  13. package/dist/es5/bundle.js +2 -2
  14. package/dist/es5/bundle.js.map +1 -1
  15. package/dist/es5/deps-installer/deps-installer.js +65 -17
  16. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  17. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +16 -16
  18. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  19. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +33 -9
  20. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  21. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +103 -93
  22. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  23. package/dist/es5/i3s-converter/helpers/geometry-converter.js +505 -344
  24. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  25. package/dist/es5/i3s-converter/helpers/node-debug.js +26 -30
  26. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  27. package/dist/es5/i3s-converter/helpers/node-pages.js +203 -102
  28. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  29. package/dist/es5/i3s-converter/i3s-converter.js +1510 -680
  30. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  31. package/dist/es5/i3s-converter/json-templates/layers.js +25 -15
  32. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  33. package/dist/es5/i3s-converter/json-templates/metadata.js +1 -1
  34. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  35. package/dist/es5/i3s-converter/json-templates/node.js +21 -12
  36. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  37. package/dist/es5/i3s-converter/json-templates/scene-server.js +4 -2
  38. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  39. package/dist/es5/i3s-converter/json-templates/shared-resources.js +55 -15
  40. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  41. package/dist/es5/i3s-converter/json-templates/store.js +4 -2
  42. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  43. package/dist/es5/i3s-server/app.js +6 -6
  44. package/dist/es5/i3s-server/app.js.map +1 -1
  45. package/dist/es5/i3s-server/controllers/index-controller.js +60 -20
  46. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  47. package/dist/es5/i3s-server/routes/index.js +41 -14
  48. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  49. package/dist/es5/index.js +4 -4
  50. package/dist/es5/lib/geoid-height-model.js +114 -100
  51. package/dist/es5/lib/geoid-height-model.js.map +1 -1
  52. package/dist/es5/lib/pgm-parser.js +122 -68
  53. package/dist/es5/lib/pgm-parser.js.map +1 -1
  54. package/dist/es5/lib/utils/compress-util.js +345 -123
  55. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  56. package/dist/es5/lib/utils/file-utils.js +98 -20
  57. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  58. package/dist/es5/lib/utils/lod-conversion-utils.js +9 -9
  59. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  60. package/dist/es5/lib/utils/statistic-utills.js +152 -41
  61. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  62. package/dist/es5/pgm-loader.js +5 -3
  63. package/dist/es5/pgm-loader.js.map +1 -1
  64. package/dist/esm/i3s-converter/i3s-converter.js +11 -3
  65. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  66. package/dist/esm/pgm-loader.js +1 -1
  67. package/dist/scripts/converter.js +134 -71
  68. package/package.json +14 -14
  69. package/src/i3s-converter/i3s-converter.ts +10 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/tile-converter",
3
- "version": "3.0.13",
3
+ "version": "3.0.14",
4
4
  "description": "Converter",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -39,18 +39,18 @@
39
39
  "build-converter-bundle": "webpack --config ./converter-webpack/bundle.js"
40
40
  },
41
41
  "dependencies": {
42
- "@loaders.gl/3d-tiles": "3.0.13",
43
- "@loaders.gl/core": "3.0.13",
44
- "@loaders.gl/crypto": "3.0.13",
45
- "@loaders.gl/draco": "3.0.13",
46
- "@loaders.gl/gltf": "3.0.13",
47
- "@loaders.gl/i3s": "3.0.13",
48
- "@loaders.gl/images": "3.0.13",
49
- "@loaders.gl/loader-utils": "3.0.13",
50
- "@loaders.gl/polyfills": "3.0.13",
51
- "@loaders.gl/tiles": "3.0.13",
52
- "@loaders.gl/worker-utils": "3.0.13",
53
- "@loaders.gl/zip": "3.0.13",
42
+ "@loaders.gl/3d-tiles": "3.0.14",
43
+ "@loaders.gl/core": "3.0.14",
44
+ "@loaders.gl/crypto": "3.0.14",
45
+ "@loaders.gl/draco": "3.0.14",
46
+ "@loaders.gl/gltf": "3.0.14",
47
+ "@loaders.gl/i3s": "3.0.14",
48
+ "@loaders.gl/images": "3.0.14",
49
+ "@loaders.gl/loader-utils": "3.0.14",
50
+ "@loaders.gl/polyfills": "3.0.14",
51
+ "@loaders.gl/tiles": "3.0.14",
52
+ "@loaders.gl/worker-utils": "3.0.14",
53
+ "@loaders.gl/zip": "3.0.14",
54
54
  "@luma.gl/engine": "^8.5.0",
55
55
  "@math.gl/core": "^3.5.1",
56
56
  "@math.gl/culling": "^3.5.1",
@@ -66,5 +66,5 @@
66
66
  "morgan": "~1.9.1",
67
67
  "uuid": "^8.1.0"
68
68
  },
69
- "gitHead": "acb7e5ecb4fc82e3628a2cf47a5345e8d28c0c2a"
69
+ "gitHead": "dc931768fc34de549ef6baeb94e2ee5aa8163baf"
70
70
  }
@@ -21,7 +21,7 @@ import type {
21
21
  } from '@loaders.gl/i3s';
22
22
  import {load} from '@loaders.gl/core';
23
23
  import {Tileset3D} from '@loaders.gl/tiles';
24
- import {CesiumIonLoader} from '@loaders.gl/3d-tiles';
24
+ import {CesiumIonLoader, Tiles3DLoader} from '@loaders.gl/3d-tiles';
25
25
  import {join} from 'path';
26
26
  import {v4 as uuidv4} from 'uuid';
27
27
  import process from 'process';
@@ -51,6 +51,7 @@ import {SHARED_RESOURCES_TEMPLATE} from './json-templates/shared-resources';
51
51
  import {validateNodeBoundingVolumes} from './helpers/node-debug';
52
52
  import {GeoidHeightModel} from '../lib/geoid-height-model';
53
53
  import TileHeader from '@loaders.gl/tiles/src/tileset/tile-3d';
54
+ import {LoaderWithParser} from '@loaders.gl/loader-utils';
54
55
 
55
56
  const ION_DEFAULT_TOKEN =
56
57
  process.env.IonToken || // eslint-disable-line
@@ -63,6 +64,7 @@ const SHORT_INT_TYPE = 'Int32';
63
64
  const DOUBLE_TYPE = 'double';
64
65
  const OBJECT_ID_TYPE = 'OBJECTID';
65
66
  const REFRESH_TOKEN_TIMEOUT = 1800; // 30 minutes in seconds
67
+ const CESIUM_DATASET_PREFIX = 'https://';
66
68
  // const FS_FILE_TOO_LARGE = 'ERR_FS_FILE_TOO_LARGE';
67
69
 
68
70
  /**
@@ -88,6 +90,7 @@ export default class I3SConverter {
88
90
  refreshTokenTime: [number, number];
89
91
  sourceTileset: Tileset3D | null;
90
92
  geoidHeightModel: GeoidHeightModel | null;
93
+ Loader: LoaderWithParser = Tiles3DLoader;
91
94
 
92
95
  constructor() {
93
96
  this.nodePages = new NodePages(writeFile, HARDCODED_NODES_PER_PAGE);
@@ -148,6 +151,7 @@ export default class I3SConverter {
148
151
  } = options;
149
152
  this.options = {maxDepth, slpk, sevenZipExe, egmFilePath, draco, token, inputUrl};
150
153
  this.validate = validate;
154
+ this.Loader = inputUrl.indexOf(CESIUM_DATASET_PREFIX) !== -1 ? CesiumIonLoader : Tiles3DLoader;
151
155
 
152
156
  console.log('Loading egm file...'); // eslint-disable-line
153
157
  this.geoidHeightModel = await load(egmFilePath, PGMLoader);
@@ -163,7 +167,7 @@ export default class I3SConverter {
163
167
  tilesetOptions.loadOptions.fetch = {headers: preloadOptions.headers};
164
168
  }
165
169
  Object.assign(tilesetOptions, preloadOptions);
166
- const sourceTilesetJson = await load(inputUrl, CesiumIonLoader, tilesetOptions.loadOptions);
170
+ const sourceTilesetJson = await load(inputUrl, this.Loader, tilesetOptions.loadOptions);
167
171
  // console.log(tilesetJson); // eslint-disable-line
168
172
  this.sourceTileset = new Tileset3D(sourceTilesetJson, tilesetOptions);
169
173
 
@@ -1159,10 +1163,13 @@ export default class I3SConverter {
1159
1163
  * Fetch preload options for ION tileset
1160
1164
  */
1161
1165
  private async _fetchPreloadOptions(): Promise<any> {
1166
+ if (!this.Loader.preload) {
1167
+ return {};
1168
+ }
1162
1169
  const options = {
1163
1170
  'cesium-ion': {accessToken: this.options.token || ION_DEFAULT_TOKEN}
1164
1171
  };
1165
- const preloadOptions = await CesiumIonLoader.preload(this.options.inputUrl, options);
1172
+ const preloadOptions = await this.Loader.preload(this.options.inputUrl, options);
1166
1173
  this.refreshTokenTime = process.hrtime();
1167
1174
  return {...options, ...preloadOptions};
1168
1175
  }