@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
@@ -0,0 +1,123 @@
1
+ import transform from 'json-map-transform';
2
+ const MATERIAL_DEFINITION_INFO_PARAMS = () => ({
3
+ renderMode: {
4
+ path: 'renderMode',
5
+ default: 'solid'
6
+ },
7
+ shininess: {
8
+ path: 'shininess',
9
+ default: 1
10
+ },
11
+ reflectivity: {
12
+ path: 'reflectivity',
13
+ default: 0
14
+ },
15
+ ambient: {
16
+ path: 'ambient',
17
+ default: [1, 1, 1]
18
+ },
19
+ diffuse: {
20
+ path: 'diffuse',
21
+ default: [1, 1, 1]
22
+ },
23
+ specular: {
24
+ path: 'specular',
25
+ default: [0, 0, 0]
26
+ },
27
+ useVertexColorAlpha: {
28
+ path: 'useVertexColorAlpha',
29
+ default: false
30
+ },
31
+ vertexRegions: {
32
+ path: 'vertexRegions',
33
+ default: false
34
+ },
35
+ vertexColors: {
36
+ path: 'vertexColors',
37
+ default: true
38
+ }
39
+ });
40
+ const MATERIAL_DEFINITION_INFO = () => ({
41
+ name: {
42
+ path: 'name',
43
+ default: 'standard'
44
+ },
45
+ type: {
46
+ path: 'type',
47
+ default: 'standard'
48
+ },
49
+ params: {
50
+ path: 'params',
51
+ transform: (val, thisObject, originalObject) => transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())
52
+ }
53
+ });
54
+ const TEXTURE_DEFINITION_IMAGE = () => ({
55
+ id: {
56
+ path: 'id'
57
+ },
58
+ size: {
59
+ path: 'size'
60
+ },
61
+ href: {
62
+ path: 'href',
63
+ default: ['../textures/0']
64
+ },
65
+ length: {
66
+ path: 'length'
67
+ }
68
+ });
69
+ const TEXTURE_DEFINITION_INFO = () => ({
70
+ encoding: {
71
+ path: 'encoding'
72
+ },
73
+ wrap: {
74
+ path: 'wrap',
75
+ default: ['none']
76
+ },
77
+ atlas: {
78
+ path: 'atlas',
79
+ default: false
80
+ },
81
+ uvSet: {
82
+ path: 'uvSet',
83
+ default: 'uv0'
84
+ },
85
+ channels: {
86
+ path: 'channels',
87
+ default: 'rgb'
88
+ },
89
+ images: {
90
+ path: 'images',
91
+ transform: (val, thisObject, originalObject) => val.map(image => transform(image, TEXTURE_DEFINITION_IMAGE()))
92
+ }
93
+ });
94
+ export const SHARED_RESOURCES = () => ({
95
+ materialDefinitions: {
96
+ path: 'materialDefinitionInfos',
97
+ transform: transfromMaterialDefinitions
98
+ },
99
+ textureDefinitions: {
100
+ path: 'textureDefinitionInfos',
101
+ transform: transfromTextureDefinitions
102
+ }
103
+ });
104
+ function transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {
105
+ const result = {};
106
+ for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {
107
+ result["Mat".concat(originalObject.nodePath).concat(index)] = transform(materialDefinitionInfo, MATERIAL_DEFINITION_INFO());
108
+ }
109
+ return result;
110
+ }
111
+ function transfromTextureDefinitions(textureDefinitionInfos, thisObject, originalObject) {
112
+ if (!textureDefinitionInfos) {
113
+ return null;
114
+ }
115
+ const result = {};
116
+ for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {
117
+ const imageIndex = "".concat(originalObject.nodePath).concat(index);
118
+ textureDefinitionInfo.imageIndex = imageIndex;
119
+ result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());
120
+ }
121
+ return result;
122
+ }
123
+ //# sourceMappingURL=shared-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-resources.js","names":["transform","MATERIAL_DEFINITION_INFO_PARAMS","renderMode","path","default","shininess","reflectivity","ambient","diffuse","specular","useVertexColorAlpha","vertexRegions","vertexColors","MATERIAL_DEFINITION_INFO","name","type","params","val","thisObject","originalObject","TEXTURE_DEFINITION_IMAGE","id","size","href","length","TEXTURE_DEFINITION_INFO","encoding","wrap","atlas","uvSet","channels","images","map","image","SHARED_RESOURCES","materialDefinitions","transfromMaterialDefinitions","textureDefinitions","transfromTextureDefinitions","materialDefinitionInfos","result","index","materialDefinitionInfo","entries","concat","nodePath","textureDefinitionInfos","textureDefinitionInfo","imageIndex"],"sources":["../../../../src/i3s-converter/json-templates/shared-resources.ts"],"sourcesContent":["import transform from 'json-map-transform';\n\nconst MATERIAL_DEFINITION_INFO_PARAMS = () => ({\n renderMode: {\n path: 'renderMode',\n default: 'solid'\n },\n shininess: {\n path: 'shininess',\n default: 1\n },\n reflectivity: {\n path: 'reflectivity',\n default: 0\n },\n ambient: {\n path: 'ambient',\n default: [1, 1, 1]\n },\n diffuse: {\n path: 'diffuse',\n default: [1, 1, 1]\n },\n specular: {\n path: 'specular',\n default: [0, 0, 0]\n },\n useVertexColorAlpha: {\n path: 'useVertexColorAlpha',\n default: false\n },\n vertexRegions: {\n path: 'vertexRegions',\n default: false\n },\n vertexColors: {\n path: 'vertexColors',\n default: true\n }\n});\n\nconst MATERIAL_DEFINITION_INFO = () => ({\n name: {\n path: 'name',\n default: 'standard'\n },\n type: {\n path: 'type',\n default: 'standard'\n },\n params: {\n path: 'params',\n transform: (val, thisObject, originalObject) =>\n transform(originalObject, MATERIAL_DEFINITION_INFO_PARAMS())\n }\n});\n\nconst TEXTURE_DEFINITION_IMAGE = () => ({\n id: {\n path: 'id'\n },\n size: {\n path: 'size'\n },\n href: {\n path: 'href',\n default: ['../textures/0']\n },\n length: {\n path: 'length'\n }\n});\n\nconst TEXTURE_DEFINITION_INFO = () => ({\n encoding: {\n path: 'encoding'\n },\n wrap: {\n path: 'wrap',\n default: ['none']\n },\n atlas: {\n path: 'atlas',\n default: false\n },\n uvSet: {\n path: 'uvSet',\n default: 'uv0'\n },\n channels: {\n path: 'channels',\n default: 'rgb'\n },\n images: {\n path: 'images',\n transform: (val, thisObject, originalObject) =>\n val.map((image) => transform(image, TEXTURE_DEFINITION_IMAGE()))\n }\n});\n\nexport const SHARED_RESOURCES = () => ({\n materialDefinitions: {\n path: 'materialDefinitionInfos',\n transform: transfromMaterialDefinitions\n },\n textureDefinitions: {\n path: 'textureDefinitionInfos',\n transform: transfromTextureDefinitions\n }\n});\n\nfunction transfromMaterialDefinitions(materialDefinitionInfos, thisObject, originalObject) {\n const result = {};\n for (const [index, materialDefinitionInfo] of materialDefinitionInfos.entries()) {\n result[`Mat${originalObject.nodePath}${index}`] = transform(\n materialDefinitionInfo,\n MATERIAL_DEFINITION_INFO()\n );\n }\n return result;\n}\n\nfunction transfromTextureDefinitions(textureDefinitionInfos, thisObject, originalObject) {\n if (!textureDefinitionInfos) {\n return null;\n }\n const result = {};\n for (const [index, textureDefinitionInfo] of textureDefinitionInfos.entries()) {\n const imageIndex = `${originalObject.nodePath}${index}`;\n textureDefinitionInfo.imageIndex = imageIndex;\n result[imageIndex] = transform(textureDefinitionInfo, TEXTURE_DEFINITION_INFO());\n }\n return result;\n}\n"],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ export const STORE = {
2
+ id: {
3
+ path: 'id',
4
+ transform: val => val.toUpperCase()
5
+ },
6
+ profile: {
7
+ path: 'profile',
8
+ default: 'meshpyramids'
9
+ },
10
+ version: {
11
+ path: 'version',
12
+ default: '1.8'
13
+ },
14
+ resourcePattern: {
15
+ path: 'resourcePattern',
16
+ default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']
17
+ },
18
+ rootNode: {
19
+ path: 'rootNode',
20
+ default: './nodes/root'
21
+ },
22
+ extent: {
23
+ path: 'extent'
24
+ },
25
+ indexCRS: {
26
+ path: 'indexCRS',
27
+ default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
28
+ },
29
+ vertexCRS: {
30
+ path: 'vertexCRS',
31
+ default: 'http://www.opengis.net/def/crs/EPSG/0/4326'
32
+ },
33
+ normalReferenceFrame: {
34
+ path: 'normalReferenceFrame',
35
+ default: 'east-north-up'
36
+ },
37
+ attributeEncoding: {
38
+ path: 'attributeEncoding',
39
+ default: 'application/octet-stream; version=1.6'
40
+ },
41
+ textureEncoding: {
42
+ path: 'textureEncoding',
43
+ default: ['image/jpeg', 'image/ktx2']
44
+ },
45
+ lodType: {
46
+ path: 'lodType',
47
+ default: 'MeshPyramid'
48
+ },
49
+ lodModel: {
50
+ path: 'lodModel',
51
+ default: 'node-switching'
52
+ },
53
+ defaultGeometrySchema: {
54
+ path: 'defaultGeometrySchema',
55
+ default: {
56
+ geometryType: 'triangles',
57
+ header: [{
58
+ property: 'vertexCount',
59
+ type: 'UInt32'
60
+ }, {
61
+ property: 'featureCount',
62
+ type: 'UInt32'
63
+ }],
64
+ topology: 'PerAttributeArray',
65
+ ordering: ['position', 'normal', 'uv0', 'color'],
66
+ vertexAttributes: {
67
+ position: {
68
+ valueType: 'Float32',
69
+ valuesPerElement: 3
70
+ },
71
+ normal: {
72
+ valueType: 'Float32',
73
+ valuesPerElement: 3
74
+ },
75
+ uv0: {
76
+ valueType: 'Float32',
77
+ valuesPerElement: 2
78
+ },
79
+ color: {
80
+ valueType: 'UInt8',
81
+ valuesPerElement: 4
82
+ }
83
+ },
84
+ featureAttributeOrder: ['id', 'faceRange'],
85
+ featureAttributes: {
86
+ id: {
87
+ valueType: 'UInt64',
88
+ valuesPerElement: 1
89
+ },
90
+ faceRange: {
91
+ valueType: 'UInt32',
92
+ valuesPerElement: 2
93
+ }
94
+ }
95
+ }
96
+ }
97
+ };
98
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","names":["STORE","id","path","transform","val","toUpperCase","profile","default","version","resourcePattern","rootNode","extent","indexCRS","vertexCRS","normalReferenceFrame","attributeEncoding","textureEncoding","lodType","lodModel","defaultGeometrySchema","geometryType","header","property","type","topology","ordering","vertexAttributes","position","valueType","valuesPerElement","normal","uv0","color","featureAttributeOrder","featureAttributes","faceRange"],"sources":["../../../../src/i3s-converter/json-templates/store.ts"],"sourcesContent":["export const STORE = {\n id: {\n path: 'id',\n transform: (val) => val.toUpperCase()\n },\n profile: {\n path: 'profile',\n default: 'meshpyramids'\n },\n version: {\n path: 'version',\n default: '1.8'\n },\n resourcePattern: {\n path: 'resourcePattern',\n default: ['3dNodeIndexDocument', 'Attributes', 'SharedResource', 'Geometry']\n },\n rootNode: {\n path: 'rootNode',\n default: './nodes/root'\n },\n extent: {\n path: 'extent'\n },\n indexCRS: {\n path: 'indexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n vertexCRS: {\n path: 'vertexCRS',\n default: 'http://www.opengis.net/def/crs/EPSG/0/4326'\n },\n normalReferenceFrame: {\n path: 'normalReferenceFrame',\n default: 'east-north-up'\n },\n attributeEncoding: {\n path: 'attributeEncoding',\n default: 'application/octet-stream; version=1.6'\n },\n textureEncoding: {\n path: 'textureEncoding',\n default: ['image/jpeg', 'image/ktx2']\n },\n lodType: {\n path: 'lodType',\n default: 'MeshPyramid'\n },\n lodModel: {\n path: 'lodModel',\n default: 'node-switching'\n },\n defaultGeometrySchema: {\n path: 'defaultGeometrySchema',\n default: {\n geometryType: 'triangles',\n header: [\n {\n property: 'vertexCount',\n type: 'UInt32'\n },\n {\n property: 'featureCount',\n type: 'UInt32'\n }\n ],\n topology: 'PerAttributeArray',\n ordering: ['position', 'normal', 'uv0', 'color'],\n vertexAttributes: {\n position: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n normal: {\n valueType: 'Float32',\n valuesPerElement: 3\n },\n uv0: {\n valueType: 'Float32',\n valuesPerElement: 2\n },\n color: {\n valueType: 'UInt8',\n valuesPerElement: 4\n }\n },\n featureAttributeOrder: ['id', 'faceRange'],\n featureAttributes: {\n id: {\n valueType: 'UInt64',\n valuesPerElement: 1\n },\n faceRange: {\n valueType: 'UInt32',\n valuesPerElement: 2\n }\n }\n }\n }\n};\n"],"mappings":"AAAA,OAAO,MAAMA,KAAK,GAAG;EACnBC,EAAE,EAAE;IACFC,IAAI,EAAE,IAAI;IACVC,SAAS,EAAGC,GAAG,IAAKA,GAAG,CAACC,WAAW,CAAC;EACtC,CAAC;EACDC,OAAO,EAAE;IACPJ,IAAI,EAAE,SAAS;IACfK,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAE;IACPN,IAAI,EAAE,SAAS;IACfK,OAAO,EAAE;EACX,CAAC;EACDE,eAAe,EAAE;IACfP,IAAI,EAAE,iBAAiB;IACvBK,OAAO,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU;EAC7E,CAAC;EACDG,QAAQ,EAAE;IACRR,IAAI,EAAE,UAAU;IAChBK,OAAO,EAAE;EACX,CAAC;EACDI,MAAM,EAAE;IACNT,IAAI,EAAE;EACR,CAAC;EACDU,QAAQ,EAAE;IACRV,IAAI,EAAE,UAAU;IAChBK,OAAO,EAAE;EACX,CAAC;EACDM,SAAS,EAAE;IACTX,IAAI,EAAE,WAAW;IACjBK,OAAO,EAAE;EACX,CAAC;EACDO,oBAAoB,EAAE;IACpBZ,IAAI,EAAE,sBAAsB;IAC5BK,OAAO,EAAE;EACX,CAAC;EACDQ,iBAAiB,EAAE;IACjBb,IAAI,EAAE,mBAAmB;IACzBK,OAAO,EAAE;EACX,CAAC;EACDS,eAAe,EAAE;IACfd,IAAI,EAAE,iBAAiB;IACvBK,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY;EACtC,CAAC;EACDU,OAAO,EAAE;IACPf,IAAI,EAAE,SAAS;IACfK,OAAO,EAAE;EACX,CAAC;EACDW,QAAQ,EAAE;IACRhB,IAAI,EAAE,UAAU;IAChBK,OAAO,EAAE;EACX,CAAC;EACDY,qBAAqB,EAAE;IACrBjB,IAAI,EAAE,uBAAuB;IAC7BK,OAAO,EAAE;MACPa,YAAY,EAAE,WAAW;MACzBC,MAAM,EAAE,CACN;QACEC,QAAQ,EAAE,aAAa;QACvBC,IAAI,EAAE;MACR,CAAC,EACD;QACED,QAAQ,EAAE,cAAc;QACxBC,IAAI,EAAE;MACR,CAAC,CACF;MACDC,QAAQ,EAAE,mBAAmB;MAC7BC,QAAQ,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;MAChDC,gBAAgB,EAAE;QAChBC,QAAQ,EAAE;UACRC,SAAS,EAAE,SAAS;UACpBC,gBAAgB,EAAE;QACpB,CAAC;QACDC,MAAM,EAAE;UACNF,SAAS,EAAE,SAAS;UACpBC,gBAAgB,EAAE;QACpB,CAAC;QACDE,GAAG,EAAE;UACHH,SAAS,EAAE,SAAS;UACpBC,gBAAgB,EAAE;QACpB,CAAC;QACDG,KAAK,EAAE;UACLJ,SAAS,EAAE,OAAO;UAClBC,gBAAgB,EAAE;QACpB;MACF,CAAC;MACDI,qBAAqB,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;MAC1CC,iBAAiB,EAAE;QACjBjC,EAAE,EAAE;UACF2B,SAAS,EAAE,QAAQ;UACnBC,gBAAgB,EAAE;QACpB,CAAC;QACDM,SAAS,EAAE;UACTP,SAAS,EAAE,QAAQ;UACnBC,gBAAgB,EAAE;QACpB;MACF;IACF;EACF;AACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/i3s-converter/types.ts"],"sourcesContent":["import {GLTFImagePostprocessed} from '@loaders.gl/gltf';\nimport {\n BoundingVolumes,\n I3SMaterialDefinition,\n MaterialDefinitionInfo,\n TextureDefinitionInfo\n} from '@loaders.gl/i3s';\n\n/** Converted resources for specific node */\nexport type I3SConvertedResources = {\n /**\n * Node id\n */\n nodeId?: number;\n /** Non-compressed geometry buffer that have structure met\n * https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md\n * (Geometry buffer)\n */\n geometry: ArrayBuffer | null;\n /**\n * Draco compressed geometry\n */\n compressedGeometry?: Promise<ArrayBuffer> | null;\n /**\n * Texture image content\n */\n texture: any | null;\n /**\n * If the resource has uvRegions geometry attribute\n */\n hasUvRegions: boolean;\n /**\n * Shared resources built from GLTF material\n */\n sharedResources: SharedResourcesArrays | null;\n /**\n * Material definition of the node\n */\n meshMaterial?: I3SMaterialDefinition | null;\n /**\n * Number of vertices in the node\n */\n vertexCount: number | null;\n /**\n * Feature attributes contents\n */\n attributes: ArrayBuffer[] | null;\n /**\n * Number of features in the node\n */\n featureCount: number | null;\n /**\n * MBS and/or OBB bounding volumes of the node\n */\n boundingVolumes: BoundingVolumes | null;\n};\n\n/**\n * Geometry and feature attributes converted from GLTF primitives\n */\nexport type ConvertedAttributes = {\n /** POSITION attribute value */\n positions: Float32Array;\n /** NORMAL attribute value */\n normals: Float32Array;\n /** TEXCOORD_0 attribute value */\n texCoords: Float32Array;\n /** COLOR_0 attribute value */\n colors: Uint8Array;\n /** uvRegion attribute for a texture atlas */\n uvRegions: Uint16Array;\n /** Feature indices grouped by ...\n * converted from \"batch ids\" of GLTF\n */\n featureIndicesGroups?: number[][];\n /** Feature indices converted from \"batch ids\" */\n featureIndices: number[];\n /**\n * MBS and/or OBB bounding volumes of the node\n */\n boundingVolumes: null | BoundingVolumes;\n /** merged materials data */\n mergedMaterials: MergedMaterial[];\n};\n\n/** Postprocessed geometry and feature attributes\n * https://github.com/Esri/i3s-spec/blob/master/docs/1.8/defaultGeometrySchema.cmn.md\n */\nexport type GeometryAttributes = {\n /** POSITION attribute value */\n positions: Float32Array;\n /** NORMAL attribute value */\n normals: Float32Array;\n /** TEXCOORD_0 attribute value */\n texCoords: Float32Array;\n /** COLOR_0 attribute value */\n colors: Uint8Array;\n /** uvRegion attribute for a texture atlas */\n uvRegions: Uint16Array;\n /** faceRanges attribute value */\n faceRange: Uint32Array;\n /** feature Ids attribute value */\n featureIds: number[];\n /** number of features in the node */\n featureCount: number;\n};\n\n/** Geometry attributes specific for the particular feature */\nexport type GroupedByFeatureIdAttributes = {\n /** Feature Id */\n featureId: number;\n /** POSITION attribute value */\n positions: Float32Array;\n /** NORMAL attribute value */\n normals: Float32Array;\n /** COLOR_0 attribute value */\n colors: Uint8Array;\n /** uvRegion attribute for a texture atlas */\n uvRegions: Uint16Array;\n /** TEXCOORD_0 attribute value */\n texCoords: Float32Array;\n};\n\n/** Shared resources made from GLTF material */\nexport type SharedResourcesArrays = {\n /** material definitions list https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitionInfo.cmn.md */\n materialDefinitionInfos?: MaterialDefinitionInfo[];\n /** texture definitions list https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureDefinitionInfo.cmn.md*/\n textureDefinitionInfos?: TextureDefinitionInfo[];\n /** node id to make unique SharedResource ids */\n nodePath?: string;\n};\n\n/** I3S material definition and texture content taken from GLTF material */\nexport type I3SMaterialWithTexture = {\n /** Material definition https://github.com/Esri/i3s-spec/blob/master/docs/1.8/materialDefinitions.cmn.md */\n material: I3SMaterialDefinition;\n /** Texture content (image) */\n texture?: GLTFImagePostprocessed;\n /** Metadata of all merged materials */\n mergedMaterials: MergedMaterial[];\n};\n\n/** Metadata of some original texture */\nexport type MergedMaterial = {\n /** Gltf material Id */\n originalMaterialId: string;\n /** Original texture size */\n textureSize?: {\n width: number;\n height: number;\n };\n /** Uint16Array of 4 elements https://github.com/Esri/i3s-spec/blob/master/docs/1.7/geometryUVRegion.cmn.md */\n uvRegion?: Uint16Array;\n};\n\nexport type TypedArrayConstructor =\n | Uint8ArrayConstructor\n | Int8ArrayConstructor\n | Uint16ArrayConstructor\n | Int16ArrayConstructor\n | Int32ArrayConstructor\n | Uint32ArrayConstructor\n | Float32ArrayConstructor\n | Float64ArrayConstructor;\n"],"mappings":""}
@@ -0,0 +1,16 @@
1
+ const express = require('express');
2
+ const path = require('path');
3
+ const logger = require('morgan');
4
+ const cors = require('cors');
5
+ const indexRouter = require('./routes/index');
6
+ const app = express();
7
+ app.use(logger('dev'));
8
+ app.use(express.json());
9
+ app.use(express.urlencoded({
10
+ extended: false
11
+ }));
12
+ app.use(express.static(path.join(__dirname, 'public')));
13
+ app.use(cors());
14
+ app.use('/', indexRouter);
15
+ module.exports = app;
16
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","names":["express","require","path","logger","cors","indexRouter","app","use","json","urlencoded","extended","static","join","__dirname","module","exports"],"sources":["../../../src/i3s-server/app.js"],"sourcesContent":["const express = require('express');\nconst path = require('path');\nconst logger = require('morgan');\nconst cors = require('cors');\n\nconst indexRouter = require('./routes/index');\n\nconst app = express();\n\napp.use(logger('dev'));\napp.use(express.json());\napp.use(express.urlencoded({extended: false}));\napp.use(express.static(path.join(__dirname, 'public')));\napp.use(cors());\n\napp.use('/', indexRouter);\n\nmodule.exports = app;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAGC,OAAO,CAAC,SAAS,CAAC;AAClC,MAAMC,IAAI,GAAGD,OAAO,CAAC,MAAM,CAAC;AAC5B,MAAME,MAAM,GAAGF,OAAO,CAAC,QAAQ,CAAC;AAChC,MAAMG,IAAI,GAAGH,OAAO,CAAC,MAAM,CAAC;AAE5B,MAAMI,WAAW,GAAGJ,OAAO,CAAC,gBAAgB,CAAC;AAE7C,MAAMK,GAAG,GAAGN,OAAO,CAAC,CAAC;AAErBM,GAAG,CAACC,GAAG,CAACJ,MAAM,CAAC,KAAK,CAAC,CAAC;AACtBG,GAAG,CAACC,GAAG,CAACP,OAAO,CAACQ,IAAI,CAAC,CAAC,CAAC;AACvBF,GAAG,CAACC,GAAG,CAACP,OAAO,CAACS,UAAU,CAAC;EAACC,QAAQ,EAAE;AAAK,CAAC,CAAC,CAAC;AAC9CJ,GAAG,CAACC,GAAG,CAACP,OAAO,CAACW,MAAM,CAACT,IAAI,CAACU,IAAI,CAACC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvDP,GAAG,CAACC,GAAG,CAACH,IAAI,CAAC,CAAC,CAAC;AAEfE,GAAG,CAACC,GAAG,CAAC,GAAG,EAAEF,WAAW,CAAC;AAEzBS,MAAM,CAACC,OAAO,GAAGT,GAAG"}
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Module dependencies.
5
+ */
6
+
7
+ const app = require('../app');
8
+ const debug = require('debug')('i3s-server:server');
9
+ const https = require('https');
10
+ const http = require('http');
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+
14
+ /**
15
+ * Get port from environment and store in Express.
16
+ */
17
+
18
+ const httpPort = normalizePort(process.env.PORT || '80'); // eslint-disable-line no-process-env, no-undef
19
+ const httpsPort = normalizePort(process.env.HTTPS_PORT || '443'); // eslint-disable-line no-process-env, no-undef
20
+
21
+ /**
22
+ * Create HTTP server.
23
+ */
24
+
25
+ const options = {
26
+ key: fs.readFileSync(path.join(__dirname, '../certs/key.pem')),
27
+ cert: fs.readFileSync(path.join(__dirname, '../certs/cert.pem'))
28
+ };
29
+
30
+ const httpServer = http.createServer(app);
31
+ const httpsServer = https.createServer(options, app);
32
+
33
+ /**
34
+ * Listen on provided port, on all network interfaces.
35
+ */
36
+
37
+ httpServer.listen(httpPort);
38
+ httpServer.on('error', formErrorHandler(httpPort));
39
+ httpServer.on('listening', formListeningHandler(httpServer));
40
+
41
+ httpsServer.listen(httpsPort);
42
+ httpsServer.on('error', formErrorHandler(httpsPort));
43
+ httpsServer.on('listening', formListeningHandler(httpsServer));
44
+
45
+ /**
46
+ * Normalize a port into a number, string, or false.
47
+ */
48
+
49
+ function normalizePort(val) {
50
+ const chkPort = parseInt(val, 10);
51
+
52
+ if (isNaN(chkPort)) {
53
+ // named pipe
54
+ return val;
55
+ }
56
+
57
+ if (chkPort >= 0) {
58
+ // port number
59
+ return chkPort;
60
+ }
61
+
62
+ return false;
63
+ }
64
+
65
+ /**
66
+ * Event listener for HTTP/HTTPS server "error" event.
67
+ */
68
+
69
+ function formErrorHandler(optionalPort) {
70
+ return function onError(error) {
71
+ if (error.syscall !== 'listen') {
72
+ throw error;
73
+ }
74
+
75
+ const bind = typeof port === 'string' ? `Pipe ${optionalPort}`: `Port ${optionalPort}`;
76
+
77
+ // handle specific listen errors with friendly messages
78
+ switch (error.code) {
79
+ case 'EACCES':
80
+ console.error(`${bind} requires elevated privileges`);// eslint-disable-line no-console, no-undef
81
+ process.exit(1);// eslint-disable-line no-process-exit, no-undef
82
+ break;
83
+ case 'EADDRINUSE':
84
+ console.error(`${bind} is already in use`);// eslint-disable-line no-console, no-undef
85
+ process.exit(1);// eslint-disable-line no-process-exit, no-undef
86
+ break;
87
+ default:
88
+ throw error;
89
+ }
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Event listener for HTTP/HTTPS server "listening" event.
95
+ */
96
+ function formListeningHandler(optionalServer) {
97
+ return function onListening() {
98
+ const addr = optionalServer.address();
99
+ const bind = typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`;
100
+ debug(`Listening on ${bind}`);
101
+ }
102
+ }
@@ -0,0 +1,19 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDETCCAfkCFGRwpPyg0eenFihajAR2W9s89/L6MA0GCSqGSIb3DQEBCwUAMEUx
3
+ CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
4
+ cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjAwODEwMDkwMjQ2WhcNNDcxMjI2MDkw
5
+ MjQ2WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE
6
+ CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOC
7
+ AQ8AMIIBCgKCAQEA6frLVw16PaWLku7spGHwY23DtkF8CNmSQq7ii6/zkQ/tSvSG
8
+ 5AcDu0wW/2MRgDZW+jWz86VZ9jgfdVXQ+hhz72A7Hmy9x4tPWEyXL8iV5TmUi0rs
9
+ 0m4L+JrAQAGLDWPzx83Ok+6aZCMJPm33dygWgqNd+q0ElUN6I5bEQLvrd/5ZgVps
10
+ FXvfvtK/CTz+CZtjtCbxl4r/p4IohD6ER9dbtPjdX0M3CMkLz0zOJhTf9n0lktJt
11
+ zAGOdaPSuLb8w3z4c1EF66sE+FPDNnfphro06XxUZrw1k0x2Wc0selhiDgZ8MO3i
12
+ gpx3aeiB9V/CGezVqL+jM8owEB23Bku8pStfiwIDAQABMA0GCSqGSIb3DQEBCwUA
13
+ A4IBAQCqynXAOU3mT+C+p143MUMCURQfSB3inlFaFpQLdFdlIPCxlttC0DfBkAZr
14
+ SvX/BbYTDAIsFk4t8rS3WqOvsbmuTzXDrtTTGRuid2+SR2+Zz+xO7y2L7BWj4rz/
15
+ ImSuJT8fkpU+JiXGG4xvPcPTJnNM0rT0Oo2+YATZaev1M81hd8gntH0+hUktccp6
16
+ NLjSTQMZOxzwKCzJCO+oNwy/862tmlJEeGePOk0bkmcMSrOEsrxUBZEfy0s5Uj9r
17
+ Jog5/cUelB8PzXsF9KPCAEc7KedVABfTdULOFJckq5tNqw5lQb5E3E/mvNVADqp9
18
+ oOqoAWG4G4vcJS95XSUpPjOYlvFn
19
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEpQIBAAKCAQEA6frLVw16PaWLku7spGHwY23DtkF8CNmSQq7ii6/zkQ/tSvSG
3
+ 5AcDu0wW/2MRgDZW+jWz86VZ9jgfdVXQ+hhz72A7Hmy9x4tPWEyXL8iV5TmUi0rs
4
+ 0m4L+JrAQAGLDWPzx83Ok+6aZCMJPm33dygWgqNd+q0ElUN6I5bEQLvrd/5ZgVps
5
+ FXvfvtK/CTz+CZtjtCbxl4r/p4IohD6ER9dbtPjdX0M3CMkLz0zOJhTf9n0lktJt
6
+ zAGOdaPSuLb8w3z4c1EF66sE+FPDNnfphro06XxUZrw1k0x2Wc0selhiDgZ8MO3i
7
+ gpx3aeiB9V/CGezVqL+jM8owEB23Bku8pStfiwIDAQABAoIBAQDSQ0wkCLqHV5Mc
8
+ EZWbC2BJGcS8rhBWq56iSiLPwOiyvYtSxnfJxvv1fqVUD6UUgMCczVHPbBJyD3FF
9
+ sj6/4OWege3eo33QKkK9aOacTDdX7OyuWECFwdsEJ50IZ9qbx+y06x/vFIat4kZW
10
+ UeAGtoG0GDdGI+FweVjzTnNCcR1jj/i0+FigdUrdPEFffV3+QKLqPl2gqIcx0NWu
11
+ mYnA3rZP4WfKp9kPeTM3py8fQSp56JDc2+/UsZi2ttq3PAXOvKPS8pIJMGwx3zvY
12
+ Z9bCMOZz9X6o/deBeSUTIRpkRdpOZo83wp0Mio5wKMTj10+u1YygE0n/O7Xnxi5i
13
+ nRo3Yk9hAoGBAPvVekevtrmwCo7WB6VWwEK493/Rs5ZIJ+GpS5XZwV0J+KSE9+t0
14
+ CTquZMnpGfAqq6Cftmfy+TOepGiYMldQrYrCZKLwU+cqH/XnCOwwQzLOYhNwWiuk
15
+ 6XTYPnSedGpwkMG+F4uPjEfx034tn6nSaEUqDAb3JuRP67NduCi2VoQpAoGBAO3Z
16
+ tBxlXKMn+JvhQDCLbYYTN6++tA4xUeptcqxiEcGBitn2Q1DVvcwHx7Uz8kL9Nfqj
17
+ IABirj+XwPZaqpSfgr+ltzQmhy1f2TUWUW0lVIkNetzlq/VLrL4T04euiy+TF+Zt
18
+ lBCfPcvhhXYz3OhOumf5y2DU0gKhmi4dUPAb4RyTAoGBAJnpkQB7HdxDAVDm8mlU
19
+ qdCdp3ZRPccddnJuu6lsGse4LmSud69JjdJ1f1f/xUCJc7eJpTvGvhOUY7shObMv
20
+ tcDWqhcDduQTVNE/UK65mHhWto5W3mVKNvyYpSM1LMVY4r/mZBGBvCTEYZP+YlSy
21
+ KdQLrKodJ4HmbpGDN+h5+EpxAoGANj8Xv/4yMZf1MIAgJrI2CYUqhy+kWzRObXwG
22
+ 0mAPkqWb6HgtBCurfPQtTRuK3lJn1EEOFGhtO12+CbHGA92ZcWI3NXKwE94vaNct
23
+ PQptjFCBvA25uVlIDZXyAZkCb5hJtCk7wsq+ylgmGz5a3LTP+NTU2MHRH/6BbpEL
24
+ G6gQIHcCgYEAyLlYgrVBEbfb25eli8UTFKR/30n/BPLKef+WziKq2AunL5nJkQYX
25
+ 9z+N6hVLq61+A1Xzp/LtWbfUH163jlT+hgPSthfAfzp7OXAYts9d9hd2r+GFVCR2
26
+ t1RAIqOUW5z+OHzuUO+DGiSuV9yG5vCfVZK7dn5aoAeQwixw01u+iww=
27
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,24 @@
1
+ const path = require('path');
2
+ const fs = require('fs');
3
+ const {
4
+ promises
5
+ } = fs;
6
+ const I3S_LAYER_PATH = process.env.I3sLayerPath || '';
7
+ const FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH);
8
+ async function getFileNameByUrl(url) {
9
+ const extensions = ['json', 'bin', 'jpg', 'jpeg', 'png', 'bin.dds', 'ktx2'];
10
+ for (const ext of extensions) {
11
+ const fileName = "".concat(FULL_LAYER_PATH).concat(url, "/index.").concat(ext);
12
+ try {
13
+ await promises.access(fileName);
14
+ return fileName;
15
+ } catch {
16
+ continue;
17
+ }
18
+ }
19
+ return null;
20
+ }
21
+ module.exports = {
22
+ getFileNameByUrl
23
+ };
24
+ //# sourceMappingURL=index-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-controller.js","names":["path","require","fs","promises","I3S_LAYER_PATH","process","env","I3sLayerPath","FULL_LAYER_PATH","join","cwd","getFileNameByUrl","url","extensions","ext","fileName","concat","access","module","exports"],"sources":["../../../../src/i3s-server/controllers/index-controller.js"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\n\nconst {promises} = fs;\n\nconst I3S_LAYER_PATH = process.env.I3sLayerPath || ''; // eslint-disable-line no-process-env, no-undef\nconst FULL_LAYER_PATH = path.join(process.cwd(), I3S_LAYER_PATH); // eslint-disable-line no-undef\n\nasync function getFileNameByUrl(url) {\n const extensions = ['json', 'bin', 'jpg', 'jpeg', 'png', 'bin.dds', 'ktx2'];\n for (const ext of extensions) {\n const fileName = `${FULL_LAYER_PATH}${url}/index.${ext}`;\n try {\n await promises.access(fileName);\n return fileName;\n } catch {\n continue; // eslint-disable-line no-continue\n }\n }\n return null;\n}\n\nmodule.exports = {\n getFileNameByUrl\n};\n"],"mappings":"AAAA,MAAMA,IAAI,GAAGC,OAAO,CAAC,MAAM,CAAC;AAC5B,MAAMC,EAAE,GAAGD,OAAO,CAAC,IAAI,CAAC;AAExB,MAAM;EAACE;AAAQ,CAAC,GAAGD,EAAE;AAErB,MAAME,cAAc,GAAGC,OAAO,CAACC,GAAG,CAACC,YAAY,IAAI,EAAE;AACrD,MAAMC,eAAe,GAAGR,IAAI,CAACS,IAAI,CAACJ,OAAO,CAACK,GAAG,CAAC,CAAC,EAAEN,cAAc,CAAC;AAEhE,eAAeO,gBAAgBA,CAACC,GAAG,EAAE;EACnC,MAAMC,UAAU,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;EAC3E,KAAK,MAAMC,GAAG,IAAID,UAAU,EAAE;IAC5B,MAAME,QAAQ,MAAAC,MAAA,CAAMR,eAAe,EAAAQ,MAAA,CAAGJ,GAAG,aAAAI,MAAA,CAAUF,GAAG,CAAE;IACxD,IAAI;MACF,MAAMX,QAAQ,CAACc,MAAM,CAACF,QAAQ,CAAC;MAC/B,OAAOA,QAAQ;IACjB,CAAC,CAAC,MAAM;MACN;IACF;EACF;EACA,OAAO,IAAI;AACb;AAEAG,MAAM,CAACC,OAAO,GAAG;EACfR;AACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ const express = require('express');
2
+ const router = express.Router();
3
+ const {
4
+ getFileNameByUrl
5
+ } = require('../controllers/index-controller');
6
+ router.get('*', async function (req, res, next) {
7
+ const fileName = await getFileNameByUrl(req.path);
8
+ if (fileName) {
9
+ res.sendFile(fileName);
10
+ } else {
11
+ res.status(404);
12
+ res.send('File not found');
13
+ }
14
+ });
15
+ module.exports = router;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["express","require","router","Router","getFileNameByUrl","get","req","res","next","fileName","path","sendFile","status","send","module","exports"],"sources":["../../../../src/i3s-server/routes/index.js"],"sourcesContent":["const express = require('express');\nconst router = express.Router();\nconst {getFileNameByUrl} = require('../controllers/index-controller');\n\n/* GET home page. */\nrouter.get('*', async function (req, res, next) {\n const fileName = await getFileNameByUrl(req.path);\n if (fileName) {\n res.sendFile(fileName);\n } else {\n res.status(404);\n res.send('File not found');\n }\n});\n\nmodule.exports = router;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAGC,OAAO,CAAC,SAAS,CAAC;AAClC,MAAMC,MAAM,GAAGF,OAAO,CAACG,MAAM,CAAC,CAAC;AAC/B,MAAM;EAACC;AAAgB,CAAC,GAAGH,OAAO,CAAC,iCAAiC,CAAC;AAGrEC,MAAM,CAACG,GAAG,CAAC,GAAG,EAAE,gBAAgBC,GAAG,EAAEC,GAAG,EAAEC,IAAI,EAAE;EAC9C,MAAMC,QAAQ,GAAG,MAAML,gBAAgB,CAACE,GAAG,CAACI,IAAI,CAAC;EACjD,IAAID,QAAQ,EAAE;IACZF,GAAG,CAACI,QAAQ,CAACF,QAAQ,CAAC;EACxB,CAAC,MAAM;IACLF,GAAG,CAACK,MAAM,CAAC,GAAG,CAAC;IACfL,GAAG,CAACM,IAAI,CAAC,gBAAgB,CAAC;EAC5B;AACF,CAAC,CAAC;AAEFC,MAAM,CAACC,OAAO,GAAGb,MAAM"}
@@ -0,0 +1,3 @@
1
+ export { default as I3SConverter } from './i3s-converter/i3s-converter';
2
+ export { default as Tiles3DConverter } from './3d-tiles-converter/3d-tiles-converter';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","I3SConverter","Tiles3DConverter"],"sources":["../../src/index.ts"],"sourcesContent":["export {default as I3SConverter} from './i3s-converter/i3s-converter';\nexport {default as Tiles3DConverter} from './3d-tiles-converter/3d-tiles-converter';\n"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,YAAY,QAAO,+BAA+B;AACrE,SAAQD,OAAO,IAAIE,gBAAgB,QAAO,yCAAyC"}