@loaders.gl/tile-converter 4.0.0-alpha.4 → 4.0.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 (407) hide show
  1. package/dist/3d-tiles-attributes-worker.d.ts +28 -0
  2. package/dist/3d-tiles-attributes-worker.d.ts.map +1 -0
  3. package/dist/3d-tiles-attributes-worker.js +3 -0
  4. package/dist/3d-tiles-attributes-worker.js.map +7 -0
  5. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts +90 -0
  6. package/dist/3d-tiles-converter/3d-tiles-converter.d.ts.map +1 -0
  7. package/dist/3d-tiles-converter/3d-tiles-converter.js +273 -231
  8. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts +79 -18
  9. package/dist/3d-tiles-converter/helpers/b3dm-converter.d.ts.map +1 -0
  10. package/dist/3d-tiles-converter/helpers/b3dm-converter.js +269 -236
  11. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +4 -7
  12. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts.map +1 -0
  13. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +22 -9
  14. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts +9 -0
  15. package/dist/3d-tiles-converter/helpers/texture-atlas.d.ts.map +1 -0
  16. package/dist/3d-tiles-converter/helpers/texture-atlas.js +47 -28
  17. package/dist/3d-tiles-converter/json-templates/tileset.d.ts +15 -0
  18. package/dist/3d-tiles-converter/json-templates/tileset.d.ts.map +1 -0
  19. package/dist/3d-tiles-converter/json-templates/tileset.js +42 -36
  20. package/dist/bundle.d.ts +2 -0
  21. package/dist/bundle.d.ts.map +1 -0
  22. package/dist/bundle.js +2 -2
  23. package/dist/constants.d.ts +2 -0
  24. package/dist/constants.d.ts.map +1 -0
  25. package/dist/constants.js +4 -0
  26. package/dist/converter-cli.d.ts +2 -0
  27. package/dist/converter-cli.d.ts.map +1 -0
  28. package/dist/converter-cli.js +280 -0
  29. package/dist/converter.min.js +186 -190
  30. package/dist/deps-installer/deps-installer.d.ts +11 -3
  31. package/dist/deps-installer/deps-installer.d.ts.map +1 -0
  32. package/dist/deps-installer/deps-installer.js +60 -23
  33. package/dist/dist.min.js +63496 -0
  34. package/dist/es5/3d-tiles-attributes-worker.js +25 -0
  35. package/dist/es5/3d-tiles-attributes-worker.js.map +1 -0
  36. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js +470 -0
  37. package/dist/es5/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  38. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js +301 -0
  39. package/dist/es5/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  40. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +18 -0
  41. package/dist/es5/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  42. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js +33 -0
  43. package/dist/es5/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  44. package/dist/es5/3d-tiles-converter/json-templates/tileset.js +61 -0
  45. package/dist/es5/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  46. package/dist/es5/bundle.js +6 -0
  47. package/dist/es5/bundle.js.map +1 -0
  48. package/dist/es5/constants.js +9 -0
  49. package/dist/es5/constants.js.map +1 -0
  50. package/dist/es5/converter-cli.js +289 -0
  51. package/dist/es5/converter-cli.js.map +1 -0
  52. package/dist/es5/deps-installer/deps-installer.js +123 -0
  53. package/dist/es5/deps-installer/deps-installer.js.map +1 -0
  54. package/dist/es5/i3s-attributes-worker.js +25 -0
  55. package/dist/es5/i3s-attributes-worker.js.map +1 -0
  56. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js +116 -0
  57. package/dist/es5/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  58. package/dist/es5/i3s-converter/helpers/coordinate-converter.js +90 -0
  59. package/dist/es5/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  60. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js +41 -0
  61. package/dist/es5/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  62. package/dist/es5/i3s-converter/helpers/feature-attributes.js +174 -0
  63. package/dist/es5/i3s-converter/helpers/feature-attributes.js.map +1 -0
  64. package/dist/es5/i3s-converter/helpers/geometry-attributes.js +213 -0
  65. package/dist/es5/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  66. package/dist/es5/i3s-converter/helpers/geometry-converter.js +1173 -0
  67. package/dist/es5/i3s-converter/helpers/geometry-converter.js.map +1 -0
  68. package/dist/es5/i3s-converter/helpers/gltf-attributes.js +83 -0
  69. package/dist/es5/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  70. package/dist/es5/i3s-converter/helpers/node-debug.js +76 -0
  71. package/dist/es5/i3s-converter/helpers/node-debug.js.map +1 -0
  72. package/dist/es5/i3s-converter/helpers/node-index-document.js +492 -0
  73. package/dist/es5/i3s-converter/helpers/node-index-document.js.map +1 -0
  74. package/dist/es5/i3s-converter/helpers/node-pages.js +519 -0
  75. package/dist/es5/i3s-converter/helpers/node-pages.js.map +1 -0
  76. package/dist/es5/i3s-converter/i3s-converter.js +1519 -0
  77. package/dist/es5/i3s-converter/i3s-converter.js.map +1 -0
  78. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js +107 -0
  79. package/dist/es5/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  80. package/dist/es5/i3s-converter/json-templates/layers.js +163 -0
  81. package/dist/es5/i3s-converter/json-templates/layers.js.map +1 -0
  82. package/dist/es5/i3s-converter/json-templates/metadata.js +31 -0
  83. package/dist/es5/i3s-converter/json-templates/metadata.js.map +1 -0
  84. package/dist/es5/i3s-converter/json-templates/node.js +99 -0
  85. package/dist/es5/i3s-converter/json-templates/node.js.map +1 -0
  86. package/dist/es5/i3s-converter/json-templates/scene-server.js +39 -0
  87. package/dist/es5/i3s-converter/json-templates/scene-server.js.map +1 -0
  88. package/dist/es5/i3s-converter/json-templates/shared-resources.js +173 -0
  89. package/dist/es5/i3s-converter/json-templates/shared-resources.js.map +1 -0
  90. package/dist/es5/i3s-converter/json-templates/store.js +107 -0
  91. package/dist/es5/i3s-converter/json-templates/store.js.map +1 -0
  92. package/dist/es5/i3s-converter/types.js +2 -0
  93. package/dist/es5/i3s-converter/types.js.map +1 -0
  94. package/dist/es5/i3s-server/app.js +18 -0
  95. package/dist/es5/i3s-server/app.js.map +1 -0
  96. package/dist/es5/i3s-server/controllers/index-controller.js +55 -0
  97. package/dist/es5/i3s-server/controllers/index-controller.js.map +1 -0
  98. package/dist/es5/i3s-server/routes/index.js +37 -0
  99. package/dist/es5/i3s-server/routes/index.js.map +1 -0
  100. package/dist/es5/index.js +21 -0
  101. package/dist/es5/index.js.map +1 -0
  102. package/dist/es5/lib/utils/compress-util.js +346 -0
  103. package/dist/es5/lib/utils/compress-util.js.map +1 -0
  104. package/dist/es5/lib/utils/file-utils.js +208 -0
  105. package/dist/es5/lib/utils/file-utils.js.map +1 -0
  106. package/dist/es5/lib/utils/lod-conversion-utils.js +44 -0
  107. package/dist/es5/lib/utils/lod-conversion-utils.js.map +1 -0
  108. package/dist/es5/lib/utils/queue.js +47 -0
  109. package/dist/es5/lib/utils/queue.js.map +1 -0
  110. package/dist/es5/lib/utils/statistic-utills.d.ts +25 -0
  111. package/dist/es5/lib/utils/statistic-utills.js +147 -0
  112. package/dist/es5/lib/utils/statistic-utills.js.map +1 -0
  113. package/dist/es5/lib/utils/write-queue.js +214 -0
  114. package/dist/es5/lib/utils/write-queue.js.map +1 -0
  115. package/dist/es5/pgm-loader.js +41 -0
  116. package/dist/es5/pgm-loader.js.map +1 -0
  117. package/dist/es5/workers/3d-tiles-attributes-worker.js +28 -0
  118. package/dist/es5/workers/3d-tiles-attributes-worker.js.map +1 -0
  119. package/dist/es5/workers/i3s-attributes-worker.js +30 -0
  120. package/dist/es5/workers/i3s-attributes-worker.js.map +1 -0
  121. package/dist/esm/3d-tiles-attributes-worker.js +16 -0
  122. package/dist/esm/3d-tiles-attributes-worker.js.map +1 -0
  123. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js +248 -0
  124. package/dist/esm/3d-tiles-converter/3d-tiles-converter.js.map +1 -0
  125. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js +224 -0
  126. package/dist/esm/3d-tiles-converter/helpers/b3dm-converter.js.map +1 -0
  127. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js +10 -0
  128. package/dist/esm/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +1 -0
  129. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js +27 -0
  130. package/dist/esm/3d-tiles-converter/helpers/texture-atlas.js.map +1 -0
  131. package/dist/esm/3d-tiles-converter/json-templates/tileset.js +37 -0
  132. package/dist/esm/3d-tiles-converter/json-templates/tileset.js.map +1 -0
  133. package/dist/esm/bundle.js +4 -0
  134. package/dist/esm/bundle.js.map +1 -0
  135. package/dist/esm/constants.js +2 -0
  136. package/dist/esm/constants.js.map +1 -0
  137. package/dist/esm/converter-cli.js +232 -0
  138. package/dist/esm/converter-cli.js.map +1 -0
  139. package/dist/esm/deps-installer/deps-installer.js +44 -0
  140. package/dist/esm/deps-installer/deps-installer.js.map +1 -0
  141. package/dist/esm/i3s-attributes-worker.js +16 -0
  142. package/dist/esm/i3s-attributes-worker.js.map +1 -0
  143. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js +105 -0
  144. package/dist/esm/i3s-converter/helpers/batch-ids-extensions.js.map +1 -0
  145. package/dist/esm/i3s-converter/helpers/coordinate-converter.js +80 -0
  146. package/dist/esm/i3s-converter/helpers/coordinate-converter.js.map +1 -0
  147. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js +16 -0
  148. package/dist/esm/i3s-converter/helpers/create-scene-server-path.js.map +1 -0
  149. package/dist/esm/i3s-converter/helpers/feature-attributes.js +147 -0
  150. package/dist/esm/i3s-converter/helpers/feature-attributes.js.map +1 -0
  151. package/{src → dist/esm}/i3s-converter/helpers/geometry-attributes.js +80 -106
  152. package/dist/esm/i3s-converter/helpers/geometry-attributes.js.map +1 -0
  153. package/dist/esm/i3s-converter/helpers/geometry-converter.js +887 -0
  154. package/dist/esm/i3s-converter/helpers/geometry-converter.js.map +1 -0
  155. package/dist/esm/i3s-converter/helpers/gltf-attributes.js +76 -0
  156. package/dist/esm/i3s-converter/helpers/gltf-attributes.js.map +1 -0
  157. package/{src → dist/esm}/i3s-converter/helpers/node-debug.js +20 -41
  158. package/dist/esm/i3s-converter/helpers/node-debug.js.map +1 -0
  159. package/dist/esm/i3s-converter/helpers/node-index-document.js +188 -0
  160. package/dist/esm/i3s-converter/helpers/node-index-document.js.map +1 -0
  161. package/dist/esm/i3s-converter/helpers/node-pages.js +206 -0
  162. package/dist/esm/i3s-converter/helpers/node-pages.js.map +1 -0
  163. package/dist/esm/i3s-converter/i3s-converter.js +771 -0
  164. package/dist/esm/i3s-converter/i3s-converter.js.map +1 -0
  165. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js +89 -0
  166. package/dist/esm/i3s-converter/json-templates/geometry-definitions.js.map +1 -0
  167. package/dist/esm/i3s-converter/json-templates/layers.js +133 -0
  168. package/dist/esm/i3s-converter/json-templates/layers.js.map +1 -0
  169. package/dist/esm/i3s-converter/json-templates/metadata.js +22 -0
  170. package/dist/esm/i3s-converter/json-templates/metadata.js.map +1 -0
  171. package/dist/esm/i3s-converter/json-templates/node.js +80 -0
  172. package/dist/esm/i3s-converter/json-templates/node.js.map +1 -0
  173. package/dist/esm/i3s-converter/json-templates/scene-server.js +28 -0
  174. package/dist/esm/i3s-converter/json-templates/scene-server.js.map +1 -0
  175. package/dist/esm/i3s-converter/json-templates/shared-resources.js +123 -0
  176. package/dist/esm/i3s-converter/json-templates/shared-resources.js.map +1 -0
  177. package/dist/esm/i3s-converter/json-templates/store.js +98 -0
  178. package/dist/esm/i3s-converter/json-templates/store.js.map +1 -0
  179. package/dist/esm/i3s-converter/types.js +2 -0
  180. package/dist/esm/i3s-converter/types.js.map +1 -0
  181. package/dist/esm/i3s-server/app.js +16 -0
  182. package/dist/esm/i3s-server/app.js.map +1 -0
  183. package/dist/esm/i3s-server/bin/www +102 -0
  184. package/dist/esm/i3s-server/certs/cert.pem +19 -0
  185. package/dist/esm/i3s-server/certs/key.pem +27 -0
  186. package/dist/esm/i3s-server/controllers/index-controller.js +24 -0
  187. package/dist/esm/i3s-server/controllers/index-controller.js.map +1 -0
  188. package/dist/esm/i3s-server/routes/index.js +16 -0
  189. package/dist/esm/i3s-server/routes/index.js.map +1 -0
  190. package/dist/esm/index.js +3 -0
  191. package/dist/esm/index.js.map +1 -0
  192. package/dist/esm/lib/utils/compress-util.js +168 -0
  193. package/dist/esm/lib/utils/compress-util.js.map +1 -0
  194. package/dist/esm/lib/utils/file-utils.js +87 -0
  195. package/dist/esm/lib/utils/file-utils.js.map +1 -0
  196. package/dist/esm/lib/utils/lod-conversion-utils.js +37 -0
  197. package/dist/esm/lib/utils/lod-conversion-utils.js.map +1 -0
  198. package/dist/esm/lib/utils/queue.js +15 -0
  199. package/dist/esm/lib/utils/queue.js.map +1 -0
  200. package/dist/esm/lib/utils/statistic-utills.d.ts +25 -0
  201. package/dist/esm/lib/utils/statistic-utills.js +62 -0
  202. package/dist/esm/lib/utils/statistic-utills.js.map +1 -0
  203. package/dist/esm/lib/utils/write-queue.js +85 -0
  204. package/dist/esm/lib/utils/write-queue.js.map +1 -0
  205. package/dist/esm/pgm-loader.js +15 -0
  206. package/dist/esm/pgm-loader.js.map +1 -0
  207. package/dist/esm/workers/3d-tiles-attributes-worker.js +8 -0
  208. package/dist/esm/workers/3d-tiles-attributes-worker.js.map +1 -0
  209. package/dist/esm/workers/i3s-attributes-worker.js +7 -0
  210. package/dist/esm/workers/i3s-attributes-worker.js.map +1 -0
  211. package/dist/i3s-attributes-worker.d.ts +37 -0
  212. package/dist/i3s-attributes-worker.d.ts.map +1 -0
  213. package/dist/i3s-attributes-worker.js +9 -0
  214. package/dist/i3s-attributes-worker.js.map +7 -0
  215. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts +11 -0
  216. package/dist/i3s-converter/helpers/batch-ids-extensions.d.ts.map +1 -0
  217. package/dist/i3s-converter/helpers/batch-ids-extensions.js +141 -0
  218. package/dist/i3s-converter/helpers/coordinate-converter.d.ts +41 -0
  219. package/dist/i3s-converter/helpers/coordinate-converter.d.ts.map +1 -0
  220. package/dist/i3s-converter/helpers/coordinate-converter.js +120 -42
  221. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts +9 -0
  222. package/dist/i3s-converter/helpers/create-scene-server-path.d.ts.map +1 -0
  223. package/dist/i3s-converter/helpers/create-scene-server-path.js +27 -15
  224. package/dist/i3s-converter/helpers/feature-attributes.d.ts +56 -0
  225. package/dist/i3s-converter/helpers/feature-attributes.d.ts.map +1 -0
  226. package/dist/i3s-converter/helpers/feature-attributes.js +216 -0
  227. package/dist/i3s-converter/helpers/geometry-attributes.d.ts +8 -0
  228. package/dist/i3s-converter/helpers/geometry-attributes.d.ts.map +1 -0
  229. package/dist/i3s-converter/helpers/geometry-attributes.js +188 -185
  230. package/dist/i3s-converter/helpers/geometry-converter.d.ts +36 -35
  231. package/dist/i3s-converter/helpers/geometry-converter.d.ts.map +1 -0
  232. package/dist/i3s-converter/helpers/geometry-converter.js +1149 -650
  233. package/dist/i3s-converter/helpers/gltf-attributes.d.ts +9 -0
  234. package/dist/i3s-converter/helpers/gltf-attributes.d.ts.map +1 -0
  235. package/dist/i3s-converter/helpers/gltf-attributes.js +88 -0
  236. package/dist/i3s-converter/helpers/node-debug.d.ts +8 -0
  237. package/dist/i3s-converter/helpers/node-debug.d.ts.map +1 -0
  238. package/dist/i3s-converter/helpers/node-debug.js +106 -74
  239. package/dist/i3s-converter/helpers/node-index-document.d.ts +95 -0
  240. package/dist/i3s-converter/helpers/node-index-document.d.ts.map +1 -0
  241. package/dist/i3s-converter/helpers/node-index-document.js +250 -0
  242. package/dist/i3s-converter/helpers/node-pages.d.ts +125 -113
  243. package/dist/i3s-converter/helpers/node-pages.d.ts.map +1 -0
  244. package/dist/i3s-converter/helpers/node-pages.js +313 -133
  245. package/dist/i3s-converter/i3s-converter.d.ts +267 -0
  246. package/dist/i3s-converter/i3s-converter.d.ts.map +1 -0
  247. package/dist/i3s-converter/i3s-converter.js +860 -861
  248. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts +7 -0
  249. package/dist/i3s-converter/json-templates/geometry-definitions.d.ts.map +1 -0
  250. package/dist/i3s-converter/json-templates/geometry-definitions.js +87 -0
  251. package/dist/i3s-converter/json-templates/layers.d.ts +70 -0
  252. package/dist/i3s-converter/json-templates/layers.d.ts.map +1 -0
  253. package/dist/i3s-converter/json-templates/layers.js +138 -190
  254. package/dist/i3s-converter/json-templates/metadata.d.ts +22 -0
  255. package/dist/i3s-converter/json-templates/metadata.d.ts.map +1 -0
  256. package/dist/i3s-converter/json-templates/metadata.js +25 -22
  257. package/dist/i3s-converter/json-templates/node.d.ts +61 -0
  258. package/dist/i3s-converter/json-templates/node.d.ts.map +1 -0
  259. package/dist/i3s-converter/json-templates/node.js +88 -79
  260. package/dist/i3s-converter/json-templates/scene-server.d.ts +28 -0
  261. package/dist/i3s-converter/json-templates/scene-server.d.ts.map +1 -0
  262. package/dist/i3s-converter/json-templates/scene-server.js +31 -28
  263. package/dist/i3s-converter/json-templates/shared-resources.d.ts +14 -0
  264. package/dist/i3s-converter/json-templates/shared-resources.d.ts.map +1 -0
  265. package/dist/i3s-converter/json-templates/shared-resources.js +124 -125
  266. package/dist/i3s-converter/json-templates/store.d.ts +95 -0
  267. package/dist/i3s-converter/json-templates/store.d.ts.map +1 -0
  268. package/dist/i3s-converter/json-templates/store.js +100 -95
  269. package/dist/i3s-converter/types.d.ts +145 -0
  270. package/dist/i3s-converter/types.d.ts.map +1 -0
  271. package/dist/i3s-converter/types.js +2 -0
  272. package/dist/i3s-server/app.d.ts +3 -0
  273. package/dist/i3s-server/app.d.ts.map +1 -0
  274. package/dist/i3s-server/app.js +2 -9
  275. package/dist/i3s-server/controllers/index-controller.d.ts +2 -0
  276. package/dist/i3s-server/controllers/index-controller.d.ts.map +1 -0
  277. package/dist/i3s-server/controllers/index-controller.js +16 -24
  278. package/dist/i3s-server/routes/index.d.ts +3 -0
  279. package/dist/i3s-server/routes/index.d.ts.map +1 -0
  280. package/dist/i3s-server/routes/index.js +11 -15
  281. package/dist/index.d.ts +3 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +10 -5
  284. package/dist/lib/utils/compress-util.d.ts +45 -0
  285. package/dist/lib/utils/compress-util.d.ts.map +1 -0
  286. package/dist/lib/utils/compress-util.js +238 -160
  287. package/dist/lib/utils/file-utils.d.ts +22 -14
  288. package/dist/lib/utils/file-utils.d.ts.map +1 -0
  289. package/dist/lib/utils/file-utils.js +133 -36
  290. package/dist/lib/utils/lod-conversion-utils.d.ts +21 -12
  291. package/dist/lib/utils/lod-conversion-utils.d.ts.map +1 -0
  292. package/dist/lib/utils/lod-conversion-utils.js +72 -39
  293. package/dist/lib/utils/queue.d.ts +7 -0
  294. package/dist/lib/utils/queue.d.ts.map +1 -0
  295. package/dist/lib/utils/queue.js +18 -0
  296. package/dist/lib/utils/statistic-utills.d.ts +3 -25
  297. package/dist/lib/utils/statistic-utills.d.ts.map +1 -0
  298. package/dist/lib/utils/statistic-utills.js +58 -67
  299. package/dist/lib/utils/write-queue.d.ts +39 -0
  300. package/dist/lib/utils/write-queue.d.ts.map +1 -0
  301. package/dist/lib/utils/write-queue.js +80 -0
  302. package/dist/pgm-loader.d.ts +6 -0
  303. package/dist/pgm-loader.d.ts.map +1 -0
  304. package/dist/pgm-loader.js +23 -14
  305. package/dist/workers/3d-tiles-attributes-worker.d.ts +2 -0
  306. package/dist/workers/3d-tiles-attributes-worker.d.ts.map +1 -0
  307. package/dist/workers/3d-tiles-attributes-worker.js +9 -0
  308. package/dist/workers/i3s-attributes-worker.d.ts +2 -0
  309. package/dist/workers/i3s-attributes-worker.d.ts.map +1 -0
  310. package/dist/workers/i3s-attributes-worker.js +5 -0
  311. package/package.json +35 -24
  312. package/src/3d-tiles-attributes-worker.ts +43 -0
  313. package/src/3d-tiles-converter/3d-tiles-converter.ts +124 -59
  314. package/src/3d-tiles-converter/helpers/{b3dm-converter.js → b3dm-converter.ts} +71 -38
  315. package/src/3d-tiles-converter/helpers/{i3s-obb-to-3d-tiles-obb.js → i3s-obb-to-3d-tiles-obb.ts} +16 -1
  316. package/src/3d-tiles-converter/helpers/texture-atlas.ts +4 -4
  317. package/src/3d-tiles-converter/json-templates/{tileset.js → tileset.ts} +9 -9
  318. package/src/constants.ts +2 -0
  319. package/src/converter-cli.ts +370 -0
  320. package/src/deps-installer/deps-installer.ts +71 -0
  321. package/src/i3s-attributes-worker.ts +50 -0
  322. package/src/i3s-converter/helpers/batch-ids-extensions.ts +206 -0
  323. package/src/i3s-converter/helpers/coordinate-converter.ts +87 -27
  324. package/src/i3s-converter/helpers/create-scene-server-path.ts +29 -0
  325. package/src/i3s-converter/helpers/feature-attributes.ts +247 -0
  326. package/src/i3s-converter/helpers/geometry-attributes.ts +267 -0
  327. package/src/i3s-converter/helpers/geometry-converter.ts +1608 -0
  328. package/src/i3s-converter/helpers/gltf-attributes.ts +103 -0
  329. package/src/i3s-converter/helpers/node-debug.ts +146 -0
  330. package/src/i3s-converter/helpers/node-index-document.ts +315 -0
  331. package/src/i3s-converter/helpers/node-pages.ts +344 -0
  332. package/src/i3s-converter/i3s-converter.ts +557 -627
  333. package/src/i3s-converter/json-templates/geometry-definitions.ts +83 -0
  334. package/src/i3s-converter/json-templates/layers.ts +137 -0
  335. package/src/i3s-converter/json-templates/{metadata.js → metadata.ts} +2 -2
  336. package/src/i3s-converter/json-templates/{node.js → node.ts} +12 -12
  337. package/src/i3s-converter/json-templates/{scene-server.js → scene-server.ts} +2 -2
  338. package/src/i3s-converter/json-templates/{shared-resources.js → shared-resources.ts} +17 -17
  339. package/src/i3s-converter/types.ts +165 -0
  340. package/src/index.ts +0 -4
  341. package/src/lib/utils/{compress-util.js → compress-util.ts} +105 -18
  342. package/src/lib/utils/file-utils.ts +139 -0
  343. package/src/lib/utils/{lod-conversion-utils.js → lod-conversion-utils.ts} +27 -5
  344. package/src/lib/utils/queue.ts +17 -0
  345. package/src/lib/utils/write-queue.ts +110 -0
  346. package/src/pgm-loader.ts +3 -3
  347. package/src/workers/3d-tiles-attributes-worker.ts +6 -0
  348. package/src/workers/i3s-attributes-worker.ts +7 -0
  349. package/dist/3d-tiles-converter/3d-tiles-converter.js.map +0 -1
  350. package/dist/3d-tiles-converter/helpers/b3dm-converter.js.map +0 -1
  351. package/dist/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.js.map +0 -1
  352. package/dist/3d-tiles-converter/helpers/texture-atlas.js.map +0 -1
  353. package/dist/3d-tiles-converter/json-templates/tileset.js.map +0 -1
  354. package/dist/bundle.js.map +0 -1
  355. package/dist/deps-installer/deps-installer.js.map +0 -1
  356. package/dist/i3s-converter/helpers/coordinate-converter.js.map +0 -1
  357. package/dist/i3s-converter/helpers/create-scene-server-path.js.map +0 -1
  358. package/dist/i3s-converter/helpers/geometry-attributes.js.map +0 -1
  359. package/dist/i3s-converter/helpers/geometry-converter.js.map +0 -1
  360. package/dist/i3s-converter/helpers/node-debug.js.map +0 -1
  361. package/dist/i3s-converter/helpers/node-pages.js.map +0 -1
  362. package/dist/i3s-converter/i3s-converter.js.map +0 -1
  363. package/dist/i3s-converter/json-templates/layers.js.map +0 -1
  364. package/dist/i3s-converter/json-templates/metadata.js.map +0 -1
  365. package/dist/i3s-converter/json-templates/node.js.map +0 -1
  366. package/dist/i3s-converter/json-templates/scene-server.js.map +0 -1
  367. package/dist/i3s-converter/json-templates/shared-resources.js.map +0 -1
  368. package/dist/i3s-converter/json-templates/store.js.map +0 -1
  369. package/dist/i3s-server/app.js.map +0 -1
  370. package/dist/i3s-server/controllers/index-controller.js.map +0 -1
  371. package/dist/i3s-server/routes/index.js.map +0 -1
  372. package/dist/index.js.map +0 -1
  373. package/dist/lib/geoid-height-model.d.ts +0 -41
  374. package/dist/lib/geoid-height-model.js +0 -140
  375. package/dist/lib/geoid-height-model.js.map +0 -1
  376. package/dist/lib/pgm-parser.d.ts +0 -14
  377. package/dist/lib/pgm-parser.js +0 -183
  378. package/dist/lib/pgm-parser.js.map +0 -1
  379. package/dist/lib/utils/compress-util.js.map +0 -1
  380. package/dist/lib/utils/compress-utils.d.ts +0 -53
  381. package/dist/lib/utils/file-utils.js.map +0 -1
  382. package/dist/lib/utils/lod-conversion-utils.js.map +0 -1
  383. package/dist/lib/utils/statistic-utills.js.map +0 -1
  384. package/dist/pgm-loader.js.map +0 -1
  385. package/src/3d-tiles-converter/helpers/b3dm-converter.d.ts +0 -23
  386. package/src/3d-tiles-converter/helpers/i3s-obb-to-3d-tiles-obb.d.ts +0 -16
  387. package/src/deps-installer/deps-installer.d.ts +0 -10
  388. package/src/deps-installer/deps-installer.js +0 -22
  389. package/src/i3s-converter/helpers/create-scene-server-path.js +0 -25
  390. package/src/i3s-converter/helpers/geometry-converter.d.ts +0 -40
  391. package/src/i3s-converter/helpers/geometry-converter.js +0 -915
  392. package/src/i3s-converter/helpers/node-pages.d.ts +0 -144
  393. package/src/i3s-converter/helpers/node-pages.js +0 -208
  394. package/src/i3s-converter/json-templates/layers.js +0 -199
  395. package/src/lib/geoid-height-model.d.ts +0 -41
  396. package/src/lib/geoid-height-model.js +0 -239
  397. package/src/lib/pgm-parser.d.ts +0 -14
  398. package/src/lib/pgm-parser.js +0 -179
  399. package/src/lib/utils/compress-utils.d.ts +0 -53
  400. package/src/lib/utils/file-utils.d.ts +0 -43
  401. package/src/lib/utils/file-utils.js +0 -38
  402. package/src/lib/utils/lod-conversion-utils.d.ts +0 -32
  403. /package/dist/{i3s-server → es5/i3s-server}/bin/www +0 -0
  404. /package/dist/{i3s-server → es5/i3s-server}/certs/cert.pem +0 -0
  405. /package/dist/{i3s-server → es5/i3s-server}/certs/key.pem +0 -0
  406. /package/src/i3s-converter/json-templates/{store.js → store.ts} +0 -0
  407. /package/src/lib/utils/{statistic-utills.js → statistic-utills.ts} +0 -0
@@ -1,239 +0,0 @@
1
- /**
2
- * Code is ported from GeographicLib-1.50.1
3
- * https://geographiclib.sourceforge.io/html/index.html
4
- * Location: /GeographicLib-1.50.1/src/Geoid.cpp
5
- * /GeographicLib-1.50.1/include/GeographicLib/Geoid.hpp
6
- * /GeographicLib-1.50.1/src/Math.cpp
7
- *
8
- * File header:
9
- * * \file Geoid.cpp (Geoid.hpp)
10
- * * \brief Implementation for GeographicLib::Geoid class
11
- * *
12
- * * Copyright (c) Charles Karney (2009-2018) <charles@karney.com> and licensed
13
- * * under the MIT/X11 License. For more information, see
14
- * * https://geographiclib.sourceforge.io/
15
- **********************************************************************/
16
-
17
- const c0_ = 240;
18
-
19
- // prettier-ignore
20
- const c3_ = [
21
- 9, -18, -88, 0, 96, 90, 0, 0, -60, -20,
22
- -9, 18, 8, 0, -96, 30, 0, 0, 60, -20,
23
- 9, -88, -18, 90, 96, 0, -20, -60, 0, 0,
24
- 186, -42, -42, -150, -96, -150, 60, 60, 60, 60,
25
- 54, 162, -78, 30, -24, -90, -60, 60, -60, 60,
26
- -9, -32, 18, 30, 24, 0, 20, -60, 0, 0,
27
- -9, 8, 18, 30, -96, 0, -20, 60, 0, 0,
28
- 54, -78, 162, -90, -24, 30, 60, -60, 60, -60,
29
- -54, 78, 78, 90, 144, 90, -60, -60, -60, -60,
30
- 9, -8, -18, -30, -24, 0, 20, 60, 0, 0,
31
- -9, 18, -32, 0, 24, 30, 0, 0, -60, 20,
32
- 9, -18, -8, 0, -24, -30, 0, 0, 60, 20
33
- ];
34
-
35
- const c0n_ = 372;
36
-
37
- // prettier-ignore
38
- const c3n_ = [
39
- 0, 0, -131, 0, 138, 144, 0, 0, -102, -31,
40
- 0, 0, 7, 0, -138, 42, 0, 0, 102, -31,
41
- 62, 0, -31, 0, 0, -62, 0, 0, 0, 31,
42
- 124, 0, -62, 0, 0, -124, 0, 0, 0, 62,
43
- 124, 0, -62, 0, 0, -124, 0, 0, 0, 62,
44
- 62, 0, -31, 0, 0, -62, 0, 0, 0, 31,
45
- 0, 0, 45, 0, -183, -9, 0, 93, 18, 0,
46
- 0, 0, 216, 0, 33, 87, 0, -93, 12, -93,
47
- 0, 0, 156, 0, 153, 99, 0, -93, -12, -93,
48
- 0, 0, -45, 0, -3, 9, 0, 93, -18, 0,
49
- 0, 0, -55, 0, 48, 42, 0, 0, -84, 31,
50
- 0, 0, -7, 0, -48, -42, 0, 0, 84, 31,
51
- ];
52
-
53
- const c0s_ = 372;
54
-
55
- // prettier-ignore
56
- const c3s_ = [
57
- 18, -36, -122, 0, 120, 135, 0, 0, -84, -31,
58
- -18, 36, -2, 0, -120, 51, 0, 0, 84, -31,
59
- 36, -165, -27, 93, 147, -9, 0, -93, 18, 0,
60
- 210, 45, -111, -93, -57, -192, 0, 93, 12, 93,
61
- 162, 141, -75, -93, -129, -180, 0, 93, -12, 93,
62
- -36, -21, 27, 93, 39, 9, 0, -93, -18, 0,
63
- 0, 0, 62, 0, 0, 31, 0, 0, 0, -31,
64
- 0, 0, 124, 0, 0, 62, 0, 0, 0, -62,
65
- 0, 0, 124, 0, 0, 62, 0, 0, 0, -62,
66
- 0, 0, 62, 0, 0, 31, 0, 0, 0, -31,
67
- -18, 36, -64, 0, 66, 51, 0, 0, -102, 31,
68
- 18, -36, 2, 0, -66, -51, 0, 0, 102, 31,
69
- ];
70
- const stencilsize_ = 12;
71
- const nterms_ = ((3 + 1) * (3 + 2)) / 2; // for a cubic fit
72
- const PIXEL_SIZE = 2;
73
-
74
- export class GeoidHeightModel {
75
- constructor(options) {
76
- this.options = options;
77
- this._v00 = 0;
78
- this._v01 = 0;
79
- this._v10 = 0;
80
- this._v11 = 0;
81
- this._t = [];
82
-
83
- this._ix = this.options._width;
84
- this._iy = this.options._height;
85
- }
86
-
87
- // eslint-disable-next-line max-statements, complexity
88
- getHeight(lat, lon) {
89
- // C++: Math::LatFix(lat)
90
- lat = Math.abs(lat) > 90 ? NaN : lat;
91
-
92
- if (isNaN(lat) || isNaN(lon)) {
93
- return NaN;
94
- }
95
-
96
- // C++: Math::AngNormalize(lon)
97
- const rem = _remainder(lon, 360);
98
- lon = rem !== -180 ? rem : 180;
99
-
100
- let fx = lon * this.options._rlonres;
101
- let fy = -lat * this.options._rlatres;
102
- let ix = Math.floor(fx);
103
- let iy = Math.min(Math.round((this.options._height - 1) / 2 - 1), Math.floor(fy));
104
- fx -= ix;
105
- fy -= iy;
106
- iy += (this.options._height - 1) / 2;
107
- ix += ix < 0 ? this.options._width : ix >= this.options._width ? -this.options._width : 0;
108
- let v00 = 0;
109
- let v01 = 0;
110
- let v10 = 0;
111
- let v11 = 0;
112
- let t = new Array(nterms_);
113
- if (!(ix === this._ix && iy === this._iy)) {
114
- if (!this.options.cubic) {
115
- v00 = this._rawval(ix, iy);
116
- v01 = this._rawval(ix + 1, iy);
117
- v10 = this._rawval(ix, iy + 1);
118
- v11 = this._rawval(ix + 1, iy + 1);
119
- } else {
120
- const v = [
121
- this._rawval(ix, iy - 1),
122
- this._rawval(ix + 1, iy - 1),
123
- this._rawval(ix - 1, iy),
124
- this._rawval(ix, iy),
125
- this._rawval(ix + 1, iy),
126
- this._rawval(ix + 2, iy),
127
- this._rawval(ix - 1, iy + 1),
128
- this._rawval(ix, iy + 1),
129
- this._rawval(ix + 1, iy + 1),
130
- this._rawval(ix + 2, iy + 1),
131
- this._rawval(ix, iy + 2),
132
- this._rawval(ix + 1, iy + 2)
133
- ];
134
-
135
- let c3x = c3n_;
136
- if (iy !== 0) {
137
- c3x = iy === this.options._height - 2 ? c3s_ : c3_;
138
- }
139
- let c0x = c0n_;
140
- if (iy !== 0) {
141
- c0x = iy === this.options._height - 2 ? c0s_ : c0_;
142
- }
143
- for (let i = 0; i < nterms_; ++i) {
144
- t[i] = 0;
145
- // eslint-disable-next-line max-depth
146
- for (let j = 0; j < stencilsize_; ++j) {
147
- t[i] += v[j] * c3x[nterms_ * j + i];
148
- }
149
- t[i] /= c0x;
150
- }
151
- }
152
- } else if (!this.options.cubic) {
153
- // same cell; used cached coefficients
154
- v00 = this._v00;
155
- v01 = this._v01;
156
- v10 = this._v10;
157
- v11 = this._v11;
158
- } else {
159
- t = this._t;
160
- }
161
-
162
- if (!this.options.cubic) {
163
- const a = (1 - fx) * v00 + fx * v01;
164
- const b = (1 - fx) * v10 + fx * v11;
165
- const c = (1 - fy) * a + fy * b;
166
- const h = this.options._offset + this.options._scale * c;
167
- this._ix = ix;
168
- this._iy = iy;
169
- this._v00 = v00;
170
- this._v01 = v01;
171
- this._v10 = v10;
172
- this._v11 = v11;
173
- return h;
174
- }
175
- let h =
176
- t[0] +
177
- fx * (t[1] + fx * (t[3] + fx * t[6])) +
178
- fy * (t[2] + fx * (t[4] + fx * t[7]) + fy * (t[5] + fx * t[8] + fy * t[9]));
179
- h = this.options._offset + this.options._scale * h;
180
- this._ix = ix;
181
- this._iy = iy;
182
- this._t = t;
183
- return h;
184
- }
185
-
186
- /**
187
- * Method seeks for particular data in th pgm buffer
188
- * Code is ported from corresponding method
189
- * in /GeographicLib-1.50.1/include/GeographicLib/Geoid.hpp
190
- * @param {number} ix - longituge parameter
191
- * @param {number} iy - latitude parameter
192
- * @returns {number} data from pgm binary buffer
193
- */
194
- _rawval(ix, iy) {
195
- if (ix < 0) {
196
- ix += this.options._width;
197
- } else if (ix >= this.options._width) {
198
- ix -= this.options._width;
199
- }
200
- if (iy < 0 || iy >= this.options._height) {
201
- iy = iy < 0 ? -iy : 2 * (this.options._height - 1) - iy;
202
- ix += ((ix < this.options._width / 2 ? 1 : -1) * this.options._width) / 2;
203
- }
204
- const bufferPosition = this.options._datastart + PIXEL_SIZE * (iy * this.options._swidth + ix);
205
- // initial values to suppress warnings in case get fails
206
- const a = this.options.data[bufferPosition];
207
- const b = this.options.data[bufferPosition + 1];
208
- const r = (a << 8) | b;
209
- return r;
210
- }
211
- }
212
-
213
- /**
214
- * Method calculates remainder of float numbers division
215
- * Code is ported from corresponding method
216
- * in /GeographicLib-1.50.1/src/Math.cpp
217
- * Math::remainder(T x, T y)
218
- * @param {number} x - numerator
219
- * @param {number} y - denominator
220
- * @returns {number} - remainder
221
- */
222
- function _remainder(x, y) {
223
- y = Math.abs(y); // The result doesn't depend on the sign of y
224
- let z = _fmod(x, y);
225
- if (2 * Math.abs(z) === y) z -= _fmod(x, 2 * y) - z;
226
- // Implement ties to even
227
- else if (2 * Math.abs(z) > y) z += z < 0 ? y : -y; // Fold remaining cases to (-y/2, y/2)
228
- return z;
229
- }
230
-
231
- /**
232
- * Computes the floating-point remainder of the division operation x/y
233
- * @param {number} x - numerator
234
- * @param {number} y - denominator
235
- * @returns {number} - remainder
236
- */
237
- function _fmod(x, y) {
238
- return x - Math.floor(x / y) * y;
239
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Parse header of "Earth Gravity Model" *.pgm file
3
- * The implementation is ported from GeographicLib-1.50.1
4
- * https://geographiclib.sourceforge.io/html/index.html
5
- */
6
-
7
- /**
8
- * Parse "Earth Gravity Model" loaded from a *.pgm file
9
- * https://geographiclib.sourceforge.io/html/geoid.html
10
- * @param {Uint8Array} data - binary buffer of pgm file
11
- * @param {Object} options - loader options
12
- * @returns {GeoidHeightModel} - instance of GeoidHeightModel class
13
- */
14
- export function parsePgm(data, options);
@@ -1,179 +0,0 @@
1
- /**
2
- * Parsing code is ported from GeographicLib-1.50.1
3
- * https://geographiclib.sourceforge.io/html/index.html
4
- * Location: /GeographicLib-1.50.1/src/Geoid.cpp
5
- *
6
- * File header:
7
- * * \file Geoid.cpp
8
- * * \brief Implementation for GeographicLib::Geoid class
9
- * *
10
- * * Copyright (c) Charles Karney (2009-2018) <charles@karney.com> and licensed
11
- * * under the MIT/X11 License. For more information, see
12
- * * https://geographiclib.sourceforge.io/
13
- **********************************************************************/
14
-
15
- import {GeoidHeightModel} from './geoid-height-model';
16
-
17
- const ENDL = 10;
18
- const PIXEL_MAX = 65535;
19
-
20
- // eslint-disable-next-line
21
- export function parsePgm(data, options) {
22
- const getline = _getLineGenerator(data);
23
- let currentLine = getline.next();
24
- if (currentLine.done || currentLine.value.line !== 'P5') {
25
- throw new Error('Geoid model file: File not in PGM format');
26
- }
27
- let _offset = Number.MAX_VALUE;
28
- let _scale = 0;
29
- let _maxerror = -1;
30
- let _rmserror = -1;
31
- let _description = 'NONE';
32
- let _datetime = 'UNKNOWN';
33
- let _width = 0;
34
- let _height = 0;
35
- let _datastart = null;
36
- let _swidth = null;
37
- do {
38
- currentLine = getline.next();
39
- const s = currentLine.value.line;
40
- if (!s.length) {
41
- continue; // eslint-disable-line no-continue
42
- }
43
- if (s[0] === '#') {
44
- const sArr = s.split(' ');
45
- const commentId = sArr[0];
46
- const key = sArr[1];
47
- if (commentId !== '#' || !key) {
48
- continue; // eslint-disable-line no-continue
49
- }
50
- const infoArr = sArr.length > 2 ? sArr.slice(2) : [];
51
- if (key === 'Description') {
52
- _description = infoArr.join(' ');
53
- } else if (key === 'DateTime') {
54
- _datetime = infoArr.join(' ');
55
- } else if (key === 'Offset') {
56
- // eslint-disable-next-line max-depth
57
- if (!sArr[2]) {
58
- throw new Error('Geoid model file: Error reading offset');
59
- }
60
- _offset = parseInt(sArr[2], 10);
61
- } else if (key === 'Scale') {
62
- // eslint-disable-next-line max-depth
63
- if (!sArr[2]) {
64
- throw new Error('Geoid model file: Error reading scale');
65
- }
66
- _scale = parseFloat(sArr[2]);
67
- } else if (key === (options.cubic ? 'MaxCubicError' : 'MaxBilinearError')) {
68
- // It's not an error if the error can't be read
69
- // eslint-disable-next-line max-depth
70
- if (isFinite(parseFloat(sArr[2]))) {
71
- _maxerror = parseFloat(sArr[2]);
72
- }
73
- } else if (key === (options.cubic ? 'RMSCubicError' : 'RMSBilinearError')) {
74
- // It's not an error if the error can't be read
75
- // eslint-disable-next-line max-depth
76
- if (isFinite(parseFloat(sArr[2]))) {
77
- _rmserror = parseFloat(sArr[2]);
78
- }
79
- }
80
- } else {
81
- let sArr = s.split(' ');
82
- sArr = sArr.filter((testString) => testString !== '');
83
- _width = parseInt(sArr[0], 10);
84
- _height = parseInt(sArr[1], 10);
85
- if (!(_width && _height)) {
86
- throw new Error('Geoid model file: Error reading raster size');
87
- }
88
- break;
89
- }
90
- } while (!currentLine.done);
91
-
92
- currentLine = getline.next();
93
- const maxval = parseInt(currentLine.value.line, 10);
94
- if (currentLine.done) {
95
- throw new Error('Geoid model file: Error reading maxval');
96
- }
97
- if (maxval !== PIXEL_MAX) {
98
- throw new Error('Geoid model file: Incorrect value of maxval');
99
- }
100
- // Add 1 for whitespace after maxval
101
- _datastart = currentLine.value.offset;
102
- _swidth = _width;
103
-
104
- if (_offset === Number.MAX_VALUE) {
105
- throw new Error('Geoid model file: Offset not set');
106
- }
107
- if (_scale === 0) {
108
- throw new Error('Geoid model file: Scale not set');
109
- }
110
- if (_scale < 0) {
111
- throw new Error('Geoid model file: Scale must be positive');
112
- }
113
- if (_height < 2 || _width < 2) {
114
- // Coarsest grid spacing is 180deg.
115
- throw new Error('Geoid model file: Raster size too small');
116
- }
117
- if (_width & 1) {
118
- // This is so that longitude grids can be extended thru the poles.
119
- throw new Error('Geoid model file: Raster width is odd');
120
- }
121
- if (!(_height & 1)) {
122
- // This is so that latitude grid includes the equator.
123
- throw new Error('Geoid model file: Raster height is even');
124
- }
125
-
126
- const _rlonres = _width / 360;
127
- const _rlatres = (_height - 1) / 180;
128
- return new GeoidHeightModel({
129
- cubic: options.cubic,
130
- _width,
131
- _height,
132
- _rlonres,
133
- _rlatres,
134
- _offset,
135
- _scale,
136
- _swidth,
137
- _datastart,
138
- _maxerror,
139
- _rmserror,
140
- _description,
141
- _datetime,
142
- data
143
- });
144
- }
145
-
146
- /**
147
- * Yields strings from pgm file (splitted by 10 - new line symbol)
148
- * @param {Uint8Array} data - binary buffer of pgm file
149
- * @returns {Generator}
150
- */
151
- function* _getLineGenerator(data) {
152
- let offset = 0;
153
- do {
154
- const endLineIndex = data.indexOf(ENDL, offset);
155
- if (endLineIndex !== -1) {
156
- const line = data.subarray(offset, endLineIndex);
157
- offset = endLineIndex + 1;
158
- yield {offset, line: _getStringFromCharArray(line)};
159
- } else {
160
- const line = data.subarray(offset, data.length);
161
- offset = data.length;
162
- yield {offset, line: _getStringFromCharArray(line)};
163
- }
164
- } while (offset < data.length);
165
- return {offset, line: ''};
166
- }
167
-
168
- /**
169
- * Converts Uint8Array of char-codes to string
170
- * @param {Uint8Array} array - binary buffer of pgm file
171
- * @returns {string}
172
- */
173
- function _getStringFromCharArray(array) {
174
- let s = '';
175
- for (const char of array) {
176
- s += String.fromCharCode(char);
177
- }
178
- return s;
179
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * Compress file to gzip file
3
- *
4
- * @param pathFile - the path to the file
5
- * @return the path to the gzip file
6
- */
7
- export function compressFileWithGzip(pathFile: string): Promise<string>;
8
-
9
- /**
10
- * Compress files from map into slpk file
11
- *
12
- * @param fileMap - map with file paths (key: output path, value: input path)
13
- * @param outputFile - output slpk file
14
- * @param level - compression level
15
- */
16
- export function compressFilesWithZip(
17
- fileMap: object,
18
- outputFile: string,
19
- level: number
20
- ): Promise<void>;
21
-
22
- /**
23
- * Compress files using external tool 'zip'
24
- *
25
- * @param inputFolder - folder to archive
26
- * @param outputFile - output slpk file
27
- * @param level - compression level
28
- */
29
- export function compressWithChildProcess(
30
- inputFolder: string,
31
- outputFile: string,
32
- level: number,
33
- sevenZipExe: string
34
- ): Promise<void>;
35
-
36
- /**
37
- * Generate hash file from zip archive
38
- * https://github.com/Esri/i3s-spec/blob/master/docs/1.7/slpk_hashtable.cmn.md
39
- *
40
- * @param inputZipFile
41
- * @param outputFile
42
- */
43
- export function generateHash128FromZip(inputZipFile, outputFile): Promise<void>;
44
-
45
- /**
46
- * Add file to zip archive
47
- *
48
- * @param inputFile
49
- * @param fileName
50
- * @param zipFile
51
- * @param sevenZipExe
52
- */
53
- export function addFileToZip(inputFile, fileName, zipFile, sevenZipExe);
@@ -1,43 +0,0 @@
1
- /**
2
- * Write a file with data and name fileName to path
3
- *
4
- * @param path - output path
5
- * @param data - file content
6
- * @param fileName - name of output file (default: index.json)
7
- */
8
- export function writeFile(path: string, data: string | Uint8Array | ArrayBuffer, fileName?: string);
9
-
10
- /**
11
- * Write a file with data and name fileName to path - specific one for further packaging into slpk
12
- *
13
- * @param path - output path
14
- * @param data - file content
15
- * @param fileName - name of output file (default: index.json)
16
- * @param compress - if need to compress file with gzip (default: true)
17
- */
18
- export function writeFileForSlpk(
19
- path: string,
20
- data: string | Uint8Array | ArrayBuffer,
21
- fileName?: string,
22
- compress?: boolean
23
- );
24
-
25
- /**
26
- * Remove dir with path
27
- *
28
- * @param path
29
- */
30
- export function removeDir(path: string): Promise<void>;
31
-
32
- /**
33
- * Remove file with path
34
- *
35
- * @param path
36
- */
37
- export function removeFile(path: string): Promise<void>;
38
-
39
- /**
40
- * Generates absolute file path
41
- * @param filePath
42
- */
43
- export function getAbsoluteFilePath(filePath: string): string;
@@ -1,38 +0,0 @@
1
- import {promises as fs} from 'fs';
2
- import {isAbsolute, join} from 'path';
3
- import {compressFileWithGzip} from './compress-util';
4
-
5
- export async function writeFile(path, data, fileName = 'index.json') {
6
- await fs.mkdir(path, {recursive: true});
7
- const pathFile = join(path, fileName);
8
- try {
9
- await fs.writeFile(pathFile, data);
10
- } catch (err) {
11
- throw err;
12
- }
13
- console.log(`${pathFile} saved.`); // eslint-disable-line
14
- return pathFile;
15
- }
16
-
17
- export async function writeFileForSlpk(path, data, fileName = 'index.json', compress = true) {
18
- const pathFile = await writeFile(path, data, fileName);
19
- if (compress) {
20
- const pathGzFile = await compressFileWithGzip(pathFile);
21
- // After compression, we don't need an uncompressed file
22
- await removeFile(pathFile);
23
- return pathGzFile;
24
- }
25
- return pathFile;
26
- }
27
-
28
- export function removeDir(path) {
29
- return fs.rmdir(path, {recursive: true});
30
- }
31
-
32
- export function removeFile(path) {
33
- return fs.unlink(path);
34
- }
35
-
36
- export function getAbsoluteFilePath(filePath) {
37
- return isAbsolute(filePath) ? filePath : join(process.cwd(), filePath); // eslint-disable-line no-undef
38
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * Convert LOD metric from "Screen Space Error" to "Screen Threshold"
3
- *
4
- * @param tile - 3d-tiles tile Object
5
- * @param coordinates - node converted coordinates
6
- * @returns An array of LOD metrics in format compatible with i3s 3DNodeIndexDocument.lodSelection
7
- * @example
8
- * [
9
- {
10
- "metricType": "maxScreenThresholdSQ",
11
- "maxError": 870638.071285568
12
- },
13
- {
14
- "metricType": "maxScreenThreshold",
15
- "maxError": 1052.8679031638949
16
- }
17
- ]
18
- */
19
- export function convertGeometricErrorToScreenThreshold(
20
- tile: Object,
21
- coordinates: {
22
- mbs?: number[];
23
- }
24
- ): Array<{metricType: string; maxError: number}>;
25
-
26
- /**
27
- * Convert LOD metric from "Screen Threshold" to "Screen Space Error"
28
- * @param node - i3s node data
29
- * @returns lod metric in 3d-tiles format
30
- * @todo implement this function
31
- */
32
- export function convertScreenThresholdToGeometricError(node: Object): number;
File without changes