@loaders.gl/3d-tiles 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 (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 +14526 -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 +64 -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 +96 -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 +35 -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 +271 -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 +172 -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 +271 -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 +134 -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/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -0
  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 +59 -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 +10 -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 +164 -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 +147 -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 +211 -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 +64 -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 +10 -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 +7 -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 +6 -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 +7 -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 +82 -63
  242. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +2 -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 +3 -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 +2 -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 +2 -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 +25 -16
  260. package/dist/lib/parsers/parse-3d-tile-gltf.d.ts +2 -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 +18 -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 +170 -70
  266. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +2 -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 +179 -170
  269. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +3 -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 +350 -184
  272. package/dist/lib/parsers/parse-3d-tile.d.ts +2 -0
  273. package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
  274. package/dist/lib/parsers/parse-3d-tile.js +36 -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 +6 -0
  312. package/dist/tiles-3d-loader.d.ts.map +1 -0
  313. package/dist/tiles-3d-loader.js +63 -62
  314. package/dist/types.d.ts +93 -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 +2 -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} +1 -1
  324. package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +396 -0
  325. package/src/lib/parsers/helpers/{parse-3d-tile-gltf-view.js → parse-3d-tile-gltf-view.ts} +1 -1
  326. package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +148 -0
  327. package/src/lib/parsers/helpers/{parse-3d-tile-tables.js → parse-3d-tile-tables.ts} +1 -1
  328. package/src/lib/parsers/parse-3d-tile-gltf.ts +16 -0
  329. package/src/lib/parsers/parse-3d-tile-header.ts +220 -0
  330. package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +6 -0
  331. package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +2 -2
  332. package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +8 -0
  333. package/src/lib/utils/obb/s2-corners-to-obb.ts +51 -0
  334. package/src/lib/utils/s2/converters/s2-to-boundary.ts +67 -0
  335. package/src/lib/utils/s2/converters/s2-to-obb-points.ts +46 -0
  336. package/src/lib/utils/s2/converters/s2-to-region.ts +69 -0
  337. package/src/lib/utils/s2/index.ts +17 -0
  338. package/src/lib/utils/s2/s2-geometry-functions.ts +28 -0
  339. package/src/lib/utils/s2/s2-token-functions.ts +67 -0
  340. package/src/lib/utils/s2/s2geometry/s2-cell-utils.ts +33 -0
  341. package/src/lib/utils/s2/s2geometry/s2-geometry.ts +296 -0
  342. package/src/tile-3d-subtree-loader.ts +19 -0
  343. package/src/tiles-3d-loader.ts +2 -1
  344. package/src/types.ts +60 -6
  345. package/dist/bundle.js.map +0 -1
  346. package/dist/cesium-ion-loader.js.map +0 -1
  347. package/dist/index.js.map +0 -1
  348. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
  349. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
  350. package/dist/lib/classes/tile-3d-batch-table.js.map +0 -1
  351. package/dist/lib/classes/tile-3d-feature-table.js.map +0 -1
  352. package/dist/lib/constants.js.map +0 -1
  353. package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
  354. package/dist/lib/encoders/encode-3d-tile-composite.js.map +0 -1
  355. package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
  356. package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
  357. package/dist/lib/encoders/encode-3d-tile.js.map +0 -1
  358. package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
  359. package/dist/lib/ion/ion.js.map +0 -1
  360. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
  361. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
  362. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
  363. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
  364. package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
  365. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
  366. package/dist/lib/parsers/helpers/parse-utils.js.map +0 -1
  367. package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
  368. package/dist/lib/parsers/parse-3d-tile-composite.js.map +0 -1
  369. package/dist/lib/parsers/parse-3d-tile-header.js.map +0 -1
  370. package/dist/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
  371. package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
  372. package/dist/lib/parsers/parse-3d-tile.js.map +0 -1
  373. package/dist/lib/utils/version.js.map +0 -1
  374. package/dist/tile-3d-writer.js.map +0 -1
  375. package/dist/tiles-3d-loader.js.map +0 -1
  376. package/dist/types.js.map +0 -1
  377. package/src/lib/parsers/parse-3d-tile-header.js +0 -69
  378. /package/src/lib/classes/helpers/{tile-3d-accessor-utils.js → tile-3d-accessor-utils.ts} +0 -0
  379. /package/src/lib/classes/{tile-3d-batch-table-hierarchy.js → tile-3d-batch-table-hierarchy.ts} +0 -0
  380. /package/src/lib/encoders/{encode-3d-tile-batched-model.js → encode-3d-tile-batched-model.ts} +0 -0
  381. /package/src/lib/encoders/{encode-3d-tile-composite.js → encode-3d-tile-composite.ts} +0 -0
  382. /package/src/lib/encoders/{encode-3d-tile-instanced-model.js → encode-3d-tile-instanced-model.ts} +0 -0
  383. /package/src/lib/encoders/{encode-3d-tile-point-cloud.js → encode-3d-tile-point-cloud.ts} +0 -0
  384. /package/src/lib/encoders/{encode-3d-tile.js → encode-3d-tile.ts} +0 -0
  385. /package/src/lib/encoders/helpers/{encode-3d-tile-header.js → encode-3d-tile-header.ts} +0 -0
  386. /package/src/lib/ion/{ion.js → ion.ts} +0 -0
  387. /package/src/lib/parsers/helpers/{normalize-3d-tile-normals.js → normalize-3d-tile-normals.ts} +0 -0
  388. /package/src/lib/parsers/helpers/{normalize-3d-tile-positions.js → normalize-3d-tile-positions.ts} +0 -0
  389. /package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +0 -0
  390. /package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
  391. /package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +0 -0
  392. /package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +0 -0
  393. /package/src/lib/utils/{version.js → version.ts} +0 -0
@@ -1,35 +1,33 @@
1
- import { TILE3D_TYPE } from '../constants';
2
- import { assert } from '@loaders.gl/loader-utils';
3
- import { encodeComposite3DTile } from './encode-3d-tile-composite';
4
- import { encodeBatchedModel3DTile } from './encode-3d-tile-batched-model';
5
- import { encodeInstancedModel3DTile } from './encode-3d-tile-instanced-model';
6
- import { encodePointCloud3DTile } from './encode-3d-tile-point-cloud';
7
- export default function encode3DTile(tile, options) {
8
- const byteLength = encode3DTileToDataView(tile, null, 0, options);
9
- const arrayBuffer = new ArrayBuffer(byteLength);
10
- const dataView = new DataView(arrayBuffer);
11
- encode3DTileToDataView(tile, dataView, 0, options);
12
- return arrayBuffer;
1
+ "use strict";
2
+ // This file is derived from the Cesium code base under Apache 2 license
3
+ // See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ const constants_1 = require("../constants");
6
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
7
+ const encode_3d_tile_composite_1 = require("./encode-3d-tile-composite");
8
+ const encode_3d_tile_batched_model_1 = require("./encode-3d-tile-batched-model");
9
+ const encode_3d_tile_instanced_model_1 = require("./encode-3d-tile-instanced-model");
10
+ const encode_3d_tile_point_cloud_1 = require("./encode-3d-tile-point-cloud");
11
+ function encode3DTile(tile, options) {
12
+ const byteLength = encode3DTileToDataView(tile, null, 0, options);
13
+ const arrayBuffer = new ArrayBuffer(byteLength);
14
+ const dataView = new DataView(arrayBuffer);
15
+ encode3DTileToDataView(tile, dataView, 0, options);
16
+ return arrayBuffer;
13
17
  }
14
-
18
+ exports.default = encode3DTile;
15
19
  function encode3DTileToDataView(tile, dataView, byteOffset, options) {
16
- assert(typeof tile.type === 'string');
17
-
18
- switch (tile.type) {
19
- case TILE3D_TYPE.COMPOSITE:
20
- return encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTileToDataView);
21
-
22
- case TILE3D_TYPE.POINT_CLOUD:
23
- return encodePointCloud3DTile(tile, dataView, byteOffset, options);
24
-
25
- case TILE3D_TYPE.BATCHED_3D_MODEL:
26
- return encodeBatchedModel3DTile(tile, dataView, byteOffset, options);
27
-
28
- case TILE3D_TYPE.INSTANCED_3D_MODEL:
29
- return encodeInstancedModel3DTile(tile, dataView, byteOffset, options);
30
-
31
- default:
32
- throw new Error('3D Tiles: unknown tile type');
33
- }
20
+ (0, loader_utils_1.assert)(typeof tile.type === 'string');
21
+ switch (tile.type) {
22
+ case constants_1.TILE3D_TYPE.COMPOSITE:
23
+ return (0, encode_3d_tile_composite_1.encodeComposite3DTile)(tile, dataView, byteOffset, options, encode3DTileToDataView);
24
+ case constants_1.TILE3D_TYPE.POINT_CLOUD:
25
+ return (0, encode_3d_tile_point_cloud_1.encodePointCloud3DTile)(tile, dataView, byteOffset, options);
26
+ case constants_1.TILE3D_TYPE.BATCHED_3D_MODEL:
27
+ return (0, encode_3d_tile_batched_model_1.encodeBatchedModel3DTile)(tile, dataView, byteOffset, options);
28
+ case constants_1.TILE3D_TYPE.INSTANCED_3D_MODEL:
29
+ return (0, encode_3d_tile_instanced_model_1.encodeInstancedModel3DTile)(tile, dataView, byteOffset, options);
30
+ default:
31
+ throw new Error('3D Tiles: unknown tile type');
32
+ }
34
33
  }
35
- //# sourceMappingURL=encode-3d-tile.js.map
@@ -0,0 +1,3 @@
1
+ export declare function encode3DTileHeader(tile: any, dataView: any, byteOffset: any): any;
2
+ export declare function encode3DTileByteLength(dataView: any, byteOffsetTileStart: any, byteLength: any): void;
3
+ //# sourceMappingURL=encode-3d-tile-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-3d-tile-header.d.ts","sourceRoot":"","sources":["../../../../src/lib/encoders/helpers/encode-3d-tile-header.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA,EAAE,UAAU,KAAA,OAqB5D;AAGD,wBAAgB,sBAAsB,CAAC,QAAQ,KAAA,EAAE,mBAAmB,KAAA,EAAE,UAAU,KAAA,QAM/E"}
@@ -1,31 +1,30 @@
1
- import { assert } from '@loaders.gl/loader-utils';
2
- export function encode3DTileHeader(tile, dataView, byteOffset) {
3
- const HEADER_SIZE = 12;
4
-
5
- if (!dataView) {
6
- return byteOffset + HEADER_SIZE;
7
- }
8
-
9
- const {
10
- magic,
11
- version = 1,
12
- byteLength = 12
13
- } = tile;
14
- assert(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
15
- dataView.setUint8(byteOffset + 0, magic[0]);
16
- dataView.setUint8(byteOffset + 1, magic[1]);
17
- dataView.setUint8(byteOffset + 2, magic[2]);
18
- dataView.setUint8(byteOffset + 3, magic[3]);
19
- dataView.setUint32(byteOffset + 4, version, true);
20
- dataView.setUint32(byteOffset + 8, byteLength, true);
21
- byteOffset += HEADER_SIZE;
22
- return byteOffset;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encode3DTileByteLength = exports.encode3DTileHeader = void 0;
4
+ // HELPER ENCODERS
5
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
6
+ function encode3DTileHeader(tile, dataView, byteOffset) {
7
+ const HEADER_SIZE = 12;
8
+ if (!dataView) {
9
+ return byteOffset + HEADER_SIZE;
10
+ }
11
+ const { magic, version = 1, byteLength = 12 } = tile;
12
+ (0, loader_utils_1.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
13
+ dataView.setUint8(byteOffset + 0, magic[0]);
14
+ dataView.setUint8(byteOffset + 1, magic[1]);
15
+ dataView.setUint8(byteOffset + 2, magic[2]);
16
+ dataView.setUint8(byteOffset + 3, magic[3]);
17
+ dataView.setUint32(byteOffset + 4, version, true); // version
18
+ dataView.setUint32(byteOffset + 8, byteLength, true); // byteLength
19
+ byteOffset += HEADER_SIZE;
20
+ return byteOffset;
23
21
  }
24
- export function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {
25
- if (!dataView) {
26
- return;
27
- }
28
-
29
- dataView.setUint32(byteOffsetTileStart + 8, byteLength, true);
22
+ exports.encode3DTileHeader = encode3DTileHeader;
23
+ // Bytelength is sometimes only known at the end of writing a tile
24
+ function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {
25
+ if (!dataView) {
26
+ return;
27
+ }
28
+ dataView.setUint32(byteOffsetTileStart + 8, byteLength, true); // byteLength
30
29
  }
31
- //# sourceMappingURL=encode-3d-tile-header.js.map
30
+ exports.encode3DTileByteLength = encode3DTileByteLength;
@@ -0,0 +1,4 @@
1
+ export declare function getIonTilesetMetadata(accessToken: any, assetId: any): Promise<any>;
2
+ export declare function getIonAssets(accessToken: any): Promise<any>;
3
+ export declare function getIonAssetMetadata(accessToken: any, assetId: any): Promise<any>;
4
+ //# sourceMappingURL=ion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ion.d.ts","sourceRoot":"","sources":["../../../src/lib/ion/ion.ts"],"names":[],"mappings":"AAQA,wBAAsB,qBAAqB,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA,gBAqB/D;AAGD,wBAAsB,YAAY,CAAC,WAAW,KAAA,gBAS7C;AAGD,wBAAsB,mBAAmB,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA,gBA4B7D"}
@@ -1,77 +1,68 @@
1
- import { fetchFile } from '@loaders.gl/core';
2
- import { assert } from '@loaders.gl/loader-utils';
1
+ "use strict";
2
+ // Minimal support to load tilsets from the Cesium ION services
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getIonAssetMetadata = exports.getIonAssets = exports.getIonTilesetMetadata = void 0;
5
+ const core_1 = require("@loaders.gl/core");
6
+ const loader_utils_1 = require("@loaders.gl/loader-utils");
3
7
  const CESIUM_ION_URL = 'https://api.cesium.com/v1/assets';
4
- export async function getIonTilesetMetadata(accessToken, assetId) {
5
- if (!assetId) {
6
- const assets = await getIonAssets(accessToken);
7
-
8
- for (const item of assets.items) {
9
- if (item.type === '3DTILES') {
10
- assetId = item.id;
11
- }
8
+ // Returns `{url, headers, type, attributions}` for an ion tileset
9
+ async function getIonTilesetMetadata(accessToken, assetId) {
10
+ // Step 1, if no asset id, look for first 3DTILES asset associated with this token.
11
+ if (!assetId) {
12
+ const assets = await getIonAssets(accessToken);
13
+ for (const item of assets.items) {
14
+ if (item.type === '3DTILES') {
15
+ assetId = item.id;
16
+ }
17
+ }
12
18
  }
13
- }
14
-
15
- const ionAssetMetadata = await getIonAssetMetadata(accessToken, assetId);
16
- const {
17
- type,
18
- url
19
- } = ionAssetMetadata;
20
- assert(type === '3DTILES' && url);
21
- ionAssetMetadata.headers = {
22
- Authorization: "Bearer ".concat(ionAssetMetadata.accessToken)
23
- };
24
- return ionAssetMetadata;
19
+ // Step 2: Query metdatadata for this asset.
20
+ const ionAssetMetadata = await getIonAssetMetadata(accessToken, assetId);
21
+ const { type, url } = ionAssetMetadata;
22
+ (0, loader_utils_1.assert)(type === '3DTILES' && url);
23
+ // Prepare a headers object for fetch
24
+ ionAssetMetadata.headers = {
25
+ Authorization: `Bearer ${ionAssetMetadata.accessToken}`
26
+ };
27
+ return ionAssetMetadata;
25
28
  }
26
- export async function getIonAssets(accessToken) {
27
- assert(accessToken);
28
- const url = CESIUM_ION_URL;
29
- const headers = {
30
- Authorization: "Bearer ".concat(accessToken)
31
- };
32
- const response = await fetchFile(url, {
33
- fetch: {
34
- headers
29
+ exports.getIonTilesetMetadata = getIonTilesetMetadata;
30
+ // Return a list of all assets associated with accessToken
31
+ async function getIonAssets(accessToken) {
32
+ (0, loader_utils_1.assert)(accessToken);
33
+ const url = CESIUM_ION_URL;
34
+ const headers = { Authorization: `Bearer ${accessToken}` };
35
+ const response = await (0, core_1.fetchFile)(url, { fetch: { headers } });
36
+ if (!response.ok) {
37
+ throw new Error(response.statusText);
35
38
  }
36
- });
37
-
38
- if (!response.ok) {
39
- throw new Error(response.statusText);
40
- }
41
-
42
- return await response.json();
39
+ return await response.json();
43
40
  }
44
- export async function getIonAssetMetadata(accessToken, assetId) {
45
- assert(accessToken, assetId);
46
- const headers = {
47
- Authorization: "Bearer ".concat(accessToken)
48
- };
49
- const url = "".concat(CESIUM_ION_URL, "/").concat(assetId);
50
- let response = await fetchFile("".concat(url), {
51
- fetch: {
52
- headers
41
+ exports.getIonAssets = getIonAssets;
42
+ // Return metadata for a specific asset associated with token
43
+ async function getIonAssetMetadata(accessToken, assetId) {
44
+ (0, loader_utils_1.assert)(accessToken, assetId);
45
+ const headers = { Authorization: `Bearer ${accessToken}` };
46
+ const url = `${CESIUM_ION_URL}/${assetId}`;
47
+ // https://cesium.com/docs/rest-api/#operation/getAsset
48
+ // Retrieves metadata information about a specific asset.
49
+ let response = await (0, core_1.fetchFile)(`${url}`, { fetch: { headers } });
50
+ if (!response.ok) {
51
+ throw new Error(response.statusText);
53
52
  }
54
- });
55
-
56
- if (!response.ok) {
57
- throw new Error(response.statusText);
58
- }
59
-
60
- let metadata = await response.json();
61
- response = await fetchFile("".concat(url, "/endpoint"), {
62
- fetch: {
63
- headers
53
+ let metadata = await response.json();
54
+ // https://cesium.com/docs/rest-api/#operation/getAssetEndpoint
55
+ // Retrieves information and credentials that allow you to access the tiled asset data for visualization and analysis.
56
+ response = await (0, core_1.fetchFile)(`${url}/endpoint`, { fetch: { headers } });
57
+ if (!response.ok) {
58
+ throw new Error(response.statusText);
64
59
  }
65
- });
66
-
67
- if (!response.ok) {
68
- throw new Error(response.statusText);
69
- }
70
-
71
- const tilesetInfo = await response.json();
72
- metadata = { ...metadata,
73
- ...tilesetInfo
74
- };
75
- return metadata;
60
+ const tilesetInfo = await response.json();
61
+ // extract dataset description
62
+ metadata = {
63
+ ...metadata,
64
+ ...tilesetInfo
65
+ };
66
+ return metadata;
76
67
  }
77
- //# sourceMappingURL=ion.js.map
68
+ exports.getIonAssetMetadata = getIonAssetMetadata;
@@ -0,0 +1,7 @@
1
+ export declare function normalize3DTileColorAttribute(tile: any, colors: any, batchTable?: any): {
2
+ type: number;
3
+ value: any;
4
+ size: number;
5
+ normalized: boolean;
6
+ } | null;
7
+ //# sourceMappingURL=normalize-3d-tile-colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-colors.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-colors.ts"],"names":[],"mappings":"AAGA,wBAAgB,6BAA6B,CAAC,IAAI,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,CAAC,KAAA;;;;;SA6DtE"}
@@ -1,67 +1,65 @@
1
- import { decodeRGB565, GL } from '@loaders.gl/math';
2
- export function normalize3DTileColorAttribute(tile, colors, batchTable) {
3
- if (!colors && (!tile || !tile.batchIds || !batchTable)) {
4
- return null;
5
- }
6
-
7
- const {
8
- batchIds,
9
- isRGB565,
10
- pointCount
11
- } = tile;
12
-
13
- if (batchIds && batchTable) {
14
- const colorArray = new Uint8ClampedArray(pointCount * 3);
15
-
16
- for (let i = 0; i < pointCount; i++) {
17
- const batchId = batchIds[i];
18
- const dimensions = batchTable.getProperty(batchId, 'dimensions');
19
- const color = dimensions.map(d => d * 255);
20
- colorArray[i * 3] = color[0];
21
- colorArray[i * 3 + 1] = color[1];
22
- colorArray[i * 3 + 2] = color[2];
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalize3DTileColorAttribute = void 0;
4
+ const math_1 = require("@loaders.gl/math");
5
+ /* eslint-disable complexity*/
6
+ function normalize3DTileColorAttribute(tile, colors, batchTable) {
7
+ // no colors defined
8
+ if (!colors && (!tile || !tile.batchIds || !batchTable)) {
9
+ return null;
23
10
  }
24
-
25
- return {
26
- type: GL.UNSIGNED_BYTE,
27
- value: colorArray,
28
- size: 3,
29
- normalized: true
30
- };
31
- }
32
-
33
- if (isRGB565) {
34
- const colorArray = new Uint8ClampedArray(pointCount * 3);
35
-
36
- for (let i = 0; i < pointCount; i++) {
37
- const color = decodeRGB565(colors[i]);
38
- colorArray[i * 3] = color[0];
39
- colorArray[i * 3 + 1] = color[1];
40
- colorArray[i * 3 + 2] = color[2];
11
+ const { batchIds, isRGB565, pointCount } = tile;
12
+ // Batch table, look up colors in table
13
+ if (batchIds && batchTable) {
14
+ const colorArray = new Uint8ClampedArray(pointCount * 3);
15
+ for (let i = 0; i < pointCount; i++) {
16
+ const batchId = batchIds[i];
17
+ // TODO figure out what is `dimensions` used for
18
+ const dimensions = batchTable.getProperty(batchId, 'dimensions');
19
+ const color = dimensions.map((d) => d * 255);
20
+ colorArray[i * 3] = color[0];
21
+ colorArray[i * 3 + 1] = color[1];
22
+ colorArray[i * 3 + 2] = color[2];
23
+ }
24
+ return {
25
+ type: math_1.GL.UNSIGNED_BYTE,
26
+ value: colorArray,
27
+ size: 3,
28
+ normalized: true
29
+ };
41
30
  }
42
-
43
- return {
44
- type: GL.UNSIGNED_BYTE,
45
- value: colorArray,
46
- size: 3,
47
- normalized: true
48
- };
49
- }
50
-
51
- if (colors && colors.length === pointCount * 3) {
31
+ // RGB565 case, convert to RGB
32
+ if (isRGB565) {
33
+ const colorArray = new Uint8ClampedArray(pointCount * 3);
34
+ for (let i = 0; i < pointCount; i++) {
35
+ const color = (0, math_1.decodeRGB565)(colors[i]);
36
+ colorArray[i * 3] = color[0];
37
+ colorArray[i * 3 + 1] = color[1];
38
+ colorArray[i * 3 + 2] = color[2];
39
+ }
40
+ return {
41
+ type: math_1.GL.UNSIGNED_BYTE,
42
+ value: colorArray,
43
+ size: 3,
44
+ normalized: true
45
+ };
46
+ }
47
+ // RGB case (tile.isTranslucent)
48
+ if (colors && colors.length === pointCount * 3) {
49
+ return {
50
+ type: math_1.GL.UNSIGNED_BYTE,
51
+ value: colors,
52
+ size: 3,
53
+ normalized: true
54
+ };
55
+ }
56
+ // DEFAULT: RGBA case
52
57
  return {
53
- type: GL.UNSIGNED_BYTE,
54
- value: colors,
55
- size: 3,
56
- normalized: true
58
+ type: math_1.GL.UNSIGNED_BYTE,
59
+ value: colors,
60
+ size: 4,
61
+ normalized: true
57
62
  };
58
- }
59
-
60
- return {
61
- type: GL.UNSIGNED_BYTE,
62
- value: colors,
63
- size: 4,
64
- normalized: true
65
- };
66
63
  }
67
- //# sourceMappingURL=normalize-3d-tile-colors.js.map
64
+ exports.normalize3DTileColorAttribute = normalize3DTileColorAttribute;
65
+ /* eslint-enable complexity*/
@@ -0,0 +1,6 @@
1
+ export declare function normalize3DTileNormalAttribute(tile: any, normals: any): {
2
+ type: number;
3
+ size: number;
4
+ value: any;
5
+ } | null;
6
+ //# sourceMappingURL=normalize-3d-tile-normals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-normals.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-normals.ts"],"names":[],"mappings":"AAKA,wBAAgB,8BAA8B,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA;;;;SAyB3D"}
@@ -1,30 +1,30 @@
1
- import { Vector3 } from '@math.gl/core';
2
- import { GL, octDecode } from '@loaders.gl/math';
3
- const scratchNormal = new Vector3();
4
- export function normalize3DTileNormalAttribute(tile, normals) {
5
- if (!normals) {
6
- return null;
7
- }
8
-
9
- if (tile.isOctEncoded16P) {
10
- const decodedArray = new Float32Array(tile.pointsLength * 3);
11
-
12
- for (let i = 0; i < tile.pointsLength; i++) {
13
- octDecode(normals[i * 2], normals[i * 2 + 1], scratchNormal);
14
- scratchNormal.toArray(decodedArray, i * 3);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalize3DTileNormalAttribute = void 0;
4
+ const core_1 = require("@math.gl/core");
5
+ const math_1 = require("@loaders.gl/math");
6
+ const scratchNormal = new core_1.Vector3();
7
+ function normalize3DTileNormalAttribute(tile, normals) {
8
+ if (!normals) {
9
+ return null;
10
+ }
11
+ if (tile.isOctEncoded16P) {
12
+ const decodedArray = new Float32Array(tile.pointsLength * 3);
13
+ for (let i = 0; i < tile.pointsLength; i++) {
14
+ (0, math_1.octDecode)(normals[i * 2], normals[i * 2 + 1], scratchNormal);
15
+ // @ts-ignore
16
+ scratchNormal.toArray(decodedArray, i * 3);
17
+ }
18
+ return {
19
+ type: math_1.GL.FLOAT,
20
+ size: 2,
21
+ value: decodedArray
22
+ };
15
23
  }
16
-
17
24
  return {
18
- type: GL.FLOAT,
19
- size: 2,
20
- value: decodedArray
25
+ type: math_1.GL.FLOAT,
26
+ size: 2,
27
+ value: normals
21
28
  };
22
- }
23
-
24
- return {
25
- type: GL.FLOAT,
26
- size: 2,
27
- value: normals
28
- };
29
29
  }
30
- //# sourceMappingURL=normalize-3d-tile-normals.js.map
30
+ exports.normalize3DTileNormalAttribute = normalize3DTileNormalAttribute;
@@ -0,0 +1,2 @@
1
+ export declare function normalize3DTilePositionAttribute(tile: any, positions: any, options: any): any;
2
+ //# sourceMappingURL=normalize-3d-tile-positions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-positions.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-positions.ts"],"names":[],"mappings":"AAIA,wBAAgB,gCAAgC,CAAC,IAAI,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAA,OAsBxE"}
@@ -1,31 +1,42 @@
1
- import { Vector3 } from '@math.gl/core';
2
- import { GL } from '@loaders.gl/math';
3
- export function normalize3DTilePositionAttribute(tile, positions, options) {
4
- if (!tile.isQuantized) {
5
- return positions;
6
- }
7
-
8
- if (options['3d-tiles'] && options['3d-tiles'].decodeQuantizedPositions) {
9
- tile.isQuantized = false;
10
- return decodeQuantizedPositions(tile, positions);
11
- }
12
-
13
- return {
14
- type: GL.UNSIGNED_SHORT,
15
- value: positions,
16
- size: 3,
17
- normalized: true
18
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalize3DTilePositionAttribute = void 0;
4
+ const core_1 = require("@math.gl/core");
5
+ const math_1 = require("@loaders.gl/math");
6
+ // Prepare attribute for positions
7
+ function normalize3DTilePositionAttribute(tile, positions, options) {
8
+ if (!tile.isQuantized) {
9
+ return positions;
10
+ }
11
+ // For quantized posititions, either expand to Float32Array or return custom accessor
12
+ // https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/specification/TileFormats/Instanced3DModel/README.md#quantized-positions
13
+ // Optionally decodes quantized positions on GPU, for simpler renderers that don't accept normalized attributes
14
+ if (options['3d-tiles'] && options['3d-tiles'].decodeQuantizedPositions) {
15
+ tile.isQuantized = false;
16
+ return decodeQuantizedPositions(tile, positions);
17
+ }
18
+ // Default: Use normalized shorts directly, no copying/processing.
19
+ // NOTE: The "missing" offset/scaling operations are automatically added to modelMatrix if `tile.isQuantized === true`
20
+ return {
21
+ type: math_1.GL.UNSIGNED_SHORT,
22
+ value: positions,
23
+ size: 3,
24
+ normalized: true
25
+ };
19
26
  }
20
-
27
+ exports.normalize3DTilePositionAttribute = normalize3DTilePositionAttribute;
28
+ // Pre-scale quantized positions on CPU
21
29
  function decodeQuantizedPositions(tile, positions) {
22
- const scratchPosition = new Vector3();
23
- const decodedArray = new Float32Array(tile.pointCount * 3);
24
-
25
- for (let i = 0; i < tile.pointCount; i++) {
26
- scratchPosition.set(positions[i * 3], positions[i * 3 + 1], positions[i * 3 + 2]).scale(1 / tile.quantizedRange).multiply(tile.quantizedVolumeScale).add(tile.quantizedVolumeOffset).toArray(decodedArray, i * 3);
27
- }
28
-
29
- return decodedArray;
30
+ const scratchPosition = new core_1.Vector3();
31
+ const decodedArray = new Float32Array(tile.pointCount * 3);
32
+ for (let i = 0; i < tile.pointCount; i++) {
33
+ // POSITION = POSITION_QUANTIZED / 65535.0 * QUANTIZED_VOLUME_SCALE + QUANTIZED_VOLUME_OFFSET
34
+ scratchPosition
35
+ .set(positions[i * 3], positions[i * 3 + 1], positions[i * 3 + 2])
36
+ .scale(1 / tile.quantizedRange)
37
+ .multiply(tile.quantizedVolumeScale)
38
+ .add(tile.quantizedVolumeOffset)
39
+ .toArray(decodedArray, i * 3);
40
+ }
41
+ return decodedArray;
30
42
  }
31
- //# sourceMappingURL=normalize-3d-tile-positions.js.map
@@ -0,0 +1,57 @@
1
+ import type { Subtree } from '../../../types';
2
+ import type { S2VolumeInfo } from '../../utils/obb/s2-corners-to-obb';
3
+ /**
4
+ * S2VolumeBox is an extention of BoundingVolume of type "box"
5
+ */
6
+ export type S2VolumeBox = {
7
+ /** BoundingVolume of type "box" has the "box" field. S2VolumeBox contains it as well. */
8
+ box: number[];
9
+ /** s2VolumeInfo provides additional info about the box - specifically the token, min and max height */
10
+ s2VolumeInfo: S2VolumeInfo;
11
+ };
12
+ /**
13
+ * Recursively parse implicit tiles tree
14
+ * Spec - https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_implicit_tiling
15
+ * TODO Check out do we able to use Tile3D class as return type here.
16
+ * @param subtree
17
+ * @param lodMetricValue
18
+ * @param options
19
+ * @param parentData
20
+ * @param childIndex
21
+ * @param level
22
+ * @param globalData
23
+ */
24
+ export declare function parseImplicitTiles(params: {
25
+ subtree: Subtree;
26
+ options: any;
27
+ parentData?: {
28
+ mortonIndex: number;
29
+ x: number;
30
+ y: number;
31
+ z: number;
32
+ };
33
+ childIndex?: number;
34
+ level?: number;
35
+ globalData?: {
36
+ level: number;
37
+ mortonIndex: number;
38
+ x: number;
39
+ y: number;
40
+ z: number;
41
+ };
42
+ s2VolumeBox?: S2VolumeBox;
43
+ }): Promise<{
44
+ children: never[];
45
+ lodMetricValue: number;
46
+ contentUrl: string;
47
+ }>;
48
+ /**
49
+ * Replace implicit tile content url with real coordinates.
50
+ * @param templateUrl
51
+ * @param level
52
+ * @param x
53
+ * @param y
54
+ * @param z
55
+ */
56
+ export declare function replaceContentUrlTemplate(templateUrl: string, level: number, x: number, y: number, z: number): string;
57
+ //# sourceMappingURL=parse-3d-implicit-tiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-3d-implicit-tiles.d.ts","sourceRoot":"","sources":["../../../../src/lib/parsers/helpers/parse-3d-implicit-tiles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAK1E,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAYpE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,yFAAyF;IACzF,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,uGAAuG;IACvG,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AA6CF;;;;;;;;;;;GAWG;AAEH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,EAAE;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACnF,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;;;;GAqIA;AA0HD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,MAAM,CAGR"}