@loaders.gl/tile-converter 4.2.0-alpha.5 → 4.2.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +1 -1
  2. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  3. package/dist/3d-tiles-converter/3d-tiles-converter.js +42 -22
  4. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  5. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +4 -0
  6. package/dist/3d-tiles-converter/helpers/load-i3s.d.ts.map +1 -1
  7. package/dist/3d-tiles-converter/helpers/load-i3s.js +3 -28
  8. package/dist/converter-cli.js +4 -2
  9. package/dist/converter.min.cjs +95 -95
  10. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  11. package/dist/deps-installer/deps-installer.js +6 -1
  12. package/dist/i3s-converter/helpers/attribute-metadata-info.js +4 -1
  13. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  14. package/dist/i3s-converter/helpers/batch-ids-extensions.js +2 -1
  15. package/dist/i3s-converter/helpers/coordinate-converter.js +2 -2
  16. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -1
  17. package/dist/i3s-converter/helpers/feature-attributes.js +4 -2
  18. package/dist/i3s-converter/helpers/geometry-attributes.js +6 -5
  19. package/dist/i3s-converter/helpers/geometry-converter.d.ts +15 -1
  20. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  21. package/dist/i3s-converter/helpers/geometry-converter.js +52 -12
  22. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  23. package/dist/i3s-converter/helpers/gltf-attributes.js +12 -14
  24. package/dist/i3s-converter/helpers/node-index-document.d.ts +8 -1
  25. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -1
  26. package/dist/i3s-converter/helpers/node-index-document.js +18 -11
  27. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  28. package/dist/i3s-converter/helpers/node-pages.js +27 -26
  29. package/dist/i3s-converter/helpers/preprocess-3d-tiles.d.ts.map +1 -1
  30. package/dist/i3s-converter/helpers/progress.d.ts.map +1 -1
  31. package/dist/i3s-converter/helpers/progress.js +23 -18
  32. package/dist/i3s-converter/helpers/tileset-traversal.d.ts +8 -1
  33. package/dist/i3s-converter/helpers/tileset-traversal.d.ts.map +1 -1
  34. package/dist/i3s-converter/helpers/tileset-traversal.js +12 -3
  35. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  36. package/dist/i3s-converter/i3s-converter.js +190 -66
  37. package/dist/i3s-converter/json-templates/node.js +1 -1
  38. package/dist/i3s-server/bin/i3s-server.min.cjs +69 -69
  39. package/dist/i3s-server/bin/www.js +6 -4
  40. package/dist/i3s-server/controllers/slpk-controller.d.ts.map +1 -1
  41. package/dist/i3s-server/controllers/slpk-controller.js +3 -1
  42. package/dist/i3s-server/routes/index.js +11 -8
  43. package/dist/i3s-server/routes/slpk-router.d.ts.map +1 -1
  44. package/dist/i3s-server/routes/slpk-router.js +24 -18
  45. package/dist/i3s-server/utils/server-utils.d.ts.map +1 -1
  46. package/dist/i3s-server/utils/server-utils.js +8 -5
  47. package/dist/index.cjs +419 -211
  48. package/dist/index.cjs.map +3 -3
  49. package/dist/lib/utils/cli-utils.d.ts.map +1 -1
  50. package/dist/lib/utils/cli-utils.js +2 -0
  51. package/dist/lib/utils/conversion-dump.d.ts +9 -1
  52. package/dist/lib/utils/conversion-dump.d.ts.map +1 -1
  53. package/dist/lib/utils/conversion-dump.js +44 -21
  54. package/dist/lib/utils/file-utils.d.ts +1 -1
  55. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  56. package/dist/lib/utils/file-utils.js +10 -12
  57. package/dist/lib/utils/statistic-utills.d.ts.map +1 -1
  58. package/dist/lib/utils/statistic-utills.js +5 -7
  59. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  60. package/dist/lib/utils/write-queue.js +7 -3
  61. package/dist/pgm-loader.js +1 -1
  62. package/dist/slpk-extractor/slpk-extractor.d.ts.map +1 -1
  63. package/dist/slpk-extractor/slpk-extractor.js +2 -1
  64. package/dist/slpk-extractor-cli.d.ts.map +1 -1
  65. package/dist/slpk-extractor-cli.js +16 -8
  66. package/dist/slpk-extractor.min.cjs +1 -1
  67. package/package.json +23 -22
  68. package/src/3d-tiles-converter/3d-tiles-converter.ts +21 -10
  69. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +1 -0
  70. package/src/3d-tiles-converter/helpers/load-i3s.ts +3 -27
  71. package/src/converter-cli.ts +4 -2
  72. package/src/deps-installer/deps-installer.ts +7 -0
  73. package/src/i3s-converter/helpers/attribute-metadata-info.ts +1 -1
  74. package/src/i3s-converter/helpers/batch-ids-extensions.ts +3 -1
  75. package/src/i3s-converter/helpers/coordinate-converter.ts +2 -2
  76. package/src/i3s-converter/helpers/feature-attributes.ts +5 -2
  77. package/src/i3s-converter/helpers/geometry-attributes.ts +6 -5
  78. package/src/i3s-converter/helpers/geometry-converter.ts +118 -72
  79. package/src/i3s-converter/helpers/gltf-attributes.ts +12 -13
  80. package/src/i3s-converter/helpers/node-index-document.ts +18 -10
  81. package/src/i3s-converter/helpers/node-pages.ts +27 -29
  82. package/src/i3s-converter/helpers/preprocess-3d-tiles.ts +1 -0
  83. package/src/i3s-converter/helpers/progress.ts +1 -0
  84. package/src/i3s-converter/helpers/tileset-traversal.ts +22 -13
  85. package/src/i3s-converter/i3s-converter.ts +173 -114
  86. package/src/i3s-converter/json-templates/node.ts +1 -1
  87. package/src/i3s-server/bin/www.ts +6 -4
  88. package/src/i3s-server/controllers/slpk-controller.ts +4 -2
  89. package/src/i3s-server/routes/index.ts +10 -7
  90. package/src/i3s-server/routes/slpk-router.ts +22 -16
  91. package/src/i3s-server/utils/server-utils.ts +6 -4
  92. package/src/lib/utils/cli-utils.ts +2 -0
  93. package/src/lib/utils/conversion-dump.ts +35 -20
  94. package/src/lib/utils/file-utils.ts +11 -11
  95. package/src/lib/utils/statistic-utills.ts +5 -6
  96. package/src/lib/utils/write-queue.ts +2 -2
  97. package/src/slpk-extractor/slpk-extractor.ts +2 -1
  98. package/src/slpk-extractor-cli.ts +16 -8
  99. package/src/lib/utils/statistic-utills.d.ts +0 -25
@@ -40,7 +40,7 @@ export default class Tiles3DConverter {
40
40
  egmFilePath: string;
41
41
  inquirer?: Promise<unknown>;
42
42
  analyze?: boolean;
43
- }): Promise<any>;
43
+ }): Promise<string | undefined>;
44
44
  /**
45
45
  * Preprocess stage of the tile converter. Calculate number of nodes
46
46
  * @returns true - the conversion is possible, false - the tileset's content is not supported
@@ -1 +1 @@
1
- {"version":3,"file":"3d-tiles-converter.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-converter/3d-tiles-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGpB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAcrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,cAAc,EAAwB,wCAAqC;AACnF,OAAO,EAAC,QAAQ,EAAC,6CAA0C;AAI3D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,EAAE,GAAG,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,KAAK,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACrD,YAAY,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IAC3C,cAAc,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC5C,aAAa,EAAE,gBAAgB,CAU7B;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;;IAenB;;;;;;;;OAQG;IACU,OAAO,CAAC,OAAO,EAAE;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,GAAG,CAAC;IAmGhB;;;OAGG;YACW,oBAAoB;IAsBlC;;;;;;OAMG;YACW,gBAAgB;IAyE9B;;;;;OAKG;YACW,YAAY;IAa1B;;;;;OAKG;YACW,cAAc;IA4B5B;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAsBrC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;YACW,oBAAoB;IAsBlC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;OAGG;YACW,iBAAiB;CAgBhC"}
1
+ {"version":3,"file":"3d-tiles-converter.d.ts","sourceRoot":"","sources":["../../src/3d-tiles-converter/3d-tiles-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAGpB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAcrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAC/C,OAAO,EAAC,cAAc,EAAwB,wCAAqC;AACnF,OAAO,EAAC,QAAQ,EAAC,6CAA0C;AAI3D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,EAAE,GAAG,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB,EAAE,KAAK,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IACrD,YAAY,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAM;IAC3C,cAAc,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC5C,aAAa,EAAE,gBAAgB,CAU7B;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,QAAQ,CAAC;;IAenB;;;;;;;;OAQG;IAEU,OAAO,CAAC,OAAO,EAAE;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoG/B;;;OAGG;YACW,oBAAoB;IA8BlC;;;;;;OAMG;YAEW,gBAAgB;IAyE9B;;;;;OAKG;YACW,YAAY;IAa1B;;;;;OAKG;YACW,cAAc;IA4B5B;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAsBrC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;YACW,oBAAoB;IAsBlC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;OAGG;YACW,iBAAiB;CAgBhC"}
@@ -21,20 +21,29 @@ const I3S = 'I3S';
21
21
  * Converter from i3s to 3d-tiles
22
22
  */
23
23
  export default class Tiles3DConverter {
24
+ options;
25
+ tilesetPath;
26
+ vertexCounter;
27
+ conversionStartTime;
28
+ geoidHeightModel;
29
+ sourceTileset;
30
+ attributeStorageInfo;
31
+ workerSource = {};
32
+ slpkFilesystem = null;
33
+ loaderOptions = {
34
+ _nodeWorkers: true,
35
+ reuseWorkers: true,
36
+ // TODO: converter freezes in the end because of i3s-content-worker
37
+ worker: false,
38
+ i3s: { coordinateSystem: COORDINATE_SYSTEM.LNGLAT_OFFSETS, decodeTextures: false },
39
+ // We need to load local fs workers because nodejs can't load workers from the Internet
40
+ 'i3s-content': {
41
+ workerUrl: './modules/i3s/dist/i3s-content-worker-node.js'
42
+ }
43
+ };
44
+ conversionDump;
45
+ progress;
24
46
  constructor() {
25
- this.workerSource = {};
26
- this.slpkFilesystem = null;
27
- this.loaderOptions = {
28
- _nodeWorkers: true,
29
- reuseWorkers: true,
30
- // TODO: converter freezes in the end because of i3s-content-worker
31
- worker: false,
32
- i3s: { coordinateSystem: COORDINATE_SYSTEM.LNGLAT_OFFSETS, decodeTextures: false },
33
- // We need to load local fs workers because nodejs can't load workers from the Internet
34
- 'i3s-content': {
35
- workerUrl: './modules/i3s/dist/i3s-content-worker-node.js'
36
- }
37
- };
38
47
  this.options = {};
39
48
  this.tilesetPath = '';
40
49
  this.vertexCounter = 0;
@@ -55,9 +64,10 @@ export default class Tiles3DConverter {
55
64
  * @param options.egmFilePath location of *.pgm file to convert heights from ellipsoidal to gravity-related format
56
65
  * @param options.maxDepth The max tree depth of conversion
57
66
  */
67
+ // eslint-disable-next-line complexity, max-statements
58
68
  async convert(options) {
59
69
  if (isBrowser) {
60
- console.log(BROWSER_ERROR_MESSAGE);
70
+ console.log(BROWSER_ERROR_MESSAGE); // eslint-disable-line no-console
61
71
  return BROWSER_ERROR_MESSAGE;
62
72
  }
63
73
  const { inputUrl, outputPath, tilesetName, maxDepth, egmFilePath, inquirer, analyze } = options;
@@ -71,7 +81,7 @@ export default class Tiles3DConverter {
71
81
  if (analyze || this.slpkFilesystem) {
72
82
  preprocessResult = await this.preprocessConversion();
73
83
  if (!preprocessResult || analyze) {
74
- return;
84
+ return undefined;
75
85
  }
76
86
  }
77
87
  this.progress.startMonitoring();
@@ -81,7 +91,7 @@ export default class Tiles3DConverter {
81
91
  i3s: { ...this.loaderOptions.i3s, isTileset: true }
82
92
  }, this.slpkFilesystem);
83
93
  if (!this.sourceTileset) {
84
- return;
94
+ return undefined;
85
95
  }
86
96
  const rootNode = this.sourceTileset?.root;
87
97
  if (!rootNode.obb) {
@@ -131,29 +141,38 @@ export default class Tiles3DConverter {
131
141
  // Clean up worker pools
132
142
  const workerFarm = WorkerFarm.getWorkerFarm({});
133
143
  workerFarm.destroy();
144
+ return undefined;
134
145
  }
135
146
  /**
136
147
  * Preprocess stage of the tile converter. Calculate number of nodes
137
148
  * @returns true - the conversion is possible, false - the tileset's content is not supported
138
149
  */
139
150
  async preprocessConversion() {
140
- console.log(`Analyze source layer`);
151
+ // eslint-disable-next-line no-console
152
+ console.log('Analyze source layer');
141
153
  const nodesCount = await getNodeCount(this.slpkFilesystem);
142
154
  this.progress.stepsTotal = nodesCount;
143
- console.log(`------------------------------------------------`);
144
- console.log(`Preprocess results:`);
155
+ // eslint-disable-next-line no-console
156
+ console.log('------------------------------------------------');
157
+ // eslint-disable-next-line no-console
158
+ console.log('Preprocess results:');
145
159
  if (this.slpkFilesystem) {
160
+ // eslint-disable-next-line no-console
146
161
  console.log(`Node count: ${nodesCount}`);
147
162
  if (nodesCount === 0) {
163
+ // eslint-disable-next-line no-console
148
164
  console.log('Node count is 0. The conversion will be interrupted.');
149
- console.log(`------------------------------------------------`);
165
+ // eslint-disable-next-line no-console
166
+ console.log('------------------------------------------------');
150
167
  return false;
151
168
  }
152
169
  }
153
170
  else {
154
- console.log(`Node count cannot be calculated for the remote dataset`);
171
+ // eslint-disable-next-line no-console
172
+ console.log('Node count cannot be calculated for the remote dataset');
155
173
  }
156
- console.log(`------------------------------------------------`);
174
+ // eslint-disable-next-line no-console
175
+ console.log('------------------------------------------------');
157
176
  return true;
158
177
  }
159
178
  /**
@@ -163,6 +182,7 @@ export default class Tiles3DConverter {
163
182
  * @param level a current level of a tree depth
164
183
  * @param childNodeInfo child node to convert
165
184
  */
185
+ // eslint-disable-next-line complexity, max-statements
166
186
  async convertChildNode(parentSourceNode, parentNode, level, childNodeInfo) {
167
187
  let nextParentNode = parentNode;
168
188
  const sourceChild = await this._loadChildNode(parentSourceNode, childNodeInfo);
@@ -1 +1 @@
1
- {"version":3,"file":"b3dm-converter.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/b3dm-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAIpD,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAW/C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAEhC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC;IAEb;;;;OAIG;IACG,OAAO,CACX,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,GAAE,GAAU,GAC5B,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;OAIG;IACG,SAAS,CACb,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,GAAG,GACrB,OAAO,CAAC,WAAW,CAAC;IAuEvB;;;;;OAKG;IACG,oBAAoB,CAAC,WAAW,KAAA,EAAE,aAAa,KAAA,EAAE,WAAW,KAAA;IAmBlE;;;;;;;OAOG;IACH,mBAAmB,CAAC,cAAc,KAAA,EAAE,eAAe,KAAA,EAAE,kBAAkB,KAAA,EAAE,WAAW,KAAA;IAepF;;;;;;;OAOG;IACH,wBAAwB,CAAC,eAAe,KAAA;IAMxC;;;;OAIG;IACH,eAAe,CAAC,UAAU,KAAA,EAAE,iBAAiB,KAAA;IAoB7C;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,KAAA;IAchC;;;;;OAKG;IACH,iCAAiC,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA;IAgCxD;;;;;OAKG;IACH,eAAe,CAAC,kBAAkB,KAAA,EAAE,YAAY,KAAA;IA+ChD,kBAAkB,CAAC,UAAU,KAAA;IAY7B,aAAa,CAAC,OAAO,KAAA;CAItB"}
1
+ {"version":3,"file":"b3dm-converter.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/b3dm-converter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAIpD,OAAO,EAAC,OAAO,EAAU,MAAM,eAAe,CAAC;AAW/C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,cAAc,CAAC;IAC5B,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAEhC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC;IAEb;;;;OAIG;IACG,OAAO,CACX,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,GAAE,GAAU,GAC5B,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;OAIG;IAEG,SAAS,CACb,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,GAAG,GACrB,OAAO,CAAC,WAAW,CAAC;IAuEvB;;;;;OAKG;IACG,oBAAoB,CAAC,WAAW,KAAA,EAAE,aAAa,KAAA,EAAE,WAAW,KAAA;IAmBlE;;;;;;;OAOG;IACH,mBAAmB,CAAC,cAAc,KAAA,EAAE,eAAe,KAAA,EAAE,kBAAkB,KAAA,EAAE,WAAW,KAAA;IAepF;;;;;;;OAOG;IACH,wBAAwB,CAAC,eAAe,KAAA;IAMxC;;;;OAIG;IACH,eAAe,CAAC,UAAU,KAAA,EAAE,iBAAiB,KAAA;IAoB7C;;;;;OAKG;IACH,yBAAyB,CAAC,MAAM,KAAA;IAchC;;;;;OAKG;IACH,iCAAiC,CAAC,QAAQ,KAAA,EAAE,YAAY,KAAA;IAgCxD;;;;;OAKG;IACH,eAAe,CAAC,kBAAkB,KAAA,EAAE,YAAY,KAAA;IA+ChD,kBAAkB,CAAC,UAAU,KAAA;IAY7B,aAAa,CAAC,OAAO,KAAA;CAItB"}
@@ -14,6 +14,9 @@ const ROUGHNESS_FACTOR_DEFAULT = 1.0;
14
14
  * Converts content of an I3S node to *.b3dm's file content
15
15
  */
16
16
  export default class B3dmConverter {
17
+ // @ts-expect-error
18
+ rtcCenter;
19
+ i3sTile;
17
20
  /**
18
21
  * The starter of content conversion
19
22
  * @param i3sTile - Tile3D instance for I3S node
@@ -34,6 +37,7 @@ export default class B3dmConverter {
34
37
  * @param i3sTile - Tile3D instance for I3S node
35
38
  * @returns - encoded glb content
36
39
  */
40
+ // eslint-disable-next-line max-statements
37
41
  async buildGLTF(i3sAttributesData, featureAttributes) {
38
42
  const { tileContent, textureFormat, box } = i3sAttributesData;
39
43
  const { material, attributes, indices: originalIndices, modelMatrix } = tileContent;
@@ -1 +1 @@
1
- {"version":3,"file":"load-i3s.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/load-i3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAO,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAEhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kBACV,gBAAgB,GAAG,IAAI,cAC1B,aAAa,sBACL,gBAAgB,kBACpB,aAAa,GAAG,IAAI,KACnC,QAAQ,cAAc,GAAG,IAAI,CAuC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAWzE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,gBAAgB,EAC7B,UAAU,EAAE,aAAa,GAAG,IAAI,gBAYjC;AAuBD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAapF"}
1
+ {"version":3,"file":"load-i3s.d.ts","sourceRoot":"","sources":["../../../src/3d-tiles-converter/helpers/load-i3s.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAO,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAEhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAC,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,kBACV,gBAAgB,GAAG,IAAI,cAC1B,aAAa,sBACL,gBAAgB,kBACpB,aAAa,GAAG,IAAI,KACnC,QAAQ,cAAc,GAAG,IAAI,CAuC/B,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAUzE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,gBAAgB,EAC7B,UAAU,EAAE,aAAa,GAAG,IAAI,gBAUjC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAapF"}
@@ -50,8 +50,7 @@ export const loadI3SContent = async (sourceTileset, sourceTile, tilesetLoadOptio
50
50
  */
51
51
  export async function openSLPK(url) {
52
52
  const slpkUrlParts = url.split('.slpk');
53
- const { slpkFileName } = getSlpkUrlParts(url) || {};
54
- if (slpkFileName) {
53
+ if (slpkUrlParts.length === 2) {
55
54
  const slpkFileName = `${slpkUrlParts[0]}.slpk`;
56
55
  const fileProvider = new FileHandleFile(slpkFileName);
57
56
  const archive = await parseSLPKArchive(fileProvider, undefined, slpkFileName);
@@ -68,10 +67,8 @@ export async function openSLPK(url) {
68
67
  * @returns i3s resource
69
68
  */
70
69
  export async function loadFromArchive(url, loader, loadOptions, fileSystem) {
71
- const slpkUrlParts = getSlpkUrlParts(url);
72
- if (fileSystem !== null && slpkUrlParts !== null) {
73
- const { internalFileName } = slpkUrlParts;
74
- const content = await load(internalFileName, loader, {
70
+ if (fileSystem !== null) {
71
+ const content = await load(url, loader, {
75
72
  ...loadOptions,
76
73
  fetch: fileSystem.fetch.bind(fileSystem)
77
74
  });
@@ -79,28 +76,6 @@ export async function loadFromArchive(url, loader, loadOptions, fileSystem) {
79
76
  }
80
77
  return await load(url, loader, loadOptions);
81
78
  }
82
- /**
83
- * Extract slpk file path and internal from the url
84
- * For example, for `./path/to/file.slpk/nodes/0` it returns
85
- * {"slpkFileName": "./path/to/file.slpk", "internalFileName": "/nodes/0" }
86
- * @param url full internal file path
87
- * @returns object with internal slpk file parts
88
- */
89
- function getSlpkUrlParts(url) {
90
- const slpkUrlParts = url.split('.slpk');
91
- let result;
92
- // Not '.slpk'. The file will be loaded with global fetch function
93
- if (slpkUrlParts.length === 1) {
94
- result = null;
95
- }
96
- else if (slpkUrlParts.length === 2) {
97
- result = { slpkFileName: `${slpkUrlParts[0]}.slpk`, internalFileName: slpkUrlParts[1].slice(1) };
98
- }
99
- else {
100
- throw new Error('Unexpected URL format');
101
- }
102
- return result;
103
- }
104
79
  /**
105
80
  * Get nodes count inside SLPK
106
81
  * @param fileSystem - file system of SLPK
@@ -7,6 +7,7 @@ import { DepsInstaller } from "./deps-installer/deps-installer.js";
7
7
  import { getBooleanValue, getIntegerValue, getStringValue, getURLValue, validateOptionsWithEqual } from "./lib/utils/cli-utils.js";
8
8
  import { addOneFile, composeHashFile, makeZipCDHeaderIterator } from '@loaders.gl/zip';
9
9
  import { FileHandleFile } from '@loaders.gl/loader-utils';
10
+ // @ts-ignore
10
11
  import { copyFile } from 'node:fs/promises';
11
12
  const TILESET_TYPE = {
12
13
  I3S: 'I3S',
@@ -16,6 +17,7 @@ const TILESET_TYPE = {
16
17
  * CLI entry
17
18
  * @returns
18
19
  */
20
+ // eslint-disable-next-line max-statements
19
21
  async function main() {
20
22
  const [, , ...args] = process.argv;
21
23
  if (args.length === 0) {
@@ -71,7 +73,7 @@ async function main() {
71
73
  }
72
74
  main().catch((error) => {
73
75
  console.log(error);
74
- process.exit(1); // eslint-disable-line
76
+ process.exit(1); // eslint-disable-line no-process-exit
75
77
  });
76
78
  /**
77
79
  * Output for `npx tile-converter --help`
@@ -179,7 +181,7 @@ function validateOptions(options, addHash) {
179
181
  }
180
182
  if (exceptions.length) {
181
183
  exceptions.forEach((exeption) => exeption());
182
- process.exit(1);
184
+ process.exit(1); // eslint-disable-line no-process-exit
183
185
  }
184
186
  return options;
185
187
  }