@loaders.gl/tile-converter 3.3.0-alpha.1 → 3.3.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/dist/3d-tiles-attributes-worker.d.ts +3 -3
  2. package/dist/3d-tiles-attributes-worker.d.ts.map +1 -1
  3. package/dist/3d-tiles-attributes-worker.js +2 -3
  4. package/dist/3d-tiles-attributes-worker.js.map +3 -3
  5. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +8 -0
  6. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -1
  7. package/dist/3d-tiles-converter/3d-tiles-converter.js +57 -43
  8. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +5 -5
  9. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -1
  10. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +21 -17
  11. package/dist/converter-cli.js +29 -4
  12. package/dist/converter.min.js +24 -21
  13. package/dist/deps-installer/deps-installer.d.ts +5 -1
  14. package/dist/deps-installer/deps-installer.d.ts.map +1 -1
  15. package/dist/deps-installer/deps-installer.js +29 -1
  16. package/dist/dist.min.js +42714 -45782
  17. package/dist/es5/3d-tiles-attributes-worker.js +4 -7
  18. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -1
  19. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +125 -210
  20. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  21. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +53 -85
  22. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  23. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +0 -8
  24. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  25. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +0 -5
  26. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  27. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +0 -6
  28. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  29. package/dist/es5/bundle.js +0 -1
  30. package/dist/es5/bundle.js.map +1 -1
  31. package/dist/es5/constants.js.map +1 -1
  32. package/dist/es5/converter-cli.js +25 -58
  33. package/dist/es5/converter-cli.js.map +1 -1
  34. package/dist/es5/deps-installer/deps-installer.js +73 -28
  35. package/dist/es5/deps-installer/deps-installer.js.map +1 -1
  36. package/dist/es5/i3s-attributes-worker.js +3 -6
  37. package/dist/es5/i3s-attributes-worker.js.map +1 -1
  38. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +18 -29
  39. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  40. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +8 -25
  41. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  42. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +0 -11
  43. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  44. package/dist/es5/i3s-converter/helpers/feature-attributes.js +184 -0
  45. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
  46. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +60 -51
  47. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  48. package/dist/es5/i3s-converter/helpers/geometry-converter.js +504 -350
  49. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -1
  50. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +57 -57
  51. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  52. package/dist/es5/i3s-converter/helpers/node-debug.js +4 -23
  53. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -1
  54. package/dist/es5/i3s-converter/helpers/node-index-document.js +517 -0
  55. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
  56. package/dist/es5/i3s-converter/helpers/node-pages.js +478 -168
  57. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -1
  58. package/dist/es5/i3s-converter/i3s-converter.js +770 -1131
  59. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -1
  60. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
  61. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  62. package/dist/es5/i3s-converter/json-templates/layers.js +2 -107
  63. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -1
  64. package/dist/es5/i3s-converter/json-templates/metadata.js +0 -2
  65. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -1
  66. package/dist/es5/i3s-converter/json-templates/node.js +2 -12
  67. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -1
  68. package/dist/es5/i3s-converter/json-templates/scene-server.js +0 -2
  69. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -1
  70. package/dist/es5/i3s-converter/json-templates/shared-resources.js +9 -32
  71. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -1
  72. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -1
  73. package/dist/es5/i3s-converter/types.js.map +1 -1
  74. package/dist/es5/i3s-server/app.js +0 -5
  75. package/dist/es5/i3s-server/app.js.map +1 -1
  76. package/dist/es5/i3s-server/controllers/index-controller.js +0 -16
  77. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -1
  78. package/dist/es5/i3s-server/routes/index.js +1 -10
  79. package/dist/es5/i3s-server/routes/index.js.map +1 -1
  80. package/dist/es5/index.js +0 -3
  81. package/dist/es5/index.js.map +1 -1
  82. package/dist/es5/lib/utils/compress-util.js +19 -74
  83. package/dist/es5/lib/utils/compress-util.js.map +1 -1
  84. package/dist/es5/lib/utils/file-utils.js +103 -47
  85. package/dist/es5/lib/utils/file-utils.js.map +1 -1
  86. package/dist/es5/lib/utils/lod-conversion-utils.js +0 -7
  87. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -1
  88. package/dist/es5/lib/utils/queue.js +0 -14
  89. package/dist/es5/lib/utils/queue.js.map +1 -1
  90. package/dist/es5/lib/utils/statistic-utills.js +1 -46
  91. package/dist/es5/lib/utils/statistic-utills.js.map +1 -1
  92. package/dist/es5/lib/utils/write-queue.js +86 -87
  93. package/dist/es5/lib/utils/write-queue.js.map +1 -1
  94. package/dist/es5/pgm-loader.js +1 -8
  95. package/dist/es5/pgm-loader.js.map +1 -1
  96. package/dist/es5/workers/3d-tiles-attributes-worker.js +2 -9
  97. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -1
  98. package/dist/es5/workers/i3s-attributes-worker.js +2 -10
  99. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -1
  100. package/dist/esm/3d-tiles-attributes-worker.js +4 -2
  101. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -1
  102. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +60 -77
  103. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -1
  104. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +29 -50
  105. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -1
  106. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +1 -0
  107. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -1
  108. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +1 -4
  109. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -1
  110. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +0 -3
  111. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -1
  112. package/dist/esm/bundle.js +1 -1
  113. package/dist/esm/bundle.js.map +1 -1
  114. package/dist/esm/constants.js.map +1 -1
  115. package/dist/esm/converter-cli.js +26 -43
  116. package/dist/esm/converter-cli.js.map +1 -1
  117. package/dist/esm/deps-installer/deps-installer.js +30 -4
  118. package/dist/esm/deps-installer/deps-installer.js.map +1 -1
  119. package/dist/esm/i3s-attributes-worker.js +3 -1
  120. package/dist/esm/i3s-attributes-worker.js.map +1 -1
  121. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +20 -24
  122. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -1
  123. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +11 -12
  124. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -1
  125. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +1 -0
  126. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -1
  127. package/dist/esm/i3s-converter/helpers/feature-attributes.js +158 -0
  128. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
  129. package/dist/esm/i3s-converter/helpers/geometry-attributes.js +39 -33
  130. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -1
  131. package/dist/esm/i3s-converter/helpers/geometry-converter.js +286 -192
  132. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -1
  133. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +59 -48
  134. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -1
  135. package/dist/esm/i3s-converter/helpers/node-debug.js +3 -13
  136. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -1
  137. package/dist/esm/i3s-converter/helpers/node-index-document.js +202 -0
  138. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
  139. package/dist/esm/i3s-converter/helpers/node-pages.js +161 -87
  140. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -1
  141. package/dist/esm/i3s-converter/i3s-converter.js +217 -509
  142. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -1
  143. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
  144. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  145. package/dist/esm/i3s-converter/json-templates/layers.js +2 -95
  146. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -1
  147. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -1
  148. package/dist/esm/i3s-converter/json-templates/node.js +0 -4
  149. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -1
  150. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -1
  151. package/dist/esm/i3s-converter/json-templates/shared-resources.js +3 -15
  152. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -1
  153. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -1
  154. package/dist/esm/i3s-converter/types.js.map +1 -1
  155. package/dist/esm/i3s-server/app.js +0 -5
  156. package/dist/esm/i3s-server/app.js.map +1 -1
  157. package/dist/esm/i3s-server/controllers/index-controller.js +0 -5
  158. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -1
  159. package/dist/esm/i3s-server/routes/index.js +0 -3
  160. package/dist/esm/i3s-server/routes/index.js.map +1 -1
  161. package/dist/esm/index.js.map +1 -1
  162. package/dist/esm/lib/utils/compress-util.js +19 -12
  163. package/dist/esm/lib/utils/compress-util.js.map +1 -1
  164. package/dist/esm/lib/utils/file-utils.js +54 -11
  165. package/dist/esm/lib/utils/file-utils.js.map +1 -1
  166. package/dist/esm/lib/utils/lod-conversion-utils.js +2 -6
  167. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -1
  168. package/dist/esm/lib/utils/queue.js +0 -4
  169. package/dist/esm/lib/utils/queue.js.map +1 -1
  170. package/dist/esm/lib/utils/statistic-utills.js +0 -11
  171. package/dist/esm/lib/utils/statistic-utills.js.map +1 -1
  172. package/dist/esm/lib/utils/write-queue.js +29 -28
  173. package/dist/esm/lib/utils/write-queue.js.map +1 -1
  174. package/dist/esm/pgm-loader.js +3 -1
  175. package/dist/esm/pgm-loader.js.map +1 -1
  176. package/dist/esm/workers/3d-tiles-attributes-worker.js +4 -1
  177. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -1
  178. package/dist/esm/workers/i3s-attributes-worker.js +4 -1
  179. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -1
  180. package/dist/i3s-attributes-worker.d.ts +7 -3
  181. package/dist/i3s-attributes-worker.d.ts.map +1 -1
  182. package/dist/i3s-attributes-worker.js +2 -3
  183. package/dist/i3s-attributes-worker.js.map +3 -3
  184. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +5 -6
  185. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -1
  186. package/dist/i3s-converter/helpers/batch-ids-extensions.js +18 -4
  187. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +2 -2
  188. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -1
  189. package/dist/i3s-converter/helpers/coordinate-converter.js +8 -6
  190. package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
  191. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
  192. package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
  193. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -1
  194. package/dist/i3s-converter/helpers/geometry-attributes.js +42 -17
  195. package/dist/i3s-converter/helpers/geometry-converter.d.ts +18 -6
  196. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -1
  197. package/dist/i3s-converter/helpers/geometry-converter.js +337 -92
  198. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -1
  199. package/dist/i3s-converter/helpers/gltf-attributes.js +51 -32
  200. package/dist/i3s-converter/helpers/node-index-document.d.ts +95 -0
  201. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
  202. package/dist/i3s-converter/helpers/node-index-document.js +250 -0
  203. package/dist/i3s-converter/helpers/node-pages.d.ts +81 -42
  204. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -1
  205. package/dist/i3s-converter/helpers/node-pages.js +201 -93
  206. package/dist/i3s-converter/i3s-converter.d.ts +52 -108
  207. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -1
  208. package/dist/i3s-converter/i3s-converter.js +223 -421
  209. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
  210. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
  211. package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
  212. package/dist/i3s-converter/json-templates/layers.d.ts +1 -30
  213. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -1
  214. package/dist/i3s-converter/json-templates/layers.js +2 -86
  215. package/dist/i3s-converter/json-templates/shared-resources.js +3 -3
  216. package/dist/i3s-converter/types.d.ts +37 -55
  217. package/dist/i3s-converter/types.d.ts.map +1 -1
  218. package/dist/lib/utils/file-utils.d.ts +17 -1
  219. package/dist/lib/utils/file-utils.d.ts.map +1 -1
  220. package/dist/lib/utils/file-utils.js +64 -7
  221. package/dist/lib/utils/write-queue.d.ts +19 -2
  222. package/dist/lib/utils/write-queue.d.ts.map +1 -1
  223. package/dist/lib/utils/write-queue.js +26 -7
  224. package/dist/pgm-loader.d.ts.map +1 -1
  225. package/dist/pgm-loader.js +2 -1
  226. package/dist/workers/3d-tiles-attributes-worker.js +1 -1
  227. package/dist/workers/i3s-attributes-worker.js +1 -1
  228. package/package.json +18 -16
  229. package/src/3d-tiles-attributes-worker.ts +1 -1
  230. package/src/3d-tiles-converter/3d-tiles-converter.ts +71 -55
  231. package/src/3d-tiles-converter/helpers/b3dm-converter.ts +25 -18
  232. package/src/converter-cli.ts +38 -4
  233. package/src/deps-installer/deps-installer.ts +38 -2
  234. package/src/i3s-attributes-worker.ts +5 -1
  235. package/src/i3s-converter/helpers/batch-ids-extensions.ts +38 -14
  236. package/src/i3s-converter/helpers/coordinate-converter.ts +10 -8
  237. package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
  238. package/src/i3s-converter/helpers/geometry-attributes.ts +46 -18
  239. package/src/i3s-converter/helpers/geometry-converter.ts +405 -108
  240. package/src/i3s-converter/helpers/gltf-attributes.ts +55 -35
  241. package/src/i3s-converter/helpers/node-index-document.ts +315 -0
  242. package/src/i3s-converter/helpers/node-pages.ts +222 -109
  243. package/src/i3s-converter/i3s-converter.ts +269 -500
  244. package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
  245. package/src/i3s-converter/json-templates/layers.ts +2 -91
  246. package/src/i3s-converter/json-templates/shared-resources.ts +3 -3
  247. package/src/i3s-converter/types.ts +31 -51
  248. package/src/lib/utils/file-utils.ts +62 -7
  249. package/src/lib/utils/write-queue.ts +43 -10
  250. package/src/pgm-loader.ts +2 -2
  251. package/src/workers/3d-tiles-attributes-worker.ts +1 -1
  252. package/src/workers/i3s-attributes-worker.ts +2 -1
@@ -1,249 +1,559 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
14
  var _path = require("path");
23
-
24
15
  var _jsonMapTransform = _interopRequireDefault(require("json-map-transform"));
25
-
26
16
  var _metadata = require("../json-templates/metadata");
27
-
17
+ var _fileUtils = require("../../lib/utils/file-utils");
28
18
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
29
-
30
19
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
31
-
32
20
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
-
34
21
  var NodePages = function () {
35
- function NodePages(writeFileFunc, nodesPerPage) {
22
+ function NodePages(writeFileFunc, nodesPerPage, converter) {
36
23
  (0, _classCallCheck2.default)(this, NodePages);
37
24
  (0, _defineProperty2.default)(this, "nodesPerPage", void 0);
38
25
  (0, _defineProperty2.default)(this, "nodesCounter", void 0);
39
26
  (0, _defineProperty2.default)(this, "writeFile", void 0);
27
+ (0, _defineProperty2.default)(this, "converter", void 0);
40
28
  (0, _defineProperty2.default)(this, "nodePages", void 0);
29
+ (0, _defineProperty2.default)(this, "length", 0);
41
30
  this.nodesPerPage = nodesPerPage;
42
31
  this.nodesCounter = 0;
43
32
  this.nodePages = [{}];
44
33
  this.nodePages[0].nodes = [];
45
34
  this.writeFile = writeFileFunc;
35
+ this.converter = converter;
36
+ this.length = 0;
46
37
  }
47
38
 
48
39
  (0, _createClass2.default)(NodePages, [{
49
40
  key: "useWriteFunction",
50
- value: function useWriteFunction(func) {
41
+ value:
42
+ function useWriteFunction(func) {
51
43
  this.writeFile = func;
52
44
  }
45
+
46
+ }, {
47
+ key: "getNodePageFileName",
48
+ value:
49
+ function getNodePageFileName(nodePageId) {
50
+ var filePath;
51
+ var fileName;
52
+ if (this.converter.options.slpk) {
53
+ filePath = (0, _path.join)(this.converter.layers0Path, 'nodepages');
54
+ fileName = "".concat(nodePageId.toString(), ".json");
55
+ } else {
56
+ filePath = (0, _path.join)(this.converter.layers0Path, 'nodepages', nodePageId.toString());
57
+ fileName = 'index.json';
58
+ }
59
+ return {
60
+ filePath: filePath,
61
+ fileName: fileName
62
+ };
63
+ }
64
+
65
+ }, {
66
+ key: "loadNodePage",
67
+ value: function () {
68
+ var _loadNodePage = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(nodePageId) {
69
+ var _this$getNodePageFile, filePath, fileName, fullName;
70
+ return _regenerator.default.wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ _this$getNodePageFile = this.getNodePageFileName(nodePageId), filePath = _this$getNodePageFile.filePath, fileName = _this$getNodePageFile.fileName;
75
+ fullName = (0, _path.join)(filePath, fileName);
76
+ _context.next = 4;
77
+ return (0, _fileUtils.isFileExists)(fullName);
78
+ case 4:
79
+ if (!_context.sent) {
80
+ _context.next = 11;
81
+ break;
82
+ }
83
+ console.log("load ".concat(fullName, "."));
84
+ _context.next = 8;
85
+ return (0, _fileUtils.openJson)(filePath, fileName);
86
+ case 8:
87
+ return _context.abrupt("return", _context.sent);
88
+ case 11:
89
+ return _context.abrupt("return", {
90
+ nodes: []
91
+ });
92
+ case 12:
93
+ case "end":
94
+ return _context.stop();
95
+ }
96
+ }
97
+ }, _callee, this);
98
+ }));
99
+ function loadNodePage(_x) {
100
+ return _loadNodePage.apply(this, arguments);
101
+ }
102
+ return loadNodePage;
103
+ }()
104
+ }, {
105
+ key: "getPageIndexByNodeId",
106
+ value:
107
+ function getPageIndexByNodeId(id) {
108
+ return Math.floor(id / this.nodesPerPage);
109
+ }
110
+
111
+ }, {
112
+ key: "getPageByNodeId",
113
+ value: function () {
114
+ var _getPageByNodeId = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(id) {
115
+ var pageIndex;
116
+ return _regenerator.default.wrap(function _callee2$(_context2) {
117
+ while (1) {
118
+ switch (_context2.prev = _context2.next) {
119
+ case 0:
120
+ pageIndex = this.getPageIndexByNodeId(id);
121
+ if (!this.converter.options.instantNodeWriting) {
122
+ _context2.next = 5;
123
+ break;
124
+ }
125
+ _context2.next = 4;
126
+ return this.loadNodePage(pageIndex);
127
+ case 4:
128
+ return _context2.abrupt("return", _context2.sent);
129
+ case 5:
130
+ return _context2.abrupt("return", this.nodePages[pageIndex]);
131
+ case 6:
132
+ case "end":
133
+ return _context2.stop();
134
+ }
135
+ }
136
+ }, _callee2, this);
137
+ }));
138
+ function getPageByNodeId(_x2) {
139
+ return _getPageByNodeId.apply(this, arguments);
140
+ }
141
+ return getPageByNodeId;
142
+ }()
53
143
  }, {
54
144
  key: "getNodeById",
55
- value: function getNodeById(id) {
56
- var pageIndex = Math.floor(id / this.nodesPerPage);
57
- var nodeIndex = id % this.nodesPerPage;
58
- return this.nodePages[pageIndex].nodes[nodeIndex];
145
+ value: function () {
146
+ var _getNodeById = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(id, nodePage) {
147
+ var nodeIndex;
148
+ return _regenerator.default.wrap(function _callee3$(_context3) {
149
+ while (1) {
150
+ switch (_context3.prev = _context3.next) {
151
+ case 0:
152
+ nodeIndex = id % this.nodesPerPage;
153
+ _context3.t0 = nodePage;
154
+ if (_context3.t0) {
155
+ _context3.next = 6;
156
+ break;
157
+ }
158
+ _context3.next = 5;
159
+ return this.getPageByNodeId(id);
160
+ case 5:
161
+ _context3.t0 = _context3.sent;
162
+ case 6:
163
+ nodePage = _context3.t0;
164
+ return _context3.abrupt("return", nodePage.nodes[nodeIndex]);
165
+ case 8:
166
+ case "end":
167
+ return _context3.stop();
168
+ }
169
+ }
170
+ }, _callee3, this);
171
+ }));
172
+ function getNodeById(_x3, _x4) {
173
+ return _getNodeById.apply(this, arguments);
174
+ }
175
+ return getNodeById;
176
+ }()
177
+ }, {
178
+ key: "addChildRelation",
179
+ value: function () {
180
+ var _addChildRelation = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(parentId, childId) {
181
+ var _parentNode$children;
182
+ var parentNode;
183
+ return _regenerator.default.wrap(function _callee4$(_context4) {
184
+ while (1) {
185
+ switch (_context4.prev = _context4.next) {
186
+ case 0:
187
+ if (!(parentId === null || parentId === undefined)) {
188
+ _context4.next = 2;
189
+ break;
190
+ }
191
+ return _context4.abrupt("return");
192
+ case 2:
193
+ _context4.next = 4;
194
+ return this.getNodeById(parentId);
195
+ case 4:
196
+ parentNode = _context4.sent;
197
+ (_parentNode$children = parentNode.children) === null || _parentNode$children === void 0 ? void 0 : _parentNode$children.push(childId);
198
+ _context4.next = 8;
199
+ return this.saveNode(parentNode);
200
+ case 8:
201
+ case "end":
202
+ return _context4.stop();
203
+ }
204
+ }
205
+ }, _callee4, this);
206
+ }));
207
+ function addChildRelation(_x5, _x6) {
208
+ return _addChildRelation.apply(this, arguments);
209
+ }
210
+ return addChildRelation;
211
+ }()
212
+ }, {
213
+ key: "push",
214
+ value: function () {
215
+ var _push = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5(node, parentId) {
216
+ var currentNodePage;
217
+ return _regenerator.default.wrap(function _callee5$(_context5) {
218
+ while (1) {
219
+ switch (_context5.prev = _context5.next) {
220
+ case 0:
221
+ node.index = this.nodesCounter++;
222
+ if (!this.converter.options.instantNodeWriting) {
223
+ currentNodePage = this.nodePages[this.nodePages.length - 1];
224
+ if (currentNodePage.nodes.length === this.nodesPerPage) {
225
+ currentNodePage = {
226
+ nodes: []
227
+ };
228
+ this.nodePages.push(currentNodePage);
229
+ }
230
+ currentNodePage.nodes.push(node);
231
+ }
232
+ _context5.next = 4;
233
+ return this.addChildRelation(parentId, node.index);
234
+ case 4:
235
+ NodePages.updateResourceInMesh(node);
236
+ _context5.next = 7;
237
+ return this.saveNode(node);
238
+ case 7:
239
+ return _context5.abrupt("return", node);
240
+ case 8:
241
+ case "end":
242
+ return _context5.stop();
243
+ }
244
+ }
245
+ }, _callee5, this);
246
+ }));
247
+ function push(_x7, _x8) {
248
+ return _push.apply(this, arguments);
249
+ }
250
+ return push;
251
+ }()
252
+ }, {
253
+ key: "saveNode",
254
+ value: function () {
255
+ var _saveNode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(node) {
256
+ var _this = this;
257
+ var nodePageIndex, nodePage, _this$getNodePageFile2, filePath, fileName, nodeToUpdate, nodePageStr;
258
+ return _regenerator.default.wrap(function _callee6$(_context6) {
259
+ while (1) {
260
+ switch (_context6.prev = _context6.next) {
261
+ case 0:
262
+ if (this.converter.options.instantNodeWriting) {
263
+ _context6.next = 4;
264
+ break;
265
+ }
266
+ return _context6.abrupt("return");
267
+ case 4:
268
+ nodePageIndex = this.getPageIndexByNodeId(node.index);
269
+ _context6.next = 7;
270
+ return this.getPageByNodeId(node.index);
271
+ case 7:
272
+ nodePage = _context6.sent;
273
+ _this$getNodePageFile2 = this.getNodePageFileName(nodePageIndex), filePath = _this$getNodePageFile2.filePath, fileName = _this$getNodePageFile2.fileName;
274
+ _context6.next = 11;
275
+ return this.getNodeById(node.index, nodePage);
276
+ case 11:
277
+ nodeToUpdate = _context6.sent;
278
+ if (nodeToUpdate) {
279
+ NodePages.updateAll(nodeToUpdate, node);
280
+ } else {
281
+ nodePage.nodes.push(node);
282
+ }
283
+ nodePageStr = JSON.stringify(nodePage);
284
+ if (!this.converter.options.slpk) {
285
+ _context6.next = 19;
286
+ break;
287
+ }
288
+ _context6.next = 17;
289
+ return this.converter.writeQueue.enqueue({
290
+ archiveKey: "nodePages/".concat(nodePageIndex.toString(), ".json.gz"),
291
+ writePromise: function writePromise() {
292
+ return _this.writeFile(filePath, nodePageStr, fileName, true, _this.converter.compressList);
293
+ }
294
+ }, true);
295
+ case 17:
296
+ _context6.next = 21;
297
+ break;
298
+ case 19:
299
+ _context6.next = 21;
300
+ return this.converter.writeQueue.enqueue({
301
+ writePromise: function writePromise() {
302
+ return _this.writeFile(filePath, nodePageStr);
303
+ }
304
+ }, true);
305
+ case 21:
306
+ case "end":
307
+ return _context6.stop();
308
+ }
309
+ }
310
+ }, _callee6, this);
311
+ }));
312
+ function saveNode(_x9) {
313
+ return _saveNode.apply(this, arguments);
314
+ }
315
+ return saveNode;
316
+ }()
317
+ }, {
318
+ key: "saveMetadata",
319
+ value: function () {
320
+ var _saveMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7() {
321
+ var _this2 = this;
322
+ var metadata, compress;
323
+ return _regenerator.default.wrap(function _callee7$(_context7) {
324
+ while (1) {
325
+ switch (_context7.prev = _context7.next) {
326
+ case 0:
327
+ metadata = (0, _jsonMapTransform.default)({
328
+ nodeCount: this.nodesCounter
329
+ }, (0, _metadata.METADATA)());
330
+ compress = false;
331
+ _context7.next = 4;
332
+ return this.converter.writeQueue.enqueue({
333
+ archiveKey: 'metadata.json',
334
+ writePromise: function writePromise() {
335
+ return _this2.writeFile(_this2.converter.layers0Path, JSON.stringify(metadata), 'metadata.json', compress);
336
+ }
337
+ });
338
+ case 4:
339
+ case "end":
340
+ return _context7.stop();
341
+ }
342
+ }
343
+ }, _callee7, this);
344
+ }));
345
+ function saveMetadata() {
346
+ return _saveMetadata.apply(this, arguments);
347
+ }
348
+ return saveMetadata;
349
+ }()
350
+ }, {
351
+ key: "save",
352
+ value: function () {
353
+ var _save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee8() {
354
+ var _this3 = this;
355
+ var _iterator, _step, _loop, _iterator2, _step2, _loop2;
356
+ return _regenerator.default.wrap(function _callee8$(_context10) {
357
+ while (1) {
358
+ switch (_context10.prev = _context10.next) {
359
+ case 0:
360
+ if (!this.converter.options.instantNodeWriting) {
361
+ _context10.next = 4;
362
+ break;
363
+ }
364
+ _context10.next = 3;
365
+ return this.saveMetadata();
366
+ case 3:
367
+ return _context10.abrupt("return");
368
+ case 4:
369
+ if (!this.converter.options.slpk) {
370
+ _context10.next = 25;
371
+ break;
372
+ }
373
+ _iterator = _createForOfIteratorHelper(this.nodePages.entries());
374
+ _context10.prev = 6;
375
+ _loop = _regenerator.default.mark(function _loop() {
376
+ var _step$value, index, nodePage, nodePageStr, slpkPath;
377
+ return _regenerator.default.wrap(function _loop$(_context8) {
378
+ while (1) {
379
+ switch (_context8.prev = _context8.next) {
380
+ case 0:
381
+ _step$value = (0, _slicedToArray2.default)(_step.value, 2), index = _step$value[0], nodePage = _step$value[1];
382
+ nodePageStr = JSON.stringify(nodePage);
383
+ slpkPath = (0, _path.join)(_this3.converter.layers0Path, 'nodepages');
384
+ _context8.next = 5;
385
+ return _this3.converter.writeQueue.enqueue({
386
+ archiveKey: "nodePages/".concat(index.toString(), ".json.gz"),
387
+ writePromise: function writePromise() {
388
+ return _this3.writeFile(slpkPath, nodePageStr, "".concat(index.toString(), ".json"));
389
+ }
390
+ });
391
+ case 5:
392
+ case "end":
393
+ return _context8.stop();
394
+ }
395
+ }
396
+ }, _loop);
397
+ });
398
+ _iterator.s();
399
+ case 9:
400
+ if ((_step = _iterator.n()).done) {
401
+ _context10.next = 13;
402
+ break;
403
+ }
404
+ return _context10.delegateYield(_loop(), "t0", 11);
405
+ case 11:
406
+ _context10.next = 9;
407
+ break;
408
+ case 13:
409
+ _context10.next = 18;
410
+ break;
411
+ case 15:
412
+ _context10.prev = 15;
413
+ _context10.t1 = _context10["catch"](6);
414
+ _iterator.e(_context10.t1);
415
+ case 18:
416
+ _context10.prev = 18;
417
+ _iterator.f();
418
+ return _context10.finish(18);
419
+ case 21:
420
+ _context10.next = 23;
421
+ return this.saveMetadata();
422
+ case 23:
423
+ _context10.next = 41;
424
+ break;
425
+ case 25:
426
+ _iterator2 = _createForOfIteratorHelper(this.nodePages.entries());
427
+ _context10.prev = 26;
428
+ _loop2 = _regenerator.default.mark(function _loop2() {
429
+ var _step2$value, index, nodePage, nodePageStr, nodePagePath;
430
+ return _regenerator.default.wrap(function _loop2$(_context9) {
431
+ while (1) {
432
+ switch (_context9.prev = _context9.next) {
433
+ case 0:
434
+ _step2$value = (0, _slicedToArray2.default)(_step2.value, 2), index = _step2$value[0], nodePage = _step2$value[1];
435
+ nodePageStr = JSON.stringify(nodePage);
436
+ nodePagePath = (0, _path.join)(_this3.converter.layers0Path, 'nodepages', index.toString());
437
+ _context9.next = 5;
438
+ return _this3.converter.writeQueue.enqueue({
439
+ writePromise: function writePromise() {
440
+ return _this3.writeFile(nodePagePath, nodePageStr);
441
+ }
442
+ });
443
+ case 5:
444
+ case "end":
445
+ return _context9.stop();
446
+ }
447
+ }
448
+ }, _loop2);
449
+ });
450
+ _iterator2.s();
451
+ case 29:
452
+ if ((_step2 = _iterator2.n()).done) {
453
+ _context10.next = 33;
454
+ break;
455
+ }
456
+ return _context10.delegateYield(_loop2(), "t2", 31);
457
+ case 31:
458
+ _context10.next = 29;
459
+ break;
460
+ case 33:
461
+ _context10.next = 38;
462
+ break;
463
+ case 35:
464
+ _context10.prev = 35;
465
+ _context10.t3 = _context10["catch"](26);
466
+ _iterator2.e(_context10.t3);
467
+ case 38:
468
+ _context10.prev = 38;
469
+ _iterator2.f();
470
+ return _context10.finish(38);
471
+ case 41:
472
+ case "end":
473
+ return _context10.stop();
474
+ }
475
+ }
476
+ }, _callee8, this, [[6, 15, 18, 21], [26, 35, 38, 41]]);
477
+ }));
478
+ function save() {
479
+ return _save.apply(this, arguments);
480
+ }
481
+ return save;
482
+ }()
483
+ }], [{
484
+ key: "updateResourceInMesh",
485
+ value:
486
+ function updateResourceInMesh(node) {
487
+ if (node.mesh && isFinite(node.index)) {
488
+ node.mesh.geometry.resource = node.index;
489
+ }
59
490
  }
491
+
60
492
  }, {
61
- key: "updateMaterialByNodeId",
62
- value: function updateMaterialByNodeId(id, materialId) {
63
- var node = this.getNodeById(id);
493
+ key: "updateAll",
494
+ value:
495
+ function updateAll(node, data) {
496
+ Object.assign(node, data, {
497
+ index: node.index
498
+ });
499
+ NodePages.updateResourceInMesh(node);
500
+ return node;
501
+ }
64
502
 
503
+ }, {
504
+ key: "updateMaterialByNodeId",
505
+ value:
506
+ function updateMaterialByNodeId(node, materialId) {
65
507
  if (!node.mesh) {
66
508
  return;
67
509
  }
68
-
69
510
  node.mesh.material = {
70
511
  definition: materialId,
71
512
  resource: node.index
72
513
  };
73
514
  }
515
+
74
516
  }, {
75
517
  key: "updateVertexCountByNodeId",
76
- value: function updateVertexCountByNodeId(id, vertexCount) {
77
- var node = this.getNodeById(id);
78
-
518
+ value:
519
+ function updateVertexCountByNodeId(node, vertexCount) {
79
520
  if (!node.mesh) {
80
521
  return;
81
522
  }
82
-
83
523
  node.mesh.geometry.vertexCount = vertexCount;
84
524
  }
525
+
85
526
  }, {
86
527
  key: "updateNodeAttributeByNodeId",
87
- value: function updateNodeAttributeByNodeId(id) {
88
- var node = this.getNodeById(id);
89
-
90
- if (!node.mesh) {
528
+ value:
529
+ function updateNodeAttributeByNodeId(node) {
530
+ if (!node.mesh || !node.index) {
91
531
  return;
92
532
  }
93
-
94
533
  node.mesh.attribute.resource = node.index;
95
534
  }
535
+
96
536
  }, {
97
537
  key: "updateFeatureCountByNodeId",
98
- value: function updateFeatureCountByNodeId(id, featureCount) {
99
- var node = this.getNodeById(id);
100
-
538
+ value:
539
+ function updateFeatureCountByNodeId(node, featureCount) {
101
540
  if (!node.mesh) {
102
541
  return;
103
542
  }
104
-
105
543
  node.mesh.geometry.featureCount = featureCount;
106
544
  }
545
+
107
546
  }, {
108
547
  key: "updateTexelCountHintByNodeId",
109
- value: function updateTexelCountHintByNodeId(id, texelCountHint) {
110
- var node = this.getNodeById(id);
111
-
548
+ value:
549
+ function updateTexelCountHintByNodeId(node, texelCountHint) {
112
550
  if (!node.mesh || !node.mesh.material) {
113
551
  return;
114
552
  }
115
-
116
553
  node.mesh.material.texelCountHint = texelCountHint;
117
554
  }
118
- }, {
119
- key: "addChildRelation",
120
- value: function addChildRelation(parentId, childId) {
121
- var _parentNode$children;
122
-
123
- if (parentId === null || parentId === undefined) {
124
- return;
125
- }
126
-
127
- var parentNode = this.getNodeById(parentId);
128
- (_parentNode$children = parentNode.children) === null || _parentNode$children === void 0 ? void 0 : _parentNode$children.push(childId);
129
- }
130
- }, {
131
- key: "updateResourceInMesh",
132
- value: function updateResourceInMesh(node) {
133
- if (node.mesh) {
134
- node.mesh.geometry.resource = node.index;
135
- }
136
- }
137
- }, {
138
- key: "push",
139
- value: function push(node, parentId) {
140
- var currentNodePage = this.nodePages[this.nodePages.length - 1];
141
-
142
- if (currentNodePage.nodes.length === this.nodesPerPage) {
143
- currentNodePage = {
144
- nodes: []
145
- };
146
- this.nodePages.push(currentNodePage);
147
- }
148
-
149
- node.index = this.nodesCounter++;
150
- currentNodePage.nodes.push(node);
151
- this.addChildRelation(parentId, node.index);
152
- this.updateResourceInMesh(node);
153
- return node.index;
154
- }
155
- }, {
156
- key: "save",
157
- value: function () {
158
- var _save = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(layers0Path, writeQueue) {
159
- var slpk,
160
- _iterator,
161
- _step,
162
- _step$value,
163
- index,
164
- nodePage,
165
- nodePageStr,
166
- slpkPath,
167
- metadata,
168
- compress,
169
- _iterator2,
170
- _step2,
171
- _step2$value,
172
- _index,
173
- _nodePage,
174
- _nodePageStr,
175
- nodePagePath,
176
- _args = arguments;
177
-
178
- return _regenerator.default.wrap(function _callee$(_context) {
179
- while (1) {
180
- switch (_context.prev = _context.next) {
181
- case 0:
182
- slpk = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
183
-
184
- if (slpk) {
185
- _iterator = _createForOfIteratorHelper(this.nodePages.entries());
186
-
187
- try {
188
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
189
- _step$value = (0, _slicedToArray2.default)(_step.value, 2), index = _step$value[0], nodePage = _step$value[1];
190
- nodePageStr = JSON.stringify(nodePage);
191
- slpkPath = (0, _path.join)(layers0Path, 'nodepages');
192
- writeQueue.enqueue({
193
- archiveKey: "nodePages/".concat(index.toString(), ".json.gz"),
194
- writePromise: this.writeFile(slpkPath, nodePageStr, "".concat(index.toString(), ".json"))
195
- });
196
- }
197
- } catch (err) {
198
- _iterator.e(err);
199
- } finally {
200
- _iterator.f();
201
- }
202
-
203
- metadata = (0, _jsonMapTransform.default)({
204
- nodeCount: this.nodesCounter
205
- }, (0, _metadata.METADATA)());
206
- compress = false;
207
- writeQueue.enqueue({
208
- archiveKey: 'metadata.json',
209
- writePromise: this.writeFile(layers0Path, JSON.stringify(metadata), 'metadata.json', compress)
210
- });
211
- } else {
212
- _iterator2 = _createForOfIteratorHelper(this.nodePages.entries());
213
-
214
- try {
215
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
216
- _step2$value = (0, _slicedToArray2.default)(_step2.value, 2), _index = _step2$value[0], _nodePage = _step2$value[1];
217
- _nodePageStr = JSON.stringify(_nodePage);
218
- nodePagePath = (0, _path.join)(layers0Path, 'nodepages', _index.toString());
219
- writeQueue.enqueue({
220
- writePromise: this.writeFile(nodePagePath, _nodePageStr)
221
- });
222
- }
223
- } catch (err) {
224
- _iterator2.e(err);
225
- } finally {
226
- _iterator2.f();
227
- }
228
- }
229
-
230
- case 2:
231
- case "end":
232
- return _context.stop();
233
- }
234
- }
235
- }, _callee, this);
236
- }));
237
-
238
- function save(_x, _x2) {
239
- return _save.apply(this, arguments);
240
- }
241
-
242
- return save;
243
- }()
244
555
  }]);
245
556
  return NodePages;
246
557
  }();
247
-
248
558
  exports.default = NodePages;
249
559
  //# sourceMappingURL=node-pages.js.map