@loaders.gl/3d-tiles 4.0.0-alpha.1 → 4.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/cesium-ion-loader.d.ts +6 -0
  5. package/dist/cesium-ion-loader.d.ts.map +1 -0
  6. package/dist/cesium-ion-loader.js +37 -32
  7. package/dist/dist.min.js +14805 -0
  8. package/dist/es5/bundle.js +6 -0
  9. package/dist/es5/bundle.js.map +1 -0
  10. package/dist/es5/cesium-ion-loader.js +77 -0
  11. package/dist/es5/cesium-ion-loader.js.map +1 -0
  12. package/dist/es5/index.js +63 -0
  13. package/dist/es5/index.js.map +1 -0
  14. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +114 -0
  15. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
  16. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +180 -0
  17. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
  18. package/dist/es5/lib/classes/tile-3d-batch-table.js +285 -0
  19. package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -0
  20. package/dist/es5/lib/classes/tile-3d-feature-table.js +97 -0
  21. package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -0
  22. package/dist/es5/lib/constants.js +32 -0
  23. package/dist/es5/lib/constants.js.map +1 -0
  24. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +49 -0
  25. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
  26. package/dist/es5/lib/encoders/encode-3d-tile-composite.js +30 -0
  27. package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -0
  28. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +47 -0
  29. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
  30. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +48 -0
  31. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
  32. package/dist/es5/lib/encoders/encode-3d-tile.js +35 -0
  33. package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -0
  34. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +35 -0
  35. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
  36. package/dist/es5/lib/ion/ion.js +170 -0
  37. package/dist/es5/lib/ion/ion.js.map +1 -0
  38. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +65 -0
  39. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
  40. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +32 -0
  41. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
  42. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +32 -0
  43. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
  44. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +280 -0
  45. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
  46. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +110 -0
  47. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
  48. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +22 -0
  49. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
  50. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +145 -0
  51. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  52. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +85 -0
  53. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
  54. package/dist/es5/lib/parsers/helpers/parse-utils.js +28 -0
  55. package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -0
  56. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +51 -0
  57. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
  58. package/dist/es5/lib/parsers/parse-3d-tile-composite.js +48 -0
  59. package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -0
  60. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +52 -0
  61. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
  62. package/dist/es5/lib/parsers/parse-3d-tile-header.js +289 -0
  63. package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -0
  64. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +163 -0
  65. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -0
  66. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +295 -0
  67. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
  68. package/dist/es5/lib/parsers/parse-3d-tile.js +74 -0
  69. package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -0
  70. package/dist/es5/lib/utils/obb/s2-corners-to-obb.js +30 -0
  71. package/dist/es5/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
  72. package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js +44 -0
  73. package/dist/es5/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
  74. package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js +30 -0
  75. package/dist/es5/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
  76. package/dist/es5/lib/utils/s2/converters/s2-to-region.js +52 -0
  77. package/dist/es5/lib/utils/s2/converters/s2-to-region.js.map +1 -0
  78. package/dist/es5/lib/utils/s2/index.js +90 -0
  79. package/dist/es5/lib/utils/s2/index.js.map +1 -0
  80. package/dist/es5/lib/utils/s2/s2-geometry-functions.js +19 -0
  81. package/dist/es5/lib/utils/s2/s2-geometry-functions.js.map +1 -0
  82. package/dist/es5/lib/utils/s2/s2-token-functions.js +41 -0
  83. package/dist/es5/lib/utils/s2/s2-token-functions.js.map +1 -0
  84. package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js +22 -0
  85. package/dist/es5/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
  86. package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js +207 -0
  87. package/dist/es5/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
  88. package/dist/es5/lib/utils/version.js +9 -0
  89. package/dist/es5/lib/utils/version.js.map +1 -0
  90. package/dist/es5/tile-3d-subtree-loader.js +22 -0
  91. package/dist/es5/tile-3d-subtree-loader.js.map +1 -0
  92. package/dist/es5/tile-3d-writer.js +26 -0
  93. package/dist/es5/tile-3d-writer.js.map +1 -0
  94. package/dist/es5/tiles-3d-loader.js +133 -0
  95. package/dist/es5/tiles-3d-loader.js.map +1 -0
  96. package/dist/es5/types.js +2 -0
  97. package/dist/es5/types.js.map +1 -0
  98. package/dist/esm/bundle.js +4 -0
  99. package/dist/esm/bundle.js.map +1 -0
  100. package/dist/esm/cesium-ion-loader.js +36 -0
  101. package/dist/esm/cesium-ion-loader.js.map +1 -0
  102. package/dist/esm/index.js +9 -0
  103. package/dist/esm/index.js.map +1 -0
  104. package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +96 -0
  105. package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
  106. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +171 -0
  107. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
  108. package/dist/esm/lib/classes/tile-3d-batch-table.js +231 -0
  109. package/dist/esm/lib/classes/tile-3d-batch-table.js.map +1 -0
  110. package/dist/esm/lib/classes/tile-3d-feature-table.js +70 -0
  111. package/dist/esm/lib/classes/tile-3d-feature-table.js.map +1 -0
  112. package/dist/esm/lib/constants.js +22 -0
  113. package/dist/esm/lib/constants.js.map +1 -0
  114. package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +40 -0
  115. package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
  116. package/dist/esm/lib/encoders/encode-3d-tile-composite.js +21 -0
  117. package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +1 -0
  118. package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +36 -0
  119. package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
  120. package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +39 -0
  121. package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
  122. package/dist/esm/lib/encoders/encode-3d-tile.js +29 -0
  123. package/dist/esm/lib/encoders/encode-3d-tile.js.map +1 -0
  124. package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +28 -0
  125. package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
  126. package/dist/esm/lib/ion/ion.js +70 -0
  127. package/dist/esm/lib/ion/ion.js.map +1 -0
  128. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +58 -0
  129. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
  130. package/{src → dist/esm}/lib/parsers/helpers/normalize-3d-tile-normals.js +5 -10
  131. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
  132. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +26 -0
  133. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
  134. package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +241 -0
  135. package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
  136. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +67 -0
  137. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
  138. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +16 -0
  139. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
  140. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +67 -0
  141. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  142. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +80 -0
  143. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
  144. package/dist/esm/lib/parsers/helpers/parse-utils.js +20 -0
  145. package/dist/esm/lib/parsers/helpers/parse-utils.js.map +1 -0
  146. package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +25 -0
  147. package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
  148. package/dist/esm/lib/parsers/parse-3d-tile-composite.js +15 -0
  149. package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -0
  150. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +20 -0
  151. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
  152. package/dist/esm/lib/parsers/parse-3d-tile-header.js +181 -0
  153. package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -0
  154. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +138 -0
  155. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -0
  156. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +232 -0
  157. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
  158. package/dist/esm/lib/parsers/parse-3d-tile.js +30 -0
  159. package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -0
  160. package/dist/esm/lib/utils/obb/s2-corners-to-obb.js +23 -0
  161. package/dist/esm/lib/utils/obb/s2-corners-to-obb.js.map +1 -0
  162. package/dist/esm/lib/utils/s2/converters/s2-to-boundary.js +40 -0
  163. package/dist/esm/lib/utils/s2/converters/s2-to-boundary.js.map +1 -0
  164. package/dist/esm/lib/utils/s2/converters/s2-to-obb-points.js +24 -0
  165. package/dist/esm/lib/utils/s2/converters/s2-to-obb-points.js.map +1 -0
  166. package/dist/esm/lib/utils/s2/converters/s2-to-region.js +42 -0
  167. package/dist/esm/lib/utils/s2/converters/s2-to-region.js.map +1 -0
  168. package/dist/esm/lib/utils/s2/index.js +7 -0
  169. package/dist/esm/lib/utils/s2/index.js.map +1 -0
  170. package/dist/esm/lib/utils/s2/s2-geometry-functions.js +12 -0
  171. package/dist/esm/lib/utils/s2/s2-geometry-functions.js.map +1 -0
  172. package/dist/esm/lib/utils/s2/s2-token-functions.js +32 -0
  173. package/dist/esm/lib/utils/s2/s2-token-functions.js.map +1 -0
  174. package/dist/esm/lib/utils/s2/s2geometry/s2-cell-utils.js +15 -0
  175. package/dist/esm/lib/utils/s2/s2geometry/s2-cell-utils.js.map +1 -0
  176. package/dist/esm/lib/utils/s2/s2geometry/s2-geometry.js +186 -0
  177. package/dist/esm/lib/utils/s2/s2geometry/s2-geometry.js.map +1 -0
  178. package/dist/esm/lib/utils/version.js +2 -0
  179. package/dist/esm/lib/utils/version.js.map +1 -0
  180. package/dist/esm/tile-3d-subtree-loader.js +14 -0
  181. package/dist/esm/tile-3d-subtree-loader.js.map +1 -0
  182. package/dist/esm/tile-3d-writer.js +19 -0
  183. package/dist/esm/tile-3d-writer.js.map +1 -0
  184. package/dist/esm/tiles-3d-loader.js +68 -0
  185. package/dist/esm/tiles-3d-loader.js.map +1 -0
  186. package/dist/esm/types.js +2 -0
  187. package/dist/esm/types.js.map +1 -0
  188. package/dist/index.d.ts +11 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +26 -8
  191. package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +8 -0
  192. package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -0
  193. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +106 -89
  194. package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts +10 -0
  195. package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -0
  196. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +184 -202
  197. package/dist/lib/classes/tile-3d-batch-table.d.ts +34 -0
  198. package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -0
  199. package/dist/lib/classes/tile-3d-batch-table.js +223 -267
  200. package/dist/lib/classes/tile-3d-feature-table.d.ts +15 -0
  201. package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -0
  202. package/dist/lib/classes/tile-3d-feature-table.js +64 -79
  203. package/dist/lib/constants.d.ts +22 -0
  204. package/dist/lib/constants.d.ts.map +1 -0
  205. package/dist/lib/constants.js +23 -18
  206. package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts +2 -0
  207. package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -0
  208. package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
  209. package/dist/lib/encoders/encode-3d-tile-composite.d.ts +2 -0
  210. package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -0
  211. package/dist/lib/encoders/encode-3d-tile-composite.js +23 -24
  212. package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts +2 -0
  213. package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -0
  214. package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
  215. package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts +2 -0
  216. package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -0
  217. package/dist/lib/encoders/encode-3d-tile-point-cloud.js +36 -38
  218. package/dist/lib/encoders/encode-3d-tile.d.ts +2 -0
  219. package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -0
  220. package/dist/lib/encoders/encode-3d-tile.js +30 -32
  221. package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts +3 -0
  222. package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -0
  223. package/dist/lib/encoders/helpers/encode-3d-tile-header.js +28 -29
  224. package/dist/lib/ion/ion.d.ts +4 -0
  225. package/dist/lib/ion/ion.d.ts.map +1 -0
  226. package/dist/lib/ion/ion.js +60 -69
  227. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts +9 -0
  228. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -0
  229. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +60 -62
  230. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts +7 -0
  231. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -0
  232. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
  233. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts +2 -0
  234. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -0
  235. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +39 -28
  236. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +57 -0
  237. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -0
  238. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +266 -0
  239. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts +10 -0
  240. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -0
  241. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +90 -63
  242. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +3 -0
  243. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -0
  244. package/dist/lib/parsers/helpers/parse-3d-tile-header.js +26 -15
  245. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +10 -0
  246. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -0
  247. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +104 -0
  248. package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts +5 -0
  249. package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -0
  250. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +85 -81
  251. package/dist/lib/parsers/helpers/parse-utils.d.ts +4 -0
  252. package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -0
  253. package/dist/lib/parsers/helpers/parse-utils.js +29 -16
  254. package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts +5 -0
  255. package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -0
  256. package/dist/lib/parsers/parse-3d-tile-batched-model.js +30 -26
  257. package/dist/lib/parsers/parse-3d-tile-composite.d.ts +8 -0
  258. package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -0
  259. package/dist/lib/parsers/parse-3d-tile-composite.js +23 -16
  260. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +5 -0
  261. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts.map +1 -0
  262. package/dist/lib/parsers/parse-3d-tile-gltf.js +28 -0
  263. package/dist/lib/parsers/parse-3d-tile-header.d.ts +20 -0
  264. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -0
  265. package/dist/lib/parsers/parse-3d-tile-header.js +186 -71
  266. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +5 -0
  267. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -0
  268. package/dist/lib/parsers/parse-3d-tile-instanced-model.js +165 -170
  269. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +6 -0
  270. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -0
  271. package/dist/lib/parsers/parse-3d-tile-point-cloud.js +372 -184
  272. package/dist/lib/parsers/parse-3d-tile.d.ts +5 -0
  273. package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
  274. package/dist/lib/parsers/parse-3d-tile.js +32 -27
  275. package/dist/lib/utils/obb/s2-corners-to-obb.d.ts +15 -0
  276. package/dist/lib/utils/obb/s2-corners-to-obb.d.ts.map +1 -0
  277. package/dist/lib/utils/obb/s2-corners-to-obb.js +37 -0
  278. package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts +9 -0
  279. package/dist/lib/utils/s2/converters/s2-to-boundary.d.ts.map +1 -0
  280. package/dist/lib/utils/s2/converters/s2-to-boundary.js +61 -0
  281. package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts +15 -0
  282. package/dist/lib/utils/s2/converters/s2-to-obb-points.d.ts.map +1 -0
  283. package/dist/lib/utils/s2/converters/s2-to-obb-points.js +36 -0
  284. package/dist/lib/utils/s2/converters/s2-to-region.d.ts +13 -0
  285. package/dist/lib/utils/s2/converters/s2-to-region.d.ts.map +1 -0
  286. package/dist/lib/utils/s2/converters/s2-to-region.js +59 -0
  287. package/dist/lib/utils/s2/index.d.ts +8 -0
  288. package/dist/lib/utils/s2/index.d.ts.map +1 -0
  289. package/dist/lib/utils/s2/index.js +23 -0
  290. package/dist/lib/utils/s2/s2-geometry-functions.d.ts +14 -0
  291. package/dist/lib/utils/s2/s2-geometry-functions.d.ts.map +1 -0
  292. package/dist/lib/utils/s2/s2-geometry-functions.js +29 -0
  293. package/dist/lib/utils/s2/s2-token-functions.d.ts +23 -0
  294. package/dist/lib/utils/s2/s2-token-functions.d.ts.map +1 -0
  295. package/dist/lib/utils/s2/s2-token-functions.js +68 -0
  296. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts +14 -0
  297. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.d.ts.map +1 -0
  298. package/dist/lib/utils/s2/s2geometry/s2-cell-utils.js +32 -0
  299. package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts +52 -0
  300. package/dist/lib/utils/s2/s2geometry/s2-geometry.d.ts.map +1 -0
  301. package/dist/lib/utils/s2/s2geometry/s2-geometry.js +260 -0
  302. package/dist/lib/utils/version.d.ts +2 -0
  303. package/dist/lib/utils/version.d.ts.map +1 -0
  304. package/dist/lib/utils/version.js +7 -2
  305. package/dist/tile-3d-subtree-loader.d.ts +7 -0
  306. package/dist/tile-3d-subtree-loader.d.ts.map +1 -0
  307. package/dist/tile-3d-subtree-loader.js +23 -0
  308. package/dist/tile-3d-writer.d.ts +6 -0
  309. package/dist/tile-3d-writer.d.ts.map +1 -0
  310. package/dist/tile-3d-writer.js +24 -17
  311. package/dist/tiles-3d-loader.d.ts +20 -0
  312. package/dist/tiles-3d-loader.d.ts.map +1 -0
  313. package/dist/tiles-3d-loader.js +69 -65
  314. package/dist/types.d.ts +335 -0
  315. package/dist/types.d.ts.map +1 -0
  316. package/dist/types.js +2 -2
  317. package/package.json +14 -13
  318. package/src/cesium-ion-loader.ts +1 -0
  319. package/src/index.ts +13 -1
  320. package/src/lib/classes/{tile-3d-batch-table.js → tile-3d-batch-table.ts} +14 -4
  321. package/src/lib/classes/{tile-3d-feature-table.js → tile-3d-feature-table.ts} +5 -2
  322. package/src/lib/{constants.js → constants.ts} +2 -1
  323. package/src/lib/parsers/helpers/{normalize-3d-tile-colors.js → normalize-3d-tile-colors.ts} +10 -4
  324. package/src/lib/parsers/helpers/normalize-3d-tile-normals.ts +35 -0
  325. package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +396 -0
  326. package/src/lib/parsers/helpers/{parse-3d-tile-gltf-view.js → parse-3d-tile-gltf-view.ts} +40 -16
  327. package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +7 -1
  328. package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +148 -0
  329. package/src/lib/parsers/helpers/{parse-3d-tile-tables.js → parse-3d-tile-tables.ts} +33 -12
  330. package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +18 -3
  331. package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +20 -8
  332. package/src/lib/parsers/parse-3d-tile-gltf.ts +33 -0
  333. package/src/lib/parsers/parse-3d-tile-header.ts +253 -0
  334. package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +41 -30
  335. package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +73 -14
  336. package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +14 -1
  337. package/src/lib/utils/obb/s2-corners-to-obb.ts +51 -0
  338. package/src/lib/utils/s2/converters/s2-to-boundary.ts +67 -0
  339. package/src/lib/utils/s2/converters/s2-to-obb-points.ts +46 -0
  340. package/src/lib/utils/s2/converters/s2-to-region.ts +69 -0
  341. package/src/lib/utils/s2/index.ts +17 -0
  342. package/src/lib/utils/s2/s2-geometry-functions.ts +28 -0
  343. package/src/lib/utils/s2/s2-token-functions.ts +67 -0
  344. package/src/lib/utils/s2/s2geometry/s2-cell-utils.ts +33 -0
  345. package/src/lib/utils/s2/s2geometry/s2-geometry.ts +296 -0
  346. package/src/tile-3d-subtree-loader.ts +19 -0
  347. package/src/tiles-3d-loader.ts +68 -37
  348. package/src/types.ts +321 -13
  349. package/dist/bundle.js.map +0 -1
  350. package/dist/cesium-ion-loader.js.map +0 -1
  351. package/dist/index.js.map +0 -1
  352. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
  353. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
  354. package/dist/lib/classes/tile-3d-batch-table.js.map +0 -1
  355. package/dist/lib/classes/tile-3d-feature-table.js.map +0 -1
  356. package/dist/lib/constants.js.map +0 -1
  357. package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
  358. package/dist/lib/encoders/encode-3d-tile-composite.js.map +0 -1
  359. package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
  360. package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
  361. package/dist/lib/encoders/encode-3d-tile.js.map +0 -1
  362. package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
  363. package/dist/lib/ion/ion.js.map +0 -1
  364. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
  365. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
  366. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
  367. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
  368. package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
  369. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
  370. package/dist/lib/parsers/helpers/parse-utils.js.map +0 -1
  371. package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
  372. package/dist/lib/parsers/parse-3d-tile-composite.js.map +0 -1
  373. package/dist/lib/parsers/parse-3d-tile-header.js.map +0 -1
  374. package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
  375. package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
  376. package/dist/lib/parsers/parse-3d-tile.js.map +0 -1
  377. package/dist/lib/utils/version.js.map +0 -1
  378. package/dist/tile-3d-writer.js.map +0 -1
  379. package/dist/tiles-3d-loader.js.map +0 -1
  380. package/dist/types.js.map +0 -1
  381. package/src/lib/parsers/parse-3d-tile-header.js +0 -69
  382. /package/src/lib/classes/helpers/{tile-3d-accessor-utils.js → tile-3d-accessor-utils.ts} +0 -0
  383. /package/src/lib/classes/{tile-3d-batch-table-hierarchy.js → tile-3d-batch-table-hierarchy.ts} +0 -0
  384. /package/src/lib/encoders/{encode-3d-tile-batched-model.js → encode-3d-tile-batched-model.ts} +0 -0
  385. /package/src/lib/encoders/{encode-3d-tile-composite.js → encode-3d-tile-composite.ts} +0 -0
  386. /package/src/lib/encoders/{encode-3d-tile-instanced-model.js → encode-3d-tile-instanced-model.ts} +0 -0
  387. /package/src/lib/encoders/{encode-3d-tile-point-cloud.js → encode-3d-tile-point-cloud.ts} +0 -0
  388. /package/src/lib/encoders/{encode-3d-tile.js → encode-3d-tile.ts} +0 -0
  389. /package/src/lib/encoders/helpers/{encode-3d-tile-header.js → encode-3d-tile-header.ts} +0 -0
  390. /package/src/lib/ion/{ion.js → ion.ts} +0 -0
  391. /package/src/lib/parsers/helpers/{normalize-3d-tile-positions.js → normalize-3d-tile-positions.ts} +0 -0
  392. /package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
  393. /package/src/lib/utils/{version.js → version.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-tile-subtree.js","names":["SUBTREE_FILE_MAGIC","SUBTREE_FILE_VERSION","parse3DTilesSubtree","_x","_x2","_x3","_parse3DTilesSubtree","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","context","magic","version","jsonByteLength","stringAttribute","textDecoder","string","subtree","binaryByteLength","internalBinaryBuffer","wrap","_callee$","_context","prev","next","Uint32Array","slice","Error","parseUint64Value","Uint8Array","TextDecoder","decode","JSON","parse","ArrayBuffer","tileAvailability","getExplicitBitstream","explicitBitstream","sent","contentAvailability","childSubtreeAvailability","abrupt","stop","resolveBufferUri","bitstreamRelativeUri","basePath","hasProtocol","startsWith","resolvedUri","URL","decodeURI","toString","basePathWithProtocol","concat","host","pathname","_x4","_x5","_x6","_x7","_getExplicitBitstream","_callee2","name","bufferViewIndex","bufferView","buffer","bufferUri","response","_callee2$","_context2","bufferViews","buffers","url","fetch","uri","arrayBuffer","byteOffset","byteLength","dataView","DataView","left","getUint32","right","Math","pow"],"sources":["../../../../../src/lib/parsers/helpers/parse-3d-tile-subtree.ts"],"sourcesContent":["import type {Subtree, ExplicitBitstream} from '../../../types';\nimport type {LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\n\nconst SUBTREE_FILE_MAGIC = 0x74627573;\nconst SUBTREE_FILE_VERSION = 1;\n\n/**\n * Parse subtree file\n * Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling#subtree-file-format\n * @param data\n * @returns\n */\n// eslint-disable-next-line max-statements\nexport default async function parse3DTilesSubtree(\n data: ArrayBuffer,\n options: LoaderOptions | undefined,\n context: LoaderContext | undefined\n): Promise<Subtree> {\n const magic = new Uint32Array(data.slice(0, 4));\n\n if (magic[0] !== SUBTREE_FILE_MAGIC) {\n throw new Error('Wrong subtree file magic number');\n }\n\n const version = new Uint32Array(data.slice(4, 8));\n\n if (version[0] !== SUBTREE_FILE_VERSION) {\n throw new Error('Wrong subtree file verson, must be 1');\n }\n\n const jsonByteLength = parseUint64Value(data.slice(8, 16));\n const stringAttribute = new Uint8Array(data, 24, jsonByteLength);\n\n const textDecoder = new TextDecoder('utf8');\n const string = textDecoder.decode(stringAttribute);\n const subtree = JSON.parse(string);\n\n const binaryByteLength = parseUint64Value(data.slice(16, 24));\n let internalBinaryBuffer = new ArrayBuffer(0);\n\n if (binaryByteLength) {\n internalBinaryBuffer = data.slice(24 + jsonByteLength);\n }\n\n if ('bufferView' in subtree.tileAvailability) {\n subtree.tileAvailability.explicitBitstream = await getExplicitBitstream(\n subtree,\n 'tileAvailability',\n internalBinaryBuffer,\n context\n );\n }\n\n if ('bufferView' in subtree.contentAvailability) {\n subtree.contentAvailability.explicitBitstream = await getExplicitBitstream(\n subtree,\n 'contentAvailability',\n internalBinaryBuffer,\n context\n );\n }\n\n if ('bufferView' in subtree.childSubtreeAvailability) {\n subtree.childSubtreeAvailability.explicitBitstream = await getExplicitBitstream(\n subtree,\n 'childSubtreeAvailability',\n internalBinaryBuffer,\n context\n );\n }\n\n return subtree;\n}\n\n/**\n * Get url for bitstream downloading\n * @param bitstreamRelativeUri\n * @param basePath\n * @returns\n */\nfunction resolveBufferUri(bitstreamRelativeUri: string, basePath: string): string {\n const hasProtocol = basePath.startsWith('http');\n\n if (hasProtocol) {\n const resolvedUri = new URL(bitstreamRelativeUri, basePath);\n return decodeURI(resolvedUri.toString());\n }\n\n /**\n * Adding http protocol only for new URL constructor usage.\n * It allows to resolve relative paths like ../../example with basePath.\n */\n const basePathWithProtocol = `http://${basePath}`;\n const resolvedUri = new URL(bitstreamRelativeUri, basePathWithProtocol);\n /**\n * Drop protocol and use just relative path.\n */\n return `/${resolvedUri.host}${resolvedUri.pathname}`;\n}\n\n/**\n * Get explicit bitstream for subtree availability data.\n * @param subtree\n * @param name\n * @param internalBinaryBuffer\n */\nasync function getExplicitBitstream(\n subtree: Subtree,\n name: string,\n internalBinaryBuffer: ArrayBuffer,\n context: LoaderContext | undefined\n): Promise<ExplicitBitstream> {\n const bufferViewIndex = subtree[name].bufferView;\n const bufferView = subtree.bufferViews[bufferViewIndex];\n const buffer = subtree.buffers[bufferView.buffer];\n\n if (!context?.url || !context.fetch) {\n throw new Error('Url is not provided');\n }\n\n if (!context.fetch) {\n throw new Error('fetch is not provided');\n }\n\n // External bitstream loading\n if (buffer.uri) {\n const bufferUri = resolveBufferUri(buffer.uri, context?.url);\n const response = await context.fetch(bufferUri);\n const data = await response.arrayBuffer();\n // Return view of bitstream.\n return new Uint8Array(data, bufferView.byteOffset, bufferView.byteLength);\n }\n // Return view of bitstream.\n return new Uint8Array(internalBinaryBuffer, bufferView.byteOffset, bufferView.byteLength);\n}\n\n/**\n * Parse buffer to return uint64 value\n * @param buffer\n * @returns 64-bit value until precision is lost after Number.MAX_SAFE_INTEGER\n */\nfunction parseUint64Value(buffer: ArrayBuffer): number {\n const dataView = new DataView(buffer);\n const left = dataView.getUint32(0, true);\n const right = dataView.getUint32(4, true);\n // combine the two 32-bit values\n return left + 2 ** 32 * right;\n}\n"],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parse3DTileTablesHeaderSync = parse3DTileTablesHeaderSync;
7
+ exports.parse3DTileTablesSync = parse3DTileTablesSync;
8
+ var _parseUtils = require("./parse-utils");
9
+ var SIZEOF_UINT32 = 4;
10
+ var DEPRECATION_WARNING = 'b3dm tile in legacy format.';
11
+ function parse3DTileTablesHeaderSync(tile, arrayBuffer, byteOffset) {
12
+ var view = new DataView(arrayBuffer);
13
+ var batchLength;
14
+ tile.header = tile.header || {};
15
+ var featureTableJsonByteLength = view.getUint32(byteOffset, true);
16
+ byteOffset += SIZEOF_UINT32;
17
+ var featureTableBinaryByteLength = view.getUint32(byteOffset, true);
18
+ byteOffset += SIZEOF_UINT32;
19
+ var batchTableJsonByteLength = view.getUint32(byteOffset, true);
20
+ byteOffset += SIZEOF_UINT32;
21
+ var batchTableBinaryByteLength = view.getUint32(byteOffset, true);
22
+ byteOffset += SIZEOF_UINT32;
23
+ if (batchTableJsonByteLength >= 570425344) {
24
+ byteOffset -= SIZEOF_UINT32 * 2;
25
+ batchLength = featureTableJsonByteLength;
26
+ batchTableJsonByteLength = featureTableBinaryByteLength;
27
+ batchTableBinaryByteLength = 0;
28
+ featureTableJsonByteLength = 0;
29
+ featureTableBinaryByteLength = 0;
30
+ console.warn(DEPRECATION_WARNING);
31
+ } else if (batchTableBinaryByteLength >= 570425344) {
32
+ byteOffset -= SIZEOF_UINT32;
33
+ batchLength = batchTableJsonByteLength;
34
+ batchTableJsonByteLength = featureTableJsonByteLength;
35
+ batchTableBinaryByteLength = featureTableBinaryByteLength;
36
+ featureTableJsonByteLength = 0;
37
+ featureTableBinaryByteLength = 0;
38
+ console.warn(DEPRECATION_WARNING);
39
+ }
40
+ tile.header.featureTableJsonByteLength = featureTableJsonByteLength;
41
+ tile.header.featureTableBinaryByteLength = featureTableBinaryByteLength;
42
+ tile.header.batchTableJsonByteLength = batchTableJsonByteLength;
43
+ tile.header.batchTableBinaryByteLength = batchTableBinaryByteLength;
44
+ tile.header.batchLength = batchLength;
45
+ return byteOffset;
46
+ }
47
+ function parse3DTileTablesSync(tile, arrayBuffer, byteOffset, options) {
48
+ byteOffset = parse3DTileFeatureTable(tile, arrayBuffer, byteOffset, options);
49
+ byteOffset = parse3DTileBatchTable(tile, arrayBuffer, byteOffset, options);
50
+ return byteOffset;
51
+ }
52
+ function parse3DTileFeatureTable(tile, arrayBuffer, byteOffset, options) {
53
+ var _ref = tile.header || {},
54
+ featureTableJsonByteLength = _ref.featureTableJsonByteLength,
55
+ featureTableBinaryByteLength = _ref.featureTableBinaryByteLength,
56
+ batchLength = _ref.batchLength;
57
+ tile.featureTableJson = {
58
+ BATCH_LENGTH: batchLength || 0
59
+ };
60
+ if (featureTableJsonByteLength && featureTableJsonByteLength > 0) {
61
+ var featureTableString = (0, _parseUtils.getStringFromArrayBuffer)(arrayBuffer, byteOffset, featureTableJsonByteLength);
62
+ tile.featureTableJson = JSON.parse(featureTableString);
63
+ }
64
+ byteOffset += featureTableJsonByteLength || 0;
65
+ tile.featureTableBinary = new Uint8Array(arrayBuffer, byteOffset, featureTableBinaryByteLength);
66
+ byteOffset += featureTableBinaryByteLength || 0;
67
+ return byteOffset;
68
+ }
69
+ function parse3DTileBatchTable(tile, arrayBuffer, byteOffset, options) {
70
+ var _ref2 = tile.header || {},
71
+ batchTableJsonByteLength = _ref2.batchTableJsonByteLength,
72
+ batchTableBinaryByteLength = _ref2.batchTableBinaryByteLength;
73
+ if (batchTableJsonByteLength && batchTableJsonByteLength > 0) {
74
+ var batchTableString = (0, _parseUtils.getStringFromArrayBuffer)(arrayBuffer, byteOffset, batchTableJsonByteLength);
75
+ tile.batchTableJson = JSON.parse(batchTableString);
76
+ byteOffset += batchTableJsonByteLength;
77
+ if (batchTableBinaryByteLength && batchTableBinaryByteLength > 0) {
78
+ tile.batchTableBinary = new Uint8Array(arrayBuffer, byteOffset, batchTableBinaryByteLength);
79
+ tile.batchTableBinary = new Uint8Array(tile.batchTableBinary);
80
+ byteOffset += batchTableBinaryByteLength;
81
+ }
82
+ }
83
+ return byteOffset;
84
+ }
85
+ //# sourceMappingURL=parse-3d-tile-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-tile-tables.js","names":["_parseUtils","require","SIZEOF_UINT32","DEPRECATION_WARNING","parse3DTileTablesHeaderSync","tile","arrayBuffer","byteOffset","view","DataView","batchLength","header","featureTableJsonByteLength","getUint32","featureTableBinaryByteLength","batchTableJsonByteLength","batchTableBinaryByteLength","console","warn","parse3DTileTablesSync","options","parse3DTileFeatureTable","parse3DTileBatchTable","_ref","featureTableJson","BATCH_LENGTH","featureTableString","getStringFromArrayBuffer","JSON","parse","featureTableBinary","Uint8Array","_ref2","batchTableString","batchTableJson","batchTableBinary"],"sources":["../../../../../src/lib/parsers/helpers/parse-3d-tile-tables.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {getStringFromArrayBuffer} from './parse-utils';\nimport {Tiles3DLoaderOptions} from '../../../tiles-3d-loader';\nimport {Tiles3DTileContent} from '../../../types';\n\nconst SIZEOF_UINT32 = 4;\nconst DEPRECATION_WARNING = 'b3dm tile in legacy format.';\n\n// eslint-disable-next-line max-statements\nexport function parse3DTileTablesHeaderSync(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number\n) {\n const view = new DataView(arrayBuffer);\n let batchLength;\n\n tile.header = tile.header || {};\n\n let featureTableJsonByteLength = view.getUint32(byteOffset, true);\n byteOffset += SIZEOF_UINT32;\n\n let featureTableBinaryByteLength = view.getUint32(byteOffset, true);\n byteOffset += SIZEOF_UINT32;\n\n let batchTableJsonByteLength = view.getUint32(byteOffset, true);\n byteOffset += SIZEOF_UINT32;\n\n let batchTableBinaryByteLength = view.getUint32(byteOffset, true);\n byteOffset += SIZEOF_UINT32;\n\n // First legacy header format - [batchLength] [batchTableByteLength] ('batchTableJsonByteLength': JSON starts with a quotation mark or the glTF magic)\n // Second legacy format - [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength] (Second legacy format is similar as first but here we check 'batchTableBinaryByteLength' instead)\n // Current header format - [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength]\n // First byte will be 0x22 or 0x67. The minimum uint32 expected is 0x22000000 = 570425344 = 570MB.\n if (batchTableJsonByteLength >= 570425344) {\n byteOffset -= SIZEOF_UINT32 * 2;\n batchLength = featureTableJsonByteLength;\n batchTableJsonByteLength = featureTableBinaryByteLength;\n batchTableBinaryByteLength = 0;\n featureTableJsonByteLength = 0;\n featureTableBinaryByteLength = 0;\n\n console.warn(DEPRECATION_WARNING); // eslint-disable-line\n } else if (batchTableBinaryByteLength >= 570425344) {\n byteOffset -= SIZEOF_UINT32;\n batchLength = batchTableJsonByteLength;\n batchTableJsonByteLength = featureTableJsonByteLength;\n batchTableBinaryByteLength = featureTableBinaryByteLength;\n featureTableJsonByteLength = 0;\n featureTableBinaryByteLength = 0;\n\n console.warn(DEPRECATION_WARNING); // eslint-disable-line\n }\n\n tile.header.featureTableJsonByteLength = featureTableJsonByteLength;\n tile.header.featureTableBinaryByteLength = featureTableBinaryByteLength;\n tile.header.batchTableJsonByteLength = batchTableJsonByteLength;\n tile.header.batchTableBinaryByteLength = batchTableBinaryByteLength;\n tile.header.batchLength = batchLength;\n\n return byteOffset;\n}\n\nexport function parse3DTileTablesSync(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options?: Tiles3DLoaderOptions\n) {\n byteOffset = parse3DTileFeatureTable(tile, arrayBuffer, byteOffset, options);\n byteOffset = parse3DTileBatchTable(tile, arrayBuffer, byteOffset, options);\n return byteOffset;\n}\n\nfunction parse3DTileFeatureTable(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options?: Tiles3DLoaderOptions\n) {\n const {featureTableJsonByteLength, featureTableBinaryByteLength, batchLength} = tile.header || {};\n\n tile.featureTableJson = {\n BATCH_LENGTH: batchLength || 0\n };\n\n if (featureTableJsonByteLength && featureTableJsonByteLength > 0) {\n const featureTableString = getStringFromArrayBuffer(\n arrayBuffer,\n byteOffset,\n featureTableJsonByteLength\n );\n tile.featureTableJson = JSON.parse(featureTableString);\n }\n byteOffset += featureTableJsonByteLength || 0;\n\n tile.featureTableBinary = new Uint8Array(arrayBuffer, byteOffset, featureTableBinaryByteLength);\n byteOffset += featureTableBinaryByteLength || 0;\n\n /*\n const featureTable = parseFeatureTable(featureTableJson, featureTableBinary);\n\n const batchLength = featureTable.getGlobalProperty('BATCH_LENGTH');\n featureTable.featuresLength = batchLength;\n */\n\n return byteOffset;\n}\n\nfunction parse3DTileBatchTable(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options?: Tiles3DLoaderOptions\n) {\n const {batchTableJsonByteLength, batchTableBinaryByteLength} = tile.header || {};\n\n if (batchTableJsonByteLength && batchTableJsonByteLength > 0) {\n const batchTableString = getStringFromArrayBuffer(\n arrayBuffer,\n byteOffset,\n batchTableJsonByteLength\n );\n tile.batchTableJson = JSON.parse(batchTableString);\n byteOffset += batchTableJsonByteLength;\n\n if (batchTableBinaryByteLength && batchTableBinaryByteLength > 0) {\n // Has a batch table binary\n tile.batchTableBinary = new Uint8Array(arrayBuffer, byteOffset, batchTableBinaryByteLength);\n // Copy the batchTableBinary section and let the underlying ArrayBuffer be freed\n tile.batchTableBinary = new Uint8Array(tile.batchTableBinary);\n\n byteOffset += batchTableBinaryByteLength;\n }\n }\n\n return byteOffset;\n}\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getMagicString = getMagicString;
7
+ exports.getStringFromArrayBuffer = getStringFromArrayBuffer;
8
+ exports.getStringFromTypedArray = getStringFromTypedArray;
9
+ var _loaderUtils = require("@loaders.gl/loader-utils");
10
+ function getStringFromArrayBuffer(arrayBuffer, byteOffset, byteLength) {
11
+ (0, _loaderUtils.assert)(arrayBuffer instanceof ArrayBuffer);
12
+ var textDecoder = new TextDecoder('utf8');
13
+ var typedArray = new Uint8Array(arrayBuffer, byteOffset, byteLength);
14
+ var string = textDecoder.decode(typedArray);
15
+ return string;
16
+ }
17
+ function getStringFromTypedArray(typedArray) {
18
+ (0, _loaderUtils.assert)(ArrayBuffer.isView(typedArray));
19
+ var textDecoder = new TextDecoder('utf8');
20
+ var string = textDecoder.decode(typedArray);
21
+ return string;
22
+ }
23
+ function getMagicString(arrayBuffer) {
24
+ var byteOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
25
+ var dataView = new DataView(arrayBuffer);
26
+ return "".concat(String.fromCharCode(dataView.getUint8(byteOffset + 0))).concat(String.fromCharCode(dataView.getUint8(byteOffset + 1))).concat(String.fromCharCode(dataView.getUint8(byteOffset + 2))).concat(String.fromCharCode(dataView.getUint8(byteOffset + 3)));
27
+ }
28
+ //# sourceMappingURL=parse-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-utils.js","names":["_loaderUtils","require","getStringFromArrayBuffer","arrayBuffer","byteOffset","byteLength","assert","ArrayBuffer","textDecoder","TextDecoder","typedArray","Uint8Array","string","decode","getStringFromTypedArray","isView","getMagicString","arguments","length","undefined","dataView","DataView","concat","String","fromCharCode","getUint8"],"sources":["../../../../../src/lib/parsers/helpers/parse-utils.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {assert} from '@loaders.gl/loader-utils';\n\n// Decode the JSON binary array into clear text\nexport function getStringFromArrayBuffer(arrayBuffer, byteOffset, byteLength) {\n assert(arrayBuffer instanceof ArrayBuffer);\n const textDecoder = new TextDecoder('utf8');\n const typedArray = new Uint8Array(arrayBuffer, byteOffset, byteLength);\n const string = textDecoder.decode(typedArray);\n return string;\n}\n\n// Decode the JSON binary array into clear text\nexport function getStringFromTypedArray(typedArray) {\n assert(ArrayBuffer.isView(typedArray));\n const textDecoder = new TextDecoder('utf8');\n const string = textDecoder.decode(typedArray);\n return string;\n}\n\nexport function getMagicString(arrayBuffer, byteOffset = 0) {\n const dataView = new DataView(arrayBuffer);\n return `\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 0))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 1))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 2))}\\\n${String.fromCharCode(dataView.getUint8(byteOffset + 3))}`;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAGO,SAASC,wBAAwBA,CAACC,WAAW,EAAEC,UAAU,EAAEC,UAAU,EAAE;EAC5E,IAAAC,mBAAM,EAACH,WAAW,YAAYI,WAAW,CAAC;EAC1C,IAAMC,WAAW,GAAG,IAAIC,WAAW,CAAC,MAAM,CAAC;EAC3C,IAAMC,UAAU,GAAG,IAAIC,UAAU,CAACR,WAAW,EAAEC,UAAU,EAAEC,UAAU,CAAC;EACtE,IAAMO,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACH,UAAU,CAAC;EAC7C,OAAOE,MAAM;AACf;AAGO,SAASE,uBAAuBA,CAACJ,UAAU,EAAE;EAClD,IAAAJ,mBAAM,EAACC,WAAW,CAACQ,MAAM,CAACL,UAAU,CAAC,CAAC;EACtC,IAAMF,WAAW,GAAG,IAAIC,WAAW,CAAC,MAAM,CAAC;EAC3C,IAAMG,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACH,UAAU,CAAC;EAC7C,OAAOE,MAAM;AACf;AAEO,SAASI,cAAcA,CAACb,WAAW,EAAkB;EAAA,IAAhBC,UAAU,GAAAa,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EACxD,IAAMG,QAAQ,GAAG,IAAIC,QAAQ,CAAClB,WAAW,CAAC;EAC1C,UAAAmB,MAAA,CACAC,MAAM,CAACC,YAAY,CAACJ,QAAQ,CAACK,QAAQ,CAACrB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAAkB,MAAA,CACtDC,MAAM,CAACC,YAAY,CAACJ,QAAQ,CAACK,QAAQ,CAACrB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAAkB,MAAA,CACtDC,MAAM,CAACC,YAAY,CAACJ,QAAQ,CAACK,QAAQ,CAACrB,UAAU,GAAG,CAAC,CAAC,CAAC,EAAAkB,MAAA,CACtDC,MAAM,CAACC,YAAY,CAACJ,QAAQ,CAACK,QAAQ,CAACrB,UAAU,GAAG,CAAC,CAAC,CAAC;AACxD"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.parseBatchedModel3DTile = parseBatchedModel3DTile;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _math = require("@loaders.gl/math");
11
+ var _tile3dFeatureTable = _interopRequireDefault(require("../classes/tile-3d-feature-table"));
12
+ var _parse3dTileHeader = require("./helpers/parse-3d-tile-header");
13
+ var _parse3dTileTables = require("./helpers/parse-3d-tile-tables");
14
+ var _parse3dTileGltfView = require("./helpers/parse-3d-tile-gltf-view");
15
+ function parseBatchedModel3DTile(_x, _x2, _x3, _x4, _x5) {
16
+ return _parseBatchedModel3DTile.apply(this, arguments);
17
+ }
18
+ function _parseBatchedModel3DTile() {
19
+ _parseBatchedModel3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, byteOffset, options, context) {
20
+ var _tile$gltf;
21
+ var extensions;
22
+ return _regenerator.default.wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);
26
+ _context.next = 3;
27
+ return (0, _parse3dTileGltfView.extractGLTF)(tile, _parse3dTileGltfView.GLTF_FORMAT.EMBEDDED, options, context);
28
+ case 3:
29
+ extensions = tile === null || tile === void 0 ? void 0 : (_tile$gltf = tile.gltf) === null || _tile$gltf === void 0 ? void 0 : _tile$gltf.extensions;
30
+ if (extensions && extensions.CESIUM_RTC) {
31
+ tile.rtcCenter = extensions.CESIUM_RTC.center;
32
+ }
33
+ return _context.abrupt("return", byteOffset);
34
+ case 6:
35
+ case "end":
36
+ return _context.stop();
37
+ }
38
+ }, _callee);
39
+ }));
40
+ return _parseBatchedModel3DTile.apply(this, arguments);
41
+ }
42
+ function parseBatchedModel(tile, arrayBuffer, byteOffset, options, context) {
43
+ byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
44
+ byteOffset = (0, _parse3dTileTables.parse3DTileTablesHeaderSync)(tile, arrayBuffer, byteOffset);
45
+ byteOffset = (0, _parse3dTileTables.parse3DTileTablesSync)(tile, arrayBuffer, byteOffset, options);
46
+ byteOffset = (0, _parse3dTileGltfView.parse3DTileGLTFViewSync)(tile, arrayBuffer, byteOffset, options);
47
+ var featureTable = new _tile3dFeatureTable.default(tile.featureTableJson, tile.featureTableBinary);
48
+ tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', _math.GL.FLOAT, 3);
49
+ return byteOffset;
50
+ }
51
+ //# sourceMappingURL=parse-3d-tile-batched-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-tile-batched-model.js","names":["_math","require","_tile3dFeatureTable","_interopRequireDefault","_parse3dTileHeader","_parse3dTileTables","_parse3dTileGltfView","parseBatchedModel3DTile","_x","_x2","_x3","_x4","_x5","_parseBatchedModel3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","byteOffset","options","context","_tile$gltf","extensions","wrap","_callee$","_context","prev","next","parseBatchedModel","extractGLTF","GLTF_FORMAT","EMBEDDED","gltf","CESIUM_RTC","rtcCenter","center","abrupt","stop","parse3DTileHeaderSync","parse3DTileTablesHeaderSync","parse3DTileTablesSync","parse3DTileGLTFViewSync","featureTable","Tile3DFeatureTable","featureTableJson","featureTableBinary","getGlobalProperty","GL","FLOAT"],"sources":["../../../../src/lib/parsers/parse-3d-tile-batched-model.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL} from '@loaders.gl/math'; // math.gl/geometry;\nimport Tile3DFeatureTable from '../classes/tile-3d-feature-table';\n// import Tile3DBatchTable from '../classes/tile-3d-batch-table';\n\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\nimport {parse3DTileTablesHeaderSync, parse3DTileTablesSync} from './helpers/parse-3d-tile-tables';\nimport {parse3DTileGLTFViewSync, extractGLTF, GLTF_FORMAT} from './helpers/parse-3d-tile-gltf-view';\nimport {Tiles3DTileContent} from '../../types';\nimport {Tiles3DLoaderOptions} from '../../tiles-3d-loader';\nimport {LoaderContext} from '@loaders.gl/loader-utils';\n\nexport async function parseBatchedModel3DTile(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options?: Tiles3DLoaderOptions,\n context?: LoaderContext\n) {\n byteOffset = parseBatchedModel(tile, arrayBuffer, byteOffset, options, context);\n await extractGLTF(tile, GLTF_FORMAT.EMBEDDED, options, context);\n\n const extensions = tile?.gltf?.extensions;\n if (extensions && extensions.CESIUM_RTC) {\n tile.rtcCenter = extensions.CESIUM_RTC.center;\n }\n\n return byteOffset;\n}\n\nfunction parseBatchedModel(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options?: Tiles3DLoaderOptions,\n context?: LoaderContext\n) {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n byteOffset = parse3DTileTablesHeaderSync(tile, arrayBuffer, byteOffset);\n byteOffset = parse3DTileTablesSync(tile, arrayBuffer, byteOffset, options);\n\n byteOffset = parse3DTileGLTFViewSync(tile, arrayBuffer, byteOffset, options);\n\n const featureTable = new Tile3DFeatureTable(tile.featureTableJson, tile.featureTableBinary);\n tile.rtcCenter = featureTable.getGlobalProperty('RTC_CENTER', GL.FLOAT, 3);\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAGA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAL,OAAA;AAAoG,SAK9EM,uBAAuBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,wBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,yBAAA;EAAAA,wBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAtC,SAAAC,QACLC,IAAwB,EACxBC,WAAwB,EACxBC,UAAkB,EAClBC,OAA8B,EAC9BC,OAAuB;IAAA,IAAAC,UAAA;IAAA,IAAAC,UAAA;IAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAEvBT,UAAU,GAAGU,iBAAiB,CAACZ,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,CAAC;UAACK,QAAA,CAAAE,IAAA;UAAA,OAC1E,IAAAE,gCAAW,EAACb,IAAI,EAAEc,gCAAW,CAACC,QAAQ,EAAEZ,OAAO,EAAEC,OAAO,CAAC;QAAA;UAEzDE,UAAU,GAAGN,IAAI,aAAJA,IAAI,wBAAAK,UAAA,GAAJL,IAAI,CAAEgB,IAAI,cAAAX,UAAA,uBAAVA,UAAA,CAAYC,UAAU;UACzC,IAAIA,UAAU,IAAIA,UAAU,CAACW,UAAU,EAAE;YACvCjB,IAAI,CAACkB,SAAS,GAAGZ,UAAU,CAACW,UAAU,CAACE,MAAM;UAC/C;UAAC,OAAAV,QAAA,CAAAW,MAAA,WAEMlB,UAAU;QAAA;QAAA;UAAA,OAAAO,QAAA,CAAAY,IAAA;MAAA;IAAA,GAAAtB,OAAA;EAAA,CAClB;EAAA,OAAAP,wBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAASkB,iBAAiBA,CACxBZ,IAAwB,EACxBC,WAAwB,EACxBC,UAAkB,EAClBC,OAA8B,EAC9BC,OAAuB,EACvB;EACAF,UAAU,GAAG,IAAAoB,wCAAqB,EAACtB,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EAEjEA,UAAU,GAAG,IAAAqB,8CAA2B,EAACvB,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;EACvEA,UAAU,GAAG,IAAAsB,wCAAqB,EAACxB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE1ED,UAAU,GAAG,IAAAuB,4CAAuB,EAACzB,IAAI,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,CAAC;EAE5E,IAAMuB,YAAY,GAAG,IAAIC,2BAAkB,CAAC3B,IAAI,CAAC4B,gBAAgB,EAAE5B,IAAI,CAAC6B,kBAAkB,CAAC;EAC3F7B,IAAI,CAACkB,SAAS,GAAGQ,YAAY,CAACI,iBAAiB,CAAC,YAAY,EAAEC,QAAE,CAACC,KAAK,EAAE,CAAC,CAAC;EAE1E,OAAO9B,UAAU;AACnB"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.parseComposite3DTile = parseComposite3DTile;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _parse3dTileHeader = require("./helpers/parse-3d-tile-header");
11
+ function parseComposite3DTile(_x, _x2, _x3, _x4, _x5, _x6) {
12
+ return _parseComposite3DTile.apply(this, arguments);
13
+ }
14
+ function _parseComposite3DTile() {
15
+ _parseComposite3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, byteOffset, options, context, parse3DTile) {
16
+ var view, _subtile;
17
+ return _regenerator.default.wrap(function _callee$(_context) {
18
+ while (1) switch (_context.prev = _context.next) {
19
+ case 0:
20
+ byteOffset = (0, _parse3dTileHeader.parse3DTileHeaderSync)(tile, arrayBuffer, byteOffset);
21
+ view = new DataView(arrayBuffer);
22
+ tile.tilesLength = view.getUint32(byteOffset, true);
23
+ byteOffset += 4;
24
+ tile.tiles = [];
25
+ case 5:
26
+ if (!(tile.tiles.length < tile.tilesLength && (tile.byteLength || 0) - byteOffset > 12)) {
27
+ _context.next = 13;
28
+ break;
29
+ }
30
+ _subtile = {};
31
+ tile.tiles.push(_subtile);
32
+ _context.next = 10;
33
+ return parse3DTile(arrayBuffer, byteOffset, options, context, _subtile);
34
+ case 10:
35
+ byteOffset = _context.sent;
36
+ _context.next = 5;
37
+ break;
38
+ case 13:
39
+ return _context.abrupt("return", byteOffset);
40
+ case 14:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee);
45
+ }));
46
+ return _parseComposite3DTile.apply(this, arguments);
47
+ }
48
+ //# sourceMappingURL=parse-3d-tile-composite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-tile-composite.js","names":["_parse3dTileHeader","require","parseComposite3DTile","_x","_x2","_x3","_x4","_x5","_x6","_parseComposite3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","byteOffset","options","context","parse3DTile","view","_subtile","wrap","_callee$","_context","prev","next","parse3DTileHeaderSync","DataView","tilesLength","getUint32","tiles","length","byteLength","subtile","push","sent","abrupt","stop"],"sources":["../../../../src/lib/parsers/parse-3d-tile-composite.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\n// Reference code:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Source/Scene/Composite3DTileContent.js#L182\n\nimport type {LoaderContext} from '@loaders.gl/loader-utils';\nimport type {Tiles3DLoaderOptions} from '../../tiles-3d-loader';\nimport {parse3DTileHeaderSync} from './helpers/parse-3d-tile-header';\nimport {Tiles3DTileContent} from '../../types';\n\n/** Resolve circulate dependency by passing in parsing function as argument */\ntype Parse3DTile = (\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options: Tiles3DLoaderOptions | undefined,\n context: LoaderContext | undefined,\n subtile\n) => Promise<number>;\n\n// eslint-disable-next-line max-params\nexport async function parseComposite3DTile(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n byteOffset: number,\n options: Tiles3DLoaderOptions | undefined,\n context: LoaderContext | undefined,\n parse3DTile: Parse3DTile\n): Promise<number> {\n byteOffset = parse3DTileHeaderSync(tile, arrayBuffer, byteOffset);\n\n const view = new DataView(arrayBuffer);\n\n // Extract number of tiles\n tile.tilesLength = view.getUint32(byteOffset, true);\n byteOffset += 4;\n\n // extract each tile from the byte stream\n tile.tiles = [];\n while (tile.tiles.length < tile.tilesLength && (tile.byteLength || 0) - byteOffset > 12) {\n const subtile = {};\n tile.tiles.push(subtile);\n byteOffset = await parse3DTile(arrayBuffer, byteOffset, options, context, subtile);\n // TODO - do we need to add any padding in between tiles?\n }\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;;;AAQA,IAAAA,kBAAA,GAAAC,OAAA;AAAqE,SAa/CC,oBAAoBA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,sBAAA;EAAAA,qBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAnC,SAAAC,QACLC,IAAwB,EACxBC,WAAwB,EACxBC,UAAkB,EAClBC,OAAyC,EACzCC,OAAkC,EAClCC,WAAwB;IAAA,IAAAC,IAAA,EAAAC,QAAA;IAAA,OAAAV,YAAA,CAAAD,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAExBV,UAAU,GAAG,IAAAW,wCAAqB,EAACb,IAAI,EAAEC,WAAW,EAAEC,UAAU,CAAC;UAE3DI,IAAI,GAAG,IAAIQ,QAAQ,CAACb,WAAW,CAAC;UAGtCD,IAAI,CAACe,WAAW,GAAGT,IAAI,CAACU,SAAS,CAACd,UAAU,EAAE,IAAI,CAAC;UACnDA,UAAU,IAAI,CAAC;UAGfF,IAAI,CAACiB,KAAK,GAAG,EAAE;QAAC;UAAA,MACTjB,IAAI,CAACiB,KAAK,CAACC,MAAM,GAAGlB,IAAI,CAACe,WAAW,IAAI,CAACf,IAAI,CAACmB,UAAU,IAAI,CAAC,IAAIjB,UAAU,GAAG,EAAE;YAAAQ,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC/EQ,QAAO,GAAG,CAAC,CAAC;UAClBpB,IAAI,CAACiB,KAAK,CAACI,IAAI,CAACD,QAAO,CAAC;UAACV,QAAA,CAAAE,IAAA;UAAA,OACNP,WAAW,CAACJ,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,OAAO,EAAEgB,QAAO,CAAC;QAAA;UAAlFlB,UAAU,GAAAQ,QAAA,CAAAY,IAAA;UAAAZ,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,OAAAF,QAAA,CAAAa,MAAA,WAILrB,UAAU;QAAA;QAAA;UAAA,OAAAQ,QAAA,CAAAc,IAAA;MAAA;IAAA,GAAAzB,OAAA;EAAA,CAClB;EAAA,OAAAP,qBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.parseGltf3DTile = parseGltf3DTile;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _gltf = require("@loaders.gl/gltf");
11
+ function parseGltf3DTile(_x, _x2, _x3, _x4) {
12
+ return _parseGltf3DTile.apply(this, arguments);
13
+ }
14
+ function _parseGltf3DTile() {
15
+ _parseGltf3DTile = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(tile, arrayBuffer, options, context) {
16
+ var _options$3dTiles;
17
+ var parse, gltfWithBuffers;
18
+ return _regenerator.default.wrap(function _callee$(_context) {
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ tile.rotateYtoZ = true;
22
+ tile.gltfUpAxis = options !== null && options !== void 0 && options['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis ? options['3d-tiles'].assetGltfUpAxis : 'Y';
23
+ if (!(options !== null && options !== void 0 && (_options$3dTiles = options['3d-tiles']) !== null && _options$3dTiles !== void 0 && _options$3dTiles.loadGLTF)) {
24
+ _context.next = 13;
25
+ break;
26
+ }
27
+ if (context) {
28
+ _context.next = 5;
29
+ break;
30
+ }
31
+ return _context.abrupt("return");
32
+ case 5:
33
+ parse = context.parse;
34
+ _context.next = 8;
35
+ return parse(arrayBuffer, _gltf.GLTFLoader, options, context);
36
+ case 8:
37
+ gltfWithBuffers = _context.sent;
38
+ tile.gltf = (0, _gltf.postProcessGLTF)(gltfWithBuffers);
39
+ tile.gpuMemoryUsageInBytes = (0, _gltf._getMemoryUsageGLTF)(tile.gltf);
40
+ _context.next = 14;
41
+ break;
42
+ case 13:
43
+ tile.gltfArrayBuffer = arrayBuffer;
44
+ case 14:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ }));
50
+ return _parseGltf3DTile.apply(this, arguments);
51
+ }
52
+ //# sourceMappingURL=parse-3d-tile-gltf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-tile-gltf.js","names":["_gltf","require","parseGltf3DTile","_x","_x2","_x3","_x4","_parseGltf3DTile","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","tile","arrayBuffer","options","context","_options$3dTiles","parse","gltfWithBuffers","wrap","_callee$","_context","prev","next","rotateYtoZ","gltfUpAxis","assetGltfUpAxis","loadGLTF","abrupt","GLTFLoader","sent","gltf","postProcessGLTF","gpuMemoryUsageInBytes","_getMemoryUsageGLTF","gltfArrayBuffer","stop"],"sources":["../../../../src/lib/parsers/parse-3d-tile-gltf.ts"],"sourcesContent":["import type {LoaderContext} from '@loaders.gl/loader-utils';\nimport type {Tiles3DLoaderOptions} from '../../tiles-3d-loader';\nimport {_getMemoryUsageGLTF, GLTFLoader, postProcessGLTF} from '@loaders.gl/gltf';\nimport {Tiles3DTileContent} from '../../types';\n\nexport async function parseGltf3DTile(\n tile: Tiles3DTileContent,\n arrayBuffer: ArrayBuffer,\n options?: Tiles3DLoaderOptions,\n context?: LoaderContext\n): Promise<void> {\n // Set flags\n // glTF models need to be rotated from Y to Z up\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up\n tile.rotateYtoZ = true;\n // Save gltf up axis\n tile.gltfUpAxis =\n options?.['3d-tiles'] && options['3d-tiles'].assetGltfUpAxis\n ? options['3d-tiles'].assetGltfUpAxis\n : 'Y';\n\n if (options?.['3d-tiles']?.loadGLTF) {\n if (!context) {\n return;\n }\n const {parse} = context;\n const gltfWithBuffers = await parse(arrayBuffer, GLTFLoader, options, context);\n tile.gltf = postProcessGLTF(gltfWithBuffers);\n tile.gpuMemoryUsageInBytes = _getMemoryUsageGLTF(tile.gltf);\n } else {\n tile.gltfArrayBuffer = arrayBuffer;\n }\n}\n"],"mappings":";;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAAkF,SAG5DC,eAAeA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,iBAAA;EAAAA,gBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA9B,SAAAC,QACLC,IAAwB,EACxBC,WAAwB,EACxBC,OAA8B,EAC9BC,OAAuB;IAAA,IAAAC,gBAAA;IAAA,IAAAC,KAAA,EAAAC,eAAA;IAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAKvBX,IAAI,CAACY,UAAU,GAAG,IAAI;UAEtBZ,IAAI,CAACa,UAAU,GACbX,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAG,UAAU,CAAC,IAAIA,OAAO,CAAC,UAAU,CAAC,CAACY,eAAe,GACxDZ,OAAO,CAAC,UAAU,CAAC,CAACY,eAAe,GACnC,GAAG;UAAC,MAENZ,OAAO,aAAPA,OAAO,gBAAAE,gBAAA,GAAPF,OAAO,CAAG,UAAU,CAAC,cAAAE,gBAAA,eAArBA,gBAAA,CAAuBW,QAAQ;YAAAN,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,IAC5BR,OAAO;YAAAM,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAO,MAAA;QAAA;UAGLX,KAAK,GAAIF,OAAO,CAAhBE,KAAK;UAAAI,QAAA,CAAAE,IAAA;UAAA,OACkBN,KAAK,CAACJ,WAAW,EAAEgB,gBAAU,EAAEf,OAAO,EAAEC,OAAO,CAAC;QAAA;UAAxEG,eAAe,GAAAG,QAAA,CAAAS,IAAA;UACrBlB,IAAI,CAACmB,IAAI,GAAG,IAAAC,qBAAe,EAACd,eAAe,CAAC;UAC5CN,IAAI,CAACqB,qBAAqB,GAAG,IAAAC,yBAAmB,EAACtB,IAAI,CAACmB,IAAI,CAAC;UAACV,QAAA,CAAAE,IAAA;UAAA;QAAA;UAE5DX,IAAI,CAACuB,eAAe,GAAGtB,WAAW;QAAC;QAAA;UAAA,OAAAQ,QAAA,CAAAe,IAAA;MAAA;IAAA,GAAAzB,OAAA;EAAA,CAEtC;EAAA,OAAAP,gBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}