@loaders.gl/tile-converter 3.4.0-alpha.2 → 3.4.0-alpha.4

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 (156) hide show
  1. package/dist/3d-tiles-attributes-worker.js +2 -2
  2. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  3. package/dist/converter.min.js +90 -2875
  4. package/dist/dist.min.js +1823 -19725
  5. package/dist/es5/3d-tiles-attributes-worker.js +1 -2
  6. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  7. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +264 -287
  8. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  9. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +89 -113
  10. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  11. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  12. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -2
  13. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  14. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  15. package/dist/es5/constants.js.map +1 -1
  16. package/dist/es5/converter-cli.js +67 -81
  17. package/dist/es5/converter-cli.js.map +1 -1
  18. package/dist/es5/deps-installer/deps-installer.js +64 -69
  19. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  20. package/dist/es5/i3s-attributes-worker.js +1 -2
  21. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  22. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +0 -8
  23. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  24. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +0 -5
  25. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  26. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +14 -16
  27. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  28. package/dist/es5/i3s-converter/helpers/feature-attributes.js +1 -11
  29. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -1
  30. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +3 -10
  31. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  32. package/dist/es5/i3s-converter/helpers/geometry-converter.js +427 -457
  33. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  34. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +0 -2
  35. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  36. package/dist/es5/i3s-converter/helpers/node-debug.js +3 -13
  37. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  38. package/dist/es5/i3s-converter/helpers/node-index-document.js +293 -318
  39. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -1
  40. package/dist/es5/i3s-converter/helpers/node-pages.js +279 -319
  41. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  42. package/dist/es5/i3s-converter/i3s-converter.js +964 -1030
  43. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  44. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
  45. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  46. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  47. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  48. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  49. package/dist/es5/i3s-converter/json-templates/shared-resources.js +1 -1
  50. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  51. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  52. package/dist/es5/i3s-converter/types.js.map +1 -1
  53. package/dist/es5/i3s-server/app.js.map +1 -1
  54. package/dist/es5/i3s-server/controllers/index-controller.js +28 -30
  55. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  56. package/dist/es5/i3s-server/routes/index.js +15 -18
  57. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  58. package/dist/es5/index.js.map +1 -1
  59. package/dist/es5/lib/utils/compress-util.js +198 -218
  60. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  61. package/dist/es5/lib/utils/file-utils.js +118 -128
  62. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  63. package/dist/es5/lib/utils/lod-conversion-utils.js +0 -1
  64. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  65. package/dist/es5/lib/utils/queue.js.map +1 -1
  66. package/dist/es5/lib/utils/statistic-utills.js +81 -85
  67. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  68. package/dist/es5/lib/utils/write-queue.js +84 -92
  69. package/dist/es5/lib/utils/write-queue.js.map +1 -1
  70. package/dist/es5/pgm-loader.js +7 -10
  71. package/dist/es5/pgm-loader.js.map +1 -1
  72. package/dist/es5/workers/3d-tiles-attributes-worker.js +7 -9
  73. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
  74. package/dist/es5/workers/i3s-attributes-worker.js +10 -12
  75. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
  76. package/dist/esm/3d-tiles-attributes-worker.js +1 -3
  77. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  78. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +1 -15
  79. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  80. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +0 -12
  81. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  82. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -1
  83. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  84. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +0 -3
  85. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  86. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  87. package/dist/esm/bundle.js +0 -1
  88. package/dist/esm/bundle.js.map +1 -1
  89. package/dist/esm/converter-cli.js +0 -11
  90. package/dist/esm/converter-cli.js.map +1 -1
  91. package/dist/esm/deps-installer/deps-installer.js +1 -4
  92. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  93. package/dist/esm/i3s-attributes-worker.js +1 -3
  94. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  95. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +0 -8
  96. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  97. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +0 -5
  98. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  99. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +0 -1
  100. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  101. package/dist/esm/i3s-converter/helpers/feature-attributes.js +0 -11
  102. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -1
  103. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +0 -7
  104. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  105. package/dist/esm/i3s-converter/helpers/geometry-converter.js +30 -56
  106. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  107. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +0 -3
  108. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  109. package/dist/esm/i3s-converter/helpers/node-debug.js +3 -13
  110. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  111. package/dist/esm/i3s-converter/helpers/node-index-document.js +0 -14
  112. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -1
  113. package/dist/esm/i3s-converter/helpers/node-pages.js +0 -18
  114. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  115. package/dist/esm/i3s-converter/i3s-converter.js +4 -42
  116. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  117. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -1
  118. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  119. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  120. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  121. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  122. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  123. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
  124. package/dist/esm/i3s-converter/types.js.map +1 -1
  125. package/dist/esm/i3s-server/app.js.map +1 -1
  126. package/dist/esm/i3s-server/controllers/index-controller.js +0 -2
  127. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  128. package/dist/esm/i3s-server/routes/index.js +0 -1
  129. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  130. package/dist/esm/lib/utils/compress-util.js +1 -17
  131. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  132. package/dist/esm/lib/utils/file-utils.js +0 -7
  133. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  134. package/dist/esm/lib/utils/lod-conversion-utils.js +0 -2
  135. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  136. package/dist/esm/lib/utils/queue.js.map +1 -1
  137. package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
  138. package/dist/esm/lib/utils/write-queue.js +0 -2
  139. package/dist/esm/lib/utils/write-queue.js.map +1 -1
  140. package/dist/esm/pgm-loader.js +1 -3
  141. package/dist/esm/pgm-loader.js.map +1 -1
  142. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
  143. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
  144. package/dist/i3s-attributes-worker.js +2 -2
  145. package/dist/i3s-attributes-worker.js.map +3 -3
  146. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  147. package/dist/i3s-converter/helpers/geometry-converter.js +44 -6
  148. package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -1
  149. package/dist/i3s-converter/helpers/node-debug.js +10 -4
  150. package/dist/i3s-converter/helpers/node-pages.js +1 -1
  151. package/dist/i3s-converter/types.d.ts +1 -0
  152. package/dist/i3s-converter/types.d.ts.map +1 -1
  153. package/package.json +15 -16
  154. package/src/i3s-converter/helpers/geometry-converter.ts +59 -14
  155. package/src/i3s-converter/helpers/node-debug.ts +11 -5
  156. package/src/i3s-converter/types.ts +10 -0
@@ -49,36 +49,34 @@ var WriteQueue = function (_Queue) {
49
49
  result,
50
50
  _args = arguments;
51
51
  return _regenerator.default.wrap(function _callee$(_context) {
52
- while (1) {
53
- switch (_context.prev = _context.next) {
54
- case 0:
55
- writeImmediately = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
56
- if (!writeImmediately) {
57
- _context.next = 9;
58
- break;
59
- }
60
- _ref = val, archiveKey = _ref.archiveKey, writePromise = _ref.writePromise;
61
- _context.next = 5;
62
- return writePromise();
63
- case 5:
64
- result = _context.sent;
65
- if (archiveKey && result) {
66
- this.fileMap[archiveKey] = result;
67
- }
68
- _context.next = 13;
52
+ while (1) switch (_context.prev = _context.next) {
53
+ case 0:
54
+ writeImmediately = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
55
+ if (!writeImmediately) {
56
+ _context.next = 9;
69
57
  break;
70
- case 9:
71
- (0, _get2.default)((0, _getPrototypeOf2.default)(WriteQueue.prototype), "enqueue", this).call(this, val);
72
- if (!(_process.default.memoryUsage().rss > MEMORY_LIMIT)) {
73
- _context.next = 13;
74
- break;
75
- }
58
+ }
59
+ _ref = val, archiveKey = _ref.archiveKey, writePromise = _ref.writePromise;
60
+ _context.next = 5;
61
+ return writePromise();
62
+ case 5:
63
+ result = _context.sent;
64
+ if (archiveKey && result) {
65
+ this.fileMap[archiveKey] = result;
66
+ }
67
+ _context.next = 13;
68
+ break;
69
+ case 9:
70
+ (0, _get2.default)((0, _getPrototypeOf2.default)(WriteQueue.prototype), "enqueue", this).call(this, val);
71
+ if (!(_process.default.memoryUsage().rss > MEMORY_LIMIT)) {
76
72
  _context.next = 13;
77
- return this.startWrite();
78
- case 13:
79
- case "end":
80
- return _context.stop();
81
- }
73
+ break;
74
+ }
75
+ _context.next = 13;
76
+ return this.startWrite();
77
+ case 13:
78
+ case "end":
79
+ return _context.stop();
82
80
  }
83
81
  }, _callee, this);
84
82
  }));
@@ -104,20 +102,18 @@ var WriteQueue = function (_Queue) {
104
102
  value: function () {
105
103
  var _startWrite = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
106
104
  return _regenerator.default.wrap(function _callee2$(_context2) {
107
- while (1) {
108
- switch (_context2.prev = _context2.next) {
109
- case 0:
110
- if (!this.writePromise) {
111
- this.writePromise = this.doWrite();
112
- }
113
- _context2.next = 3;
114
- return this.writePromise;
115
- case 3:
116
- this.writePromise = null;
117
- case 4:
118
- case "end":
119
- return _context2.stop();
120
- }
105
+ while (1) switch (_context2.prev = _context2.next) {
106
+ case 0:
107
+ if (!this.writePromise) {
108
+ this.writePromise = this.doWrite();
109
+ }
110
+ _context2.next = 3;
111
+ return this.writePromise;
112
+ case 3:
113
+ this.writePromise = null;
114
+ case 4:
115
+ case "end":
116
+ return _context2.stop();
121
117
  }
122
118
  }, _callee2, this);
123
119
  }));
@@ -131,16 +127,14 @@ var WriteQueue = function (_Queue) {
131
127
  value: function () {
132
128
  var _finalize = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
133
129
  return _regenerator.default.wrap(function _callee3$(_context3) {
134
- while (1) {
135
- switch (_context3.prev = _context3.next) {
136
- case 0:
137
- this.stopListening();
138
- _context3.next = 3;
139
- return this.startWrite();
140
- case 3:
141
- case "end":
142
- return _context3.stop();
143
- }
130
+ while (1) switch (_context3.prev = _context3.next) {
131
+ case 0:
132
+ this.stopListening();
133
+ _context3.next = 3;
134
+ return this.startWrite();
135
+ case 3:
136
+ case "end":
137
+ return _context3.stop();
144
138
  }
145
139
  }, _callee3, this);
146
140
  }));
@@ -155,48 +149,46 @@ var WriteQueue = function (_Queue) {
155
149
  var _doWrite = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4() {
156
150
  var promises, archiveKeys, i, item, _ref2, archiveKey, writePromise, promise, writeResults;
157
151
  return _regenerator.default.wrap(function _callee4$(_context4) {
158
- while (1) {
159
- switch (_context4.prev = _context4.next) {
160
- case 0:
161
- if (!this.length) {
162
- _context4.next = 21;
163
- break;
164
- }
165
- promises = [];
166
- archiveKeys = [];
167
- i = 0;
168
- case 4:
169
- if (!(i < this.writeConcurrency)) {
170
- _context4.next = 15;
171
- break;
172
- }
173
- item = this.dequeue();
174
- if (item) {
175
- _context4.next = 8;
176
- break;
177
- }
178
- return _context4.abrupt("break", 15);
179
- case 8:
180
- _ref2 = item, archiveKey = _ref2.archiveKey, writePromise = _ref2.writePromise;
181
- archiveKeys.push(archiveKey);
182
- promise = writePromise();
183
- promises.push(promise);
184
- case 12:
185
- i++;
186
- _context4.next = 4;
152
+ while (1) switch (_context4.prev = _context4.next) {
153
+ case 0:
154
+ if (!this.length) {
155
+ _context4.next = 21;
156
+ break;
157
+ }
158
+ promises = [];
159
+ archiveKeys = [];
160
+ i = 0;
161
+ case 4:
162
+ if (!(i < this.writeConcurrency)) {
163
+ _context4.next = 15;
187
164
  break;
188
- case 15:
189
- _context4.next = 17;
190
- return Promise.allSettled(promises);
191
- case 17:
192
- writeResults = _context4.sent;
193
- this.updateFileMap(archiveKeys, writeResults);
194
- _context4.next = 0;
165
+ }
166
+ item = this.dequeue();
167
+ if (item) {
168
+ _context4.next = 8;
195
169
  break;
196
- case 21:
197
- case "end":
198
- return _context4.stop();
199
- }
170
+ }
171
+ return _context4.abrupt("break", 15);
172
+ case 8:
173
+ _ref2 = item, archiveKey = _ref2.archiveKey, writePromise = _ref2.writePromise;
174
+ archiveKeys.push(archiveKey);
175
+ promise = writePromise();
176
+ promises.push(promise);
177
+ case 12:
178
+ i++;
179
+ _context4.next = 4;
180
+ break;
181
+ case 15:
182
+ _context4.next = 17;
183
+ return Promise.allSettled(promises);
184
+ case 17:
185
+ writeResults = _context4.sent;
186
+ this.updateFileMap(archiveKeys, writeResults);
187
+ _context4.next = 0;
188
+ break;
189
+ case 21:
190
+ case "end":
191
+ return _context4.stop();
200
192
  }
201
193
  }, _callee4, this);
202
194
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"write-queue.js","names":["MEMORY_LIMIT","WriteQueue","listeningInterval","writeConcurrency","val","writeImmediately","archiveKey","writePromise","result","fileMap","process","memoryUsage","rss","startWrite","intervalId","setInterval","bind","clearInterval","doWrite","stopListening","length","promises","archiveKeys","i","item","dequeue","push","promise","Promise","allSettled","writeResults","updateFileMap","value","Queue"],"sources":["../../../../src/lib/utils/write-queue.ts"],"sourcesContent":["import {Queue} from './queue';\nimport process from 'process';\n\n/** Memory limit size is based on testing */\nconst MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB\n\nexport type WriteQueueItem = {\n archiveKey?: string;\n /**\n * writePromise() returns a Promise that will be awaited in Promise.allSettled(promises);\n * Arguments for this call are specified in writeQueue.enqueue call like this:\n * await writeQueue.enqueue({\n * archiveKey: `nodePages/xxx.json.gz`,\n * writePromise: () => writeFileForSlpk(slpkPath, data, `xxx.json`)\n * });\n * Note, a function like writeFileForSlpk should NOT be called when initializing the object for enqueue().\n * If he function is called, the promise will be created\n * and the function will allocate resources (file descriptors) for file writing.\n * It will be done for ALL items in the queue, which is not supposed to happen.\n * That's why the function should be passed as\n * writePromise: () => writeFileForSlpk(slpkPath, content, `xxx.json`)\n * instead of\n * writePromise: writeFileForSlpk(slpkPath, content, `xxx.json`) // INCORRECT !\n */\n writePromise: () => Promise<string | null>;\n};\n\nexport default class WriteQueue<T extends WriteQueueItem> extends Queue<T> {\n private intervalId?: NodeJS.Timeout;\n public writePromise: Promise<void> | null = null;\n public fileMap: {[key: string]: string} = {};\n public listeningInterval: number;\n public writeConcurrency: number;\n\n constructor(listeningInterval: number = 2000, writeConcurrency: number = 400) {\n super();\n this.listeningInterval = listeningInterval;\n this.writeConcurrency = writeConcurrency;\n }\n\n async enqueue(val: T, writeImmediately: boolean = false) {\n if (writeImmediately) {\n const {archiveKey, writePromise} = val as WriteQueueItem;\n const result = await writePromise();\n if (archiveKey && result) {\n this.fileMap[archiveKey] = result;\n }\n } else {\n super.enqueue(val);\n /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */\n if (process.memoryUsage().rss > MEMORY_LIMIT) {\n await this.startWrite();\n }\n }\n }\n\n startListening() {\n this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);\n }\n\n stopListening() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n async startWrite(): Promise<void> {\n if (!this.writePromise) {\n this.writePromise = this.doWrite();\n }\n await this.writePromise;\n this.writePromise = null;\n }\n\n async finalize(): Promise<void> {\n this.stopListening();\n await this.startWrite();\n }\n\n private async doWrite(): Promise<void> {\n while (this.length) {\n const promises: Promise<string | null>[] = [];\n const archiveKeys: (string | undefined)[] = [];\n for (let i = 0; i < this.writeConcurrency; i++) {\n const item = this.dequeue();\n if (!item) {\n break;\n }\n const {archiveKey, writePromise} = item as WriteQueueItem;\n archiveKeys.push(archiveKey);\n const promise = writePromise();\n promises.push(promise);\n }\n const writeResults = await Promise.allSettled(promises);\n this.updateFileMap(archiveKeys, writeResults);\n }\n }\n\n private updateFileMap(\n archiveKeys: (string | undefined)[],\n writeResults: PromiseSettledResult<string | null>[]\n ) {\n for (let i = 0; i < archiveKeys.length; i++) {\n const archiveKey = archiveKeys[i];\n if (archiveKey && 'value' in writeResults[i]) {\n this.fileMap[archiveKey] = (writeResults[i] as PromiseFulfilledResult<string>).value;\n }\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"write-queue.js","names":["_queue","require","_process","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","MEMORY_LIMIT","WriteQueue","_Queue","_inherits2","_super","_this","listeningInterval","length","undefined","writeConcurrency","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","_enqueue","_asyncToGenerator2","_regenerator","mark","_callee","val","writeImmediately","_ref","archiveKey","writePromise","_args","wrap","_callee$","_context","prev","next","sent","fileMap","_get2","process","memoryUsage","rss","startWrite","stop","enqueue","_x","startListening","intervalId","setInterval","bind","stopListening","clearInterval","_startWrite","_callee2","_callee2$","_context2","doWrite","_finalize","_callee3","_callee3$","_context3","finalize","_doWrite","_callee4","promises","archiveKeys","i","item","_ref2","promise","writeResults","_callee4$","_context4","dequeue","abrupt","push","Promise","allSettled","updateFileMap","Queue","exports"],"sources":["../../../../src/lib/utils/write-queue.ts"],"sourcesContent":["import {Queue} from './queue';\nimport process from 'process';\n\n/** Memory limit size is based on testing */\nconst MEMORY_LIMIT = 4 * 1024 * 1024 * 1024; // 4GB\n\nexport type WriteQueueItem = {\n archiveKey?: string;\n /**\n * writePromise() returns a Promise that will be awaited in Promise.allSettled(promises);\n * Arguments for this call are specified in writeQueue.enqueue call like this:\n * await writeQueue.enqueue({\n * archiveKey: `nodePages/xxx.json.gz`,\n * writePromise: () => writeFileForSlpk(slpkPath, data, `xxx.json`)\n * });\n * Note, a function like writeFileForSlpk should NOT be called when initializing the object for enqueue().\n * If he function is called, the promise will be created\n * and the function will allocate resources (file descriptors) for file writing.\n * It will be done for ALL items in the queue, which is not supposed to happen.\n * That's why the function should be passed as\n * writePromise: () => writeFileForSlpk(slpkPath, content, `xxx.json`)\n * instead of\n * writePromise: writeFileForSlpk(slpkPath, content, `xxx.json`) // INCORRECT !\n */\n writePromise: () => Promise<string | null>;\n};\n\nexport default class WriteQueue<T extends WriteQueueItem> extends Queue<T> {\n private intervalId?: NodeJS.Timeout;\n public writePromise: Promise<void> | null = null;\n public fileMap: {[key: string]: string} = {};\n public listeningInterval: number;\n public writeConcurrency: number;\n\n constructor(listeningInterval: number = 2000, writeConcurrency: number = 400) {\n super();\n this.listeningInterval = listeningInterval;\n this.writeConcurrency = writeConcurrency;\n }\n\n async enqueue(val: T, writeImmediately: boolean = false) {\n if (writeImmediately) {\n const {archiveKey, writePromise} = val as WriteQueueItem;\n const result = await writePromise();\n if (archiveKey && result) {\n this.fileMap[archiveKey] = result;\n }\n } else {\n super.enqueue(val);\n /** https://nodejs.org/docs/latest-v14.x/api/process.html#process_process_memoryusage */\n if (process.memoryUsage().rss > MEMORY_LIMIT) {\n await this.startWrite();\n }\n }\n }\n\n startListening() {\n this.intervalId = setInterval(this.startWrite.bind(this), this.listeningInterval);\n }\n\n stopListening() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n }\n\n async startWrite(): Promise<void> {\n if (!this.writePromise) {\n this.writePromise = this.doWrite();\n }\n await this.writePromise;\n this.writePromise = null;\n }\n\n async finalize(): Promise<void> {\n this.stopListening();\n await this.startWrite();\n }\n\n private async doWrite(): Promise<void> {\n while (this.length) {\n const promises: Promise<string | null>[] = [];\n const archiveKeys: (string | undefined)[] = [];\n for (let i = 0; i < this.writeConcurrency; i++) {\n const item = this.dequeue();\n if (!item) {\n break;\n }\n const {archiveKey, writePromise} = item as WriteQueueItem;\n archiveKeys.push(archiveKey);\n const promise = writePromise();\n promises.push(promise);\n }\n const writeResults = await Promise.allSettled(promises);\n this.updateFileMap(archiveKeys, writeResults);\n }\n }\n\n private updateFileMap(\n archiveKeys: (string | undefined)[],\n writeResults: PromiseSettledResult<string | null>[]\n ) {\n for (let i = 0; i < archiveKeys.length; i++) {\n const archiveKey = archiveKeys[i];\n if (archiveKey && 'value' in writeResults[i]) {\n this.fileMap[archiveKey] = (writeResults[i] as PromiseFulfilledResult<string>).value;\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -8,8 +8,7 @@ exports.PGMLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _geoid = require("@math.gl/geoid");
11
- var VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
12
-
11
+ var VERSION = typeof "3.4.0-alpha.4" !== 'undefined' ? "3.4.0-alpha.4" : 'latest';
13
12
  var PGMLoader = {
14
13
  name: 'PGM - Netpbm grayscale image format',
15
14
  id: 'pgm',
@@ -19,14 +18,12 @@ var PGMLoader = {
19
18
  parse: function () {
20
19
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
21
20
  return _regenerator.default.wrap(function _callee$(_context) {
22
- while (1) {
23
- switch (_context.prev = _context.next) {
24
- case 0:
25
- return _context.abrupt("return", (0, _geoid.parsePGM)(new Uint8Array(arrayBuffer), options));
26
- case 1:
27
- case "end":
28
- return _context.stop();
29
- }
21
+ while (1) switch (_context.prev = _context.next) {
22
+ case 0:
23
+ return _context.abrupt("return", (0, _geoid.parsePGM)(new Uint8Array(arrayBuffer), options));
24
+ case 1:
25
+ case "end":
26
+ return _context.stop();
30
27
  }
31
28
  }, _callee);
32
29
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"pgm-loader.js","names":["VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","arrayBuffer","options","parsePGM","Uint8Array","extensions","cubic"],"sources":["../../src/pgm-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parsePGM} from '@math.gl/geoid';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n // @ts-expect-error LoaderOptions does not have cubic parameter\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"mappings":";;;;;;;;;AACA;AAIA,IAAMA,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;;AAKpE,IAAMC,SAA2B,GAAG;EACzCC,IAAI,EAAE,qCAAqC;EAC3CC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EAEvCC,KAAK;IAAA,uEAAE,iBAAOC,WAAW,EAAEC,OAAO;MAAA;QAAA;UAAA;YAAA;cAAA,iCAAK,IAAAC,eAAQ,EAAC,IAAIC,UAAU,CAACH,WAAW,CAAC,EAAEC,OAAO,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA;IAAA;MAAA;IAAA;IAAA;EAAA;EACrFG,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBH,OAAO,EAAE;IAEPI,KAAK,EAAE;EACT;AACF,CAAC;AAAC"}
1
+ {"version":3,"file":"pgm-loader.js","names":["_geoid","require","VERSION","PGMLoader","name","id","module","version","mimeTypes","parse","_parse","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parsePGM","Uint8Array","stop","_x","_x2","apply","arguments","extensions","cubic","exports"],"sources":["../../src/pgm-loader.ts"],"sourcesContent":["import type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {parsePGM} from '@math.gl/geoid';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n/**\n * Loader for PGM - Netpbm grayscale image format\n */\nexport const PGMLoader: LoaderWithParser = {\n name: 'PGM - Netpbm grayscale image format',\n id: 'pgm',\n module: 'tile-converter',\n version: VERSION,\n mimeTypes: ['image/x-portable-graymap'],\n // @ts-expect-error LoaderOptions does not have cubic parameter\n parse: async (arrayBuffer, options) => parsePGM(new Uint8Array(arrayBuffer), options),\n extensions: ['pgm'],\n options: {\n // TODO - use pgm namespace\n cubic: false\n }\n};\n"],"mappings":";;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAKpE,IAAMC,SAA2B,GAAG;EACzCC,IAAI,EAAE,qCAAqC;EAC3CC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,SAAS,EAAE,CAAC,0BAA0B,CAAC;EAEvCC,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAOC,WAAW,EAAEC,OAAO;MAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAAK,IAAAC,eAAQ,EAAC,IAAIC,UAAU,CAACT,WAAW,CAAC,EAAEC,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAM,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA;IAAA,SAAAN,MAAAkB,EAAA,EAAAC,GAAA;MAAA,OAAAlB,MAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAArB,KAAA;EAAA;EACrFsB,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBd,OAAO,EAAE;IAEPe,KAAK,EAAE;EACT;AACF,CAAC;AAACC,OAAA,CAAA9B,SAAA,GAAAA,SAAA"}
@@ -11,15 +11,13 @@ var b3dmConverter = new _b3dmConverter.default();
11
11
  var options,
12
12
  _args = arguments;
13
13
  return _regenerator.default.wrap(function _callee$(_context) {
14
- while (1) {
15
- switch (_context.prev = _context.next) {
16
- case 0:
17
- options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
18
- return _context.abrupt("return", b3dmConverter.convert(data, options.featureAttributes));
19
- case 2:
20
- case "end":
21
- return _context.stop();
22
- }
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
17
+ return _context.abrupt("return", b3dmConverter.convert(data, options.featureAttributes));
18
+ case 2:
19
+ case "end":
20
+ return _context.stop();
23
21
  }
24
22
  }, _callee);
25
23
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"3d-tiles-attributes-worker.js","names":["b3dmConverter","B3dmConverter","createWorker","data","options","convert","featureAttributes"],"sources":["../../../src/workers/3d-tiles-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';\n\nconst b3dmConverter = new B3dmConverter();\n\ncreateWorker(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));\n"],"mappings":";;;;;AAAA;AACA;AAEA,IAAMA,aAAa,GAAG,IAAIC,sBAAa,EAAE;AAEzC,IAAAC,yBAAY;EAAA,qEAAC,iBAAOC,IAAI;IAAA;MAAA;IAAA;MAAA;QAAA;UAAA;YAAEC,OAAO,2DAAG,CAAC,CAAC;YAAA,iCAAKJ,aAAa,CAACK,OAAO,CAACF,IAAI,EAAEC,OAAO,CAACE,iBAAiB,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAAA,IAAC"}
1
+ {"version":3,"file":"3d-tiles-attributes-worker.js","names":["_workerUtils","require","_b3dmConverter","_interopRequireDefault","b3dmConverter","B3dmConverter","createWorker","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","abrupt","convert","featureAttributes","stop","_x","apply"],"sources":["../../../src/workers/3d-tiles-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport B3dmConverter from '../3d-tiles-converter/helpers/b3dm-converter';\n\nconst b3dmConverter = new B3dmConverter();\n\ncreateWorker(async (data, options = {}) => b3dmConverter.convert(data, options.featureAttributes));\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,aAAa,GAAG,IAAIC,sBAAa,CAAC,CAAC;AAEzC,IAAAC,yBAAY;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAC,SAAAC,QAAOC,IAAI;IAAA,IAAAC,OAAA;MAAAC,KAAA,GAAAC,SAAA;IAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEP,OAAO,GAAAC,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAAQ,SAAA,GAAAR,KAAA,MAAG,CAAC,CAAC;UAAA,OAAAI,QAAA,CAAAK,MAAA,WAAKpB,aAAa,CAACqB,OAAO,CAACZ,IAAI,EAAEC,OAAO,CAACY,iBAAiB,CAAC;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAf,OAAA;EAAA;EAAA,iBAAAgB,EAAA;IAAA,OAAArB,IAAA,CAAAsB,KAAA,OAAAb,SAAA;EAAA;AAAA,IAAC"}
@@ -10,18 +10,16 @@ var _geometryConverter = require("../i3s-converter/helpers/geometry-converter");
10
10
  var options,
11
11
  _args = arguments;
12
12
  return _regenerator.default.wrap(function _callee$(_context) {
13
- while (1) {
14
- switch (_context.prev = _context.next) {
15
- case 0:
16
- options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
17
- _context.next = 3;
18
- return (0, _geometryConverter.convertAttributes)(data, options.materialAndTextureList, options.useCartesianPositions);
19
- case 3:
20
- return _context.abrupt("return", _context.sent);
21
- case 4:
22
- case "end":
23
- return _context.stop();
24
- }
13
+ while (1) switch (_context.prev = _context.next) {
14
+ case 0:
15
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
16
+ _context.next = 3;
17
+ return (0, _geometryConverter.convertAttributes)(data, options.materialAndTextureList, options.useCartesianPositions);
18
+ case 3:
19
+ return _context.abrupt("return", _context.sent);
20
+ case 4:
21
+ case "end":
22
+ return _context.stop();
25
23
  }
26
24
  }, _callee);
27
25
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"i3s-attributes-worker.js","names":["createWorker","data","options","convertAttributes","materialAndTextureList","useCartesianPositions"],"sources":["../../../src/workers/i3s-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {convertAttributes} from '../i3s-converter/helpers/geometry-converter';\n\ncreateWorker(\n async (data, options = {}) =>\n await convertAttributes(data, options.materialAndTextureList, options.useCartesianPositions)\n);\n"],"mappings":";;;;;AAAA;AACA;AAEA,IAAAA,yBAAY;EAAA,qEACV,iBAAOC,IAAI;IAAA;MAAA;IAAA;MAAA;QAAA;UAAA;YAAEC,OAAO,2DAAG,CAAC,CAAC;YAAA;YAAA,OACjB,IAAAC,oCAAiB,EAACF,IAAI,EAAEC,OAAO,CAACE,sBAAsB,EAAEF,OAAO,CAACG,qBAAqB,CAAC;UAAA;YAAA;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA;EAAA;IAAA;EAAA;AAAA,IAC/F"}
1
+ {"version":3,"file":"i3s-attributes-worker.js","names":["_workerUtils","require","_geometryConverter","createWorker","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","convertAttributes","materialAndTextureList","useCartesianPositions","abrupt","sent","stop","_x","apply"],"sources":["../../../src/workers/i3s-attributes-worker.ts"],"sourcesContent":["import {createWorker} from '@loaders.gl/worker-utils';\nimport {convertAttributes} from '../i3s-converter/helpers/geometry-converter';\n\ncreateWorker(\n async (data, options = {}) =>\n await convertAttributes(data, options.materialAndTextureList, options.useCartesianPositions)\n);\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,IAAAE,yBAAY;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CACV,SAAAC,QAAOC,IAAI;IAAA,IAAAC,OAAA;MAAAC,KAAA,GAAAC,SAAA;IAAA,OAAAN,YAAA,CAAAD,OAAA,CAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAEP,OAAO,GAAAC,KAAA,CAAAO,MAAA,QAAAP,KAAA,QAAAQ,SAAA,GAAAR,KAAA,MAAG,CAAC,CAAC;UAAAI,QAAA,CAAAE,IAAA;UAAA,OACjB,IAAAG,oCAAiB,EAACX,IAAI,EAAEC,OAAO,CAACW,sBAAsB,EAAEX,OAAO,CAACY,qBAAqB,CAAC;QAAA;UAAA,OAAAP,QAAA,CAAAQ,MAAA,WAAAR,QAAA,CAAAS,IAAA;QAAA;QAAA;UAAA,OAAAT,QAAA,CAAAU,IAAA;MAAA;IAAA,GAAAjB,OAAA;EAAA;EAAA,iBAAAkB,EAAA;IAAA,OAAAvB,IAAA,CAAAwB,KAAA,OAAAf,SAAA;EAAA;AAAA,GAChG,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { processOnWorker } from '@loaders.gl/worker-utils';
2
-
3
- const VERSION = typeof "3.4.0-alpha.2" !== 'undefined' ? "3.4.0-alpha.2" : 'latest';
2
+ const VERSION = typeof "3.4.0-alpha.4" !== 'undefined' ? "3.4.0-alpha.4" : 'latest';
4
3
  export const Tile3dAttributesWorker = {
5
4
  id: '3d-tiles-attributes',
6
5
  name: '3DTiles Attributes Worker',
@@ -10,7 +9,6 @@ export const Tile3dAttributesWorker = {
10
9
  featureAttributes: null
11
10
  }
12
11
  };
13
-
14
12
  export function transform3DTilesAttributesOnWorker(i3sAttributesData, options) {
15
13
  return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);
16
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"3d-tiles-attributes-worker.js","names":["processOnWorker","VERSION","Tile3dAttributesWorker","id","name","module","version","options","featureAttributes","transform3DTilesAttributesOnWorker","i3sAttributesData","_typecheckI3SAttributesWorker"],"sources":["../../src/3d-tiles-attributes-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport type {FeatureAttribute} from '@loaders.gl/i3s';\n\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type Tile3DAttributesWorkerOptions = {\n featureAttributes: FeatureAttribute | null;\n source: string;\n};\n\nexport type I3SAttributesData = {\n tileContent: any;\n textureFormat: string;\n};\n\n/**\n * I3S Attributes Worker to handle B3DM object\n */\nexport const Tile3dAttributesWorker = {\n id: '3d-tiles-attributes',\n name: '3DTiles Attributes Worker',\n module: 'tile-converter',\n version: VERSION,\n options: {\n featureAttributes: null\n }\n};\n\n/**\n * Performs I3S attributes transformation\n */\nexport function transform3DTilesAttributesOnWorker(\n i3sAttributesData: I3SAttributesData,\n options: Tile3DAttributesWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);\n}\n\nexport const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;\n"],"mappings":"AAGA,SAAQA,eAAe,QAAO,0BAA0B;;AAIxD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAe3E,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,2BAA2B;EACjCC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPC,iBAAiB,EAAE;EACrB;AACF,CAAC;;AAKD,OAAO,SAASC,kCAAkC,CAChDC,iBAAoC,EACpCH,OAAsC,EAChB;EACtB,OAAOP,eAAe,CAACE,sBAAsB,EAAEQ,iBAAiB,EAAEH,OAAO,CAAC;AAC5E;AAEA,OAAO,MAAMI,6BAA2C,GAAGT,sBAAsB"}
1
+ {"version":3,"file":"3d-tiles-attributes-worker.js","names":["processOnWorker","VERSION","Tile3dAttributesWorker","id","name","module","version","options","featureAttributes","transform3DTilesAttributesOnWorker","i3sAttributesData","_typecheckI3SAttributesWorker"],"sources":["../../src/3d-tiles-attributes-worker.ts"],"sourcesContent":["import type {WorkerObject} from '@loaders.gl/worker-utils';\nimport type {FeatureAttribute} from '@loaders.gl/i3s';\n\nimport {processOnWorker} from '@loaders.gl/worker-utils';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type Tile3DAttributesWorkerOptions = {\n featureAttributes: FeatureAttribute | null;\n source: string;\n};\n\nexport type I3SAttributesData = {\n tileContent: any;\n textureFormat: string;\n};\n\n/**\n * I3S Attributes Worker to handle B3DM object\n */\nexport const Tile3dAttributesWorker = {\n id: '3d-tiles-attributes',\n name: '3DTiles Attributes Worker',\n module: 'tile-converter',\n version: VERSION,\n options: {\n featureAttributes: null\n }\n};\n\n/**\n * Performs I3S attributes transformation\n */\nexport function transform3DTilesAttributesOnWorker(\n i3sAttributesData: I3SAttributesData,\n options: Tile3DAttributesWorkerOptions\n): Promise<ArrayBuffer> {\n return processOnWorker(Tile3dAttributesWorker, i3sAttributesData, options);\n}\n\nexport const _typecheckI3SAttributesWorker: WorkerObject = Tile3dAttributesWorker;\n"],"mappings":"AAGA,SAAQA,eAAe,QAAO,0BAA0B;AAIxD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAe3E,OAAO,MAAMC,sBAAsB,GAAG;EACpCC,EAAE,EAAE,qBAAqB;EACzBC,IAAI,EAAE,2BAA2B;EACjCC,MAAM,EAAE,gBAAgB;EACxBC,OAAO,EAAEL,OAAO;EAChBM,OAAO,EAAE;IACPC,iBAAiB,EAAE;EACrB;AACF,CAAC;AAKD,OAAO,SAASC,kCAAkCA,CAChDC,iBAAoC,EACpCH,OAAsC,EAChB;EACtB,OAAOP,eAAe,CAACE,sBAAsB,EAAEQ,iBAAiB,EAAEH,OAAO,CAAC;AAC5E;AAEA,OAAO,MAAMI,6BAA2C,GAAGT,sBAAsB"}
@@ -16,7 +16,6 @@ import { Tile3dAttributesWorker, transform3DTilesAttributesOnWorker } from '../3
16
16
  import { getWorkerURL, WorkerFarm } from '@loaders.gl/worker-utils';
17
17
  import { BROWSER_ERROR_MESSAGE } from '../constants';
18
18
  const I3S = 'I3S';
19
-
20
19
  export default class Tiles3DConverter {
21
20
  constructor() {
22
21
  _defineProperty(this, "options", void 0);
@@ -36,7 +35,6 @@ export default class Tiles3DConverter {
36
35
  this.attributeStorageInfo = null;
37
36
  this.workerSource = {};
38
37
  }
39
-
40
38
  async convert(options) {
41
39
  if (isBrowser) {
42
40
  console.log(BROWSER_ERROR_MESSAGE);
@@ -56,7 +54,6 @@ export default class Tiles3DConverter {
56
54
  console.log('Loading egm file...');
57
55
  this.geoidHeightModel = await load(egmFilePath, PGMLoader);
58
56
  console.log('Loading egm file completed!');
59
-
60
57
  await this.loadWorkers();
61
58
  const sourceTilesetJson = await load(inputUrl, I3SLoader, {});
62
59
  this.sourceTileset = new Tileset3D(sourceTilesetJson, {
@@ -81,8 +78,7 @@ export default class Tiles3DConverter {
81
78
  this.attributeStorageInfo = sourceTilesetJson.attributeStorageInfo;
82
79
  try {
83
80
  await removeDir(this.tilesetPath);
84
- } catch (e) {
85
- }
81
+ } catch (e) {}
86
82
  const rootTile = {
87
83
  boundingVolume: {
88
84
  box: i3sObbTo3dTilesObb(rootNode.header.obb, this.geoidHeightModel)
@@ -100,11 +96,9 @@ export default class Tiles3DConverter {
100
96
  outputPath,
101
97
  tilesetName
102
98
  });
103
-
104
99
  const workerFarm = WorkerFarm.getWorkerFarm({});
105
100
  workerFarm.destroy();
106
101
  }
107
-
108
102
  async convertChildNode(parentSourceNode, parentNode, level, childNodeInfo) {
109
103
  const sourceChild = await this._loadChildNode(parentSourceNode, childNodeInfo);
110
104
  parentSourceNode.children.push(sourceChild);
@@ -147,7 +141,6 @@ export default class Tiles3DConverter {
147
141
  await this._addChildren(sourceChild, parentNode, level + 1);
148
142
  }
149
143
  }
150
-
151
144
  async _addChildren(parentSourceNode, parentNode, level) {
152
145
  if (this.options.maxDepth && level > this.options.maxDepth) {
153
146
  return;
@@ -158,7 +151,6 @@ export default class Tiles3DConverter {
158
151
  }
159
152
  await Promise.all(promises);
160
153
  }
161
-
162
154
  async _loadChildNode(parentNode, childNodeInfo) {
163
155
  let header;
164
156
  if (this.sourceTileset.tileset.nodePages) {
@@ -181,7 +173,6 @@ export default class Tiles3DConverter {
181
173
  }
182
174
  return new Tile3D(this.sourceTileset, header, parentNode);
183
175
  }
184
-
185
176
  _relativeUrlToFullUrl(baseUrl, relativeUrl) {
186
177
  let resultArray = baseUrl.split('/');
187
178
  const relativeUrlArray = relativeUrl.split('/');
@@ -198,7 +189,6 @@ export default class Tiles3DConverter {
198
189
  }
199
190
  return resultArray.join('/');
200
191
  }
201
-
202
192
  async _loadChildAttributes(sourceChild, attributeStorageInfo) {
203
193
  const promises = [];
204
194
  const {
@@ -217,7 +207,6 @@ export default class Tiles3DConverter {
217
207
  this._replaceNestedArrays(attributesList);
218
208
  return Object.assign({}, ...attributesList);
219
209
  }
220
-
221
210
  _getAttributeType(attribute) {
222
211
  if (attribute.attributeValues) {
223
212
  return attribute.attributeValues.valueType;
@@ -226,7 +215,6 @@ export default class Tiles3DConverter {
226
215
  }
227
216
  return '';
228
217
  }
229
-
230
218
  _replaceNestedArrays(attributesList) {
231
219
  for (let index = 0; index < attributesList.length; index++) {
232
220
  const attributeObject = attributesList[index];
@@ -235,7 +223,6 @@ export default class Tiles3DConverter {
235
223
  }
236
224
  }
237
225
  }
238
-
239
226
  async _finishConversion(params) {
240
227
  const filesSize = await calculateFilesSize(params);
241
228
  const diff = process.hrtime(this.conversionStartTime);
@@ -247,7 +234,6 @@ export default class Tiles3DConverter {
247
234
  console.log("File(s) size: ", filesSize, ' bytes');
248
235
  console.log("------------------------------------------------");
249
236
  }
250
-
251
237
  async loadWorkers() {
252
238
  console.log("Loading workers source...");
253
239
  const tile3dAttributesWorkerUrl = getWorkerURL(Tile3dAttributesWorker, {