@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":"encode-3d-tile-instanced-model.js","names":["_loaderUtils","require","_constants","_encode3dTileHeader","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","encodeInstancedModel3DTile","tile","dataView","byteOffset","options","_tile","_tile$featuresLength","featuresLength","_tile$gltfFormat","gltfFormat","_tile$gltfUri","gltfUri","gltfUriByteLength","featureTableJson","INSTANCES_LENGTH","POSITION","Array","fill","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","magic","MAGIC_ARRAY","INSTANCED_MODEL","byteOffsetStart","encode3DTileHeader","setUint32","copyStringToDataView","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-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 {copyStringToDataView} from '@loaders.gl/loader-utils';\nimport {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\n\n// Procedurally encode the tile array buffer for testing purposes\n// eslint-disable-next-line max-statements\nexport function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {\n const {featuresLength = 1, gltfFormat = 1, gltfUri = ''} = tile;\n\n const gltfUriByteLength = gltfUri.length;\n\n const featureTableJson = {\n INSTANCES_LENGTH: featuresLength,\n POSITION: new Array(featuresLength * 3).fill(0)\n };\n const featureTableJsonString = JSON.stringify(featureTableJson);\n const featureTableJsonByteLength = featureTableJsonString.length;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.INSTANCED_MODEL, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset = encode3DTileHeader(tile, dataView, 0);\n\n if (dataView) {\n dataView.setUint32(12, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(16, 0, true); // featureTableBinaryByteLength\n dataView.setUint32(20, 0, true); // batchTableJsonByteLength\n dataView.setUint32(24, 0, true); // batchTableBinaryByteLength\n dataView.setUint32(28, gltfFormat, true); // gltfFormat\n }\n\n byteOffset += 20;\n\n byteOffset += copyStringToDataView(\n dataView,\n byteOffset,\n featureTableJsonString,\n featureTableJsonByteLength\n );\n byteOffset += copyStringToDataView(dataView, byteOffset, gltfUri, gltfUriByteLength);\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"mappings":"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"}
@@ -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.encodePointCloud3DTile = encodePointCloud3DTile;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _constants = require("../constants");
10
+ var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
11
+ var _loaderUtils = require("@loaders.gl/loader-utils");
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ var DEFAULT_FEATURE_TABLE_JSON = {
15
+ POINTS_LENGTH: 1,
16
+ POSITIONS: {
17
+ byteOffset: 0
18
+ }
19
+ };
20
+ function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
21
+ var _tile = tile,
22
+ _tile$featureTableJso = _tile.featureTableJson,
23
+ featureTableJson = _tile$featureTableJso === void 0 ? DEFAULT_FEATURE_TABLE_JSON : _tile$featureTableJso;
24
+ var featureTableJsonString = JSON.stringify(featureTableJson);
25
+ featureTableJsonString = (0, _loaderUtils.padStringToByteAlignment)(featureTableJsonString, 4);
26
+ var _tile2 = tile,
27
+ _tile2$featureTableJs = _tile2.featureTableJsonByteLength,
28
+ featureTableJsonByteLength = _tile2$featureTableJs === void 0 ? featureTableJsonString.length : _tile2$featureTableJs;
29
+ var featureTableBinary = new ArrayBuffer(12);
30
+ var featureTableBinaryByteLength = featureTableBinary.byteLength;
31
+ tile = _objectSpread({
32
+ magic: _constants.MAGIC_ARRAY.POINT_CLOUD
33
+ }, tile);
34
+ var byteOffsetStart = byteOffset;
35
+ byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
36
+ if (dataView) {
37
+ dataView.setUint32(byteOffset + 0, featureTableJsonByteLength, true);
38
+ dataView.setUint32(byteOffset + 4, featureTableBinaryByteLength, true);
39
+ dataView.setUint32(byteOffset + 8, 0, true);
40
+ dataView.setUint32(byteOffset + 12, 0, true);
41
+ }
42
+ byteOffset += 16;
43
+ byteOffset += (0, _loaderUtils.copyStringToDataView)(dataView, byteOffset, featureTableJsonString, featureTableJsonByteLength);
44
+ byteOffset += (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, featureTableBinary, featureTableBinaryByteLength);
45
+ (0, _encode3dTileHeader.encode3DTileByteLength)(dataView, byteOffsetStart, byteOffset - byteOffsetStart);
46
+ return byteOffset;
47
+ }
48
+ //# sourceMappingURL=encode-3d-tile-point-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-3d-tile-point-cloud.js","names":["_constants","require","_encode3dTileHeader","_loaderUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEFAULT_FEATURE_TABLE_JSON","POINTS_LENGTH","POSITIONS","byteOffset","encodePointCloud3DTile","tile","dataView","options","_tile","_tile$featureTableJso","featureTableJson","featureTableJsonString","JSON","stringify","padStringToByteAlignment","_tile2","_tile2$featureTableJs","featureTableJsonByteLength","featureTableBinary","ArrayBuffer","featureTableBinaryByteLength","byteLength","magic","MAGIC_ARRAY","POINT_CLOUD","byteOffsetStart","encode3DTileHeader","setUint32","copyStringToDataView","copyBinaryToDataView","encode3DTileByteLength"],"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.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 {MAGIC_ARRAY} from '../constants';\nimport {encode3DTileHeader, encode3DTileByteLength} from './helpers/encode-3d-tile-header';\nimport {\n padStringToByteAlignment,\n copyStringToDataView,\n copyBinaryToDataView\n} from '@loaders.gl/loader-utils';\n\nconst DEFAULT_FEATURE_TABLE_JSON = {\n POINTS_LENGTH: 1,\n POSITIONS: {\n byteOffset: 0\n }\n};\n\nexport function encodePointCloud3DTile(tile, dataView, byteOffset, options) {\n const {featureTableJson = DEFAULT_FEATURE_TABLE_JSON} = tile;\n\n let featureTableJsonString = JSON.stringify(featureTableJson);\n featureTableJsonString = padStringToByteAlignment(featureTableJsonString, 4);\n\n const {featureTableJsonByteLength = featureTableJsonString.length} = tile;\n\n const featureTableBinary = new ArrayBuffer(12); // Enough space to hold 3 floats\n const featureTableBinaryByteLength = featureTableBinary.byteLength;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.POINT_CLOUD, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset += encode3DTileHeader(tile, dataView, 0);\n\n if (dataView) {\n dataView.setUint32(byteOffset + 0, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(byteOffset + 4, featureTableBinaryByteLength, true); // featureTableBinaryByteLength\n dataView.setUint32(byteOffset + 8, 0, true); // batchTableJsonByteLength\n dataView.setUint32(byteOffset + 12, 0, true); // batchTableBinaryByteLength\n }\n byteOffset += 16;\n\n byteOffset += copyStringToDataView(\n dataView,\n byteOffset,\n featureTableJsonString,\n featureTableJsonByteLength\n );\n byteOffset += copyBinaryToDataView(\n dataView,\n byteOffset,\n featureTableBinary,\n featureTableBinaryByteLength\n );\n\n // Go \"back\" and rewrite the tile's `byteLength` now that we know the value\n encode3DTileByteLength(dataView, byteOffsetStart, byteOffset - byteOffsetStart);\n\n return byteOffset;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAIkC,SAAAG,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAElC,IAAMY,0BAA0B,GAAG;EACjCC,aAAa,EAAE,CAAC;EAChBC,SAAS,EAAE;IACTC,UAAU,EAAE;EACd;AACF,CAAC;AAEM,SAASC,sBAAsBA,CAACC,IAAI,EAAEC,QAAQ,EAAEH,UAAU,EAAEI,OAAO,EAAE;EAC1E,IAAAC,KAAA,GAAwDH,IAAI;IAAAI,qBAAA,GAAAD,KAAA,CAArDE,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAGT,0BAA0B,GAAAS,qBAAA;EAEpD,IAAIE,sBAAsB,GAAGC,IAAI,CAACC,SAAS,CAACH,gBAAgB,CAAC;EAC7DC,sBAAsB,GAAG,IAAAG,qCAAwB,EAACH,sBAAsB,EAAE,CAAC,CAAC;EAE5E,IAAAI,MAAA,GAAqEV,IAAI;IAAAW,qBAAA,GAAAD,MAAA,CAAlEE,0BAA0B;IAA1BA,0BAA0B,GAAAD,qBAAA,cAAGL,sBAAsB,CAACpB,MAAM,GAAAyB,qBAAA;EAEjE,IAAME,kBAAkB,GAAG,IAAIC,WAAW,CAAC,EAAE,CAAC;EAC9C,IAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAU;EAGlEhB,IAAI,GAAAlB,aAAA;IAAImC,KAAK,EAAEC,sBAAW,CAACC;EAAW,GAAKnB,IAAI,CAAC;EAEhD,IAAMoB,eAAe,GAAGtB,UAAU;EAElCA,UAAU,IAAI,IAAAuB,sCAAkB,EAACrB,IAAI,EAAEC,QAAQ,EAAE,CAAC,CAAC;EAEnD,IAAIA,QAAQ,EAAE;IACZA,QAAQ,CAACqB,SAAS,CAACxB,UAAU,GAAG,CAAC,EAAEc,0BAA0B,EAAE,IAAI,CAAC;IACpEX,QAAQ,CAACqB,SAAS,CAACxB,UAAU,GAAG,CAAC,EAAEiB,4BAA4B,EAAE,IAAI,CAAC;IACtEd,QAAQ,CAACqB,SAAS,CAACxB,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;IAC3CG,QAAQ,CAACqB,SAAS,CAACxB,UAAU,GAAG,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;EAC9C;EACAA,UAAU,IAAI,EAAE;EAEhBA,UAAU,IAAI,IAAAyB,iCAAoB,EAChCtB,QAAQ,EACRH,UAAU,EACVQ,sBAAsB,EACtBM,0BACF,CAAC;EACDd,UAAU,IAAI,IAAA0B,iCAAoB,EAChCvB,QAAQ,EACRH,UAAU,EACVe,kBAAkB,EAClBE,4BACF,CAAC;EAGD,IAAAU,0CAAsB,EAACxB,QAAQ,EAAEmB,eAAe,EAAEtB,UAAU,GAAGsB,eAAe,CAAC;EAE/E,OAAOtB,UAAU;AACnB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = encode3DTile;
7
+ var _constants = require("../constants");
8
+ var _loaderUtils = require("@loaders.gl/loader-utils");
9
+ var _encode3dTileComposite = require("./encode-3d-tile-composite");
10
+ var _encode3dTileBatchedModel = require("./encode-3d-tile-batched-model");
11
+ var _encode3dTileInstancedModel = require("./encode-3d-tile-instanced-model");
12
+ var _encode3dTilePointCloud = require("./encode-3d-tile-point-cloud");
13
+ function encode3DTile(tile, options) {
14
+ var byteLength = encode3DTileToDataView(tile, null, 0, options);
15
+ var arrayBuffer = new ArrayBuffer(byteLength);
16
+ var dataView = new DataView(arrayBuffer);
17
+ encode3DTileToDataView(tile, dataView, 0, options);
18
+ return arrayBuffer;
19
+ }
20
+ function encode3DTileToDataView(tile, dataView, byteOffset, options) {
21
+ (0, _loaderUtils.assert)(typeof tile.type === 'string');
22
+ switch (tile.type) {
23
+ case _constants.TILE3D_TYPE.COMPOSITE:
24
+ return (0, _encode3dTileComposite.encodeComposite3DTile)(tile, dataView, byteOffset, options, encode3DTileToDataView);
25
+ case _constants.TILE3D_TYPE.POINT_CLOUD:
26
+ return (0, _encode3dTilePointCloud.encodePointCloud3DTile)(tile, dataView, byteOffset, options);
27
+ case _constants.TILE3D_TYPE.BATCHED_3D_MODEL:
28
+ return (0, _encode3dTileBatchedModel.encodeBatchedModel3DTile)(tile, dataView, byteOffset, options);
29
+ case _constants.TILE3D_TYPE.INSTANCED_3D_MODEL:
30
+ return (0, _encode3dTileInstancedModel.encodeInstancedModel3DTile)(tile, dataView, byteOffset, options);
31
+ default:
32
+ throw new Error('3D Tiles: unknown tile type');
33
+ }
34
+ }
35
+ //# sourceMappingURL=encode-3d-tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-3d-tile.js","names":["_constants","require","_loaderUtils","_encode3dTileComposite","_encode3dTileBatchedModel","_encode3dTileInstancedModel","_encode3dTilePointCloud","encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","assert","type","TILE3D_TYPE","COMPOSITE","encodeComposite3DTile","POINT_CLOUD","encodePointCloud3DTile","BATCHED_3D_MODEL","encodeBatchedModel3DTile","INSTANCED_3D_MODEL","encodeInstancedModel3DTile","Error"],"sources":["../../../../src/lib/encoders/encode-3d-tile.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 {TILE3D_TYPE} from '../constants';\nimport {assert} from '@loaders.gl/loader-utils';\n\nimport {encodeComposite3DTile} from './encode-3d-tile-composite';\nimport {encodeBatchedModel3DTile} from './encode-3d-tile-batched-model';\nimport {encodeInstancedModel3DTile} from './encode-3d-tile-instanced-model';\nimport {encodePointCloud3DTile} from './encode-3d-tile-point-cloud';\n\nexport default function encode3DTile(tile, options) {\n const byteLength = encode3DTileToDataView(tile, null, 0, options);\n const arrayBuffer = new ArrayBuffer(byteLength);\n const dataView = new DataView(arrayBuffer);\n encode3DTileToDataView(tile, dataView, 0, options);\n return arrayBuffer;\n}\n\nfunction encode3DTileToDataView(tile, dataView, byteOffset, options) {\n assert(typeof tile.type === 'string');\n\n switch (tile.type) {\n case TILE3D_TYPE.COMPOSITE:\n return encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTileToDataView);\n case TILE3D_TYPE.POINT_CLOUD:\n return encodePointCloud3DTile(tile, dataView, byteOffset, options);\n case TILE3D_TYPE.BATCHED_3D_MODEL:\n return encodeBatchedModel3DTile(tile, dataView, byteOffset, options);\n case TILE3D_TYPE.INSTANCED_3D_MODEL:\n return encodeInstancedModel3DTile(tile, dataView, byteOffset, options);\n default:\n throw new Error('3D Tiles: unknown tile type');\n }\n}\n"],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,yBAAA,GAAAH,OAAA;AACA,IAAAI,2BAAA,GAAAJ,OAAA;AACA,IAAAK,uBAAA,GAAAL,OAAA;AAEe,SAASM,YAAYA,CAACC,IAAI,EAAEC,OAAO,EAAE;EAClD,IAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAI,EAAE,IAAI,EAAE,CAAC,EAAEC,OAAO,CAAC;EACjE,IAAMG,WAAW,GAAG,IAAIC,WAAW,CAACH,UAAU,CAAC;EAC/C,IAAMI,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1CD,sBAAsB,CAACH,IAAI,EAAEM,QAAQ,EAAE,CAAC,EAAEL,OAAO,CAAC;EAClD,OAAOG,WAAW;AACpB;AAEA,SAASD,sBAAsBA,CAACH,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,EAAE;EACnE,IAAAQ,mBAAM,EAAC,OAAOT,IAAI,CAACU,IAAI,KAAK,QAAQ,CAAC;EAErC,QAAQV,IAAI,CAACU,IAAI;IACf,KAAKC,sBAAW,CAACC,SAAS;MACxB,OAAO,IAAAC,4CAAqB,EAACb,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,EAAEE,sBAAsB,CAAC;IAC3F,KAAKQ,sBAAW,CAACG,WAAW;MAC1B,OAAO,IAAAC,8CAAsB,EAACf,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACpE,KAAKU,sBAAW,CAACK,gBAAgB;MAC/B,OAAO,IAAAC,kDAAwB,EAACjB,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACtE,KAAKU,sBAAW,CAACO,kBAAkB;MACjC,OAAO,IAAAC,sDAA0B,EAACnB,IAAI,EAAEM,QAAQ,EAAEE,UAAU,EAAEP,OAAO,CAAC;IACxE;MACE,MAAM,IAAImB,KAAK,CAAC,6BAA6B,CAAC;EAClD;AACF"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.encode3DTileByteLength = encode3DTileByteLength;
7
+ exports.encode3DTileHeader = encode3DTileHeader;
8
+ var _loaderUtils = require("@loaders.gl/loader-utils");
9
+ function encode3DTileHeader(tile, dataView, byteOffset) {
10
+ var HEADER_SIZE = 12;
11
+ if (!dataView) {
12
+ return byteOffset + HEADER_SIZE;
13
+ }
14
+ var magic = tile.magic,
15
+ _tile$version = tile.version,
16
+ version = _tile$version === void 0 ? 1 : _tile$version,
17
+ _tile$byteLength = tile.byteLength,
18
+ byteLength = _tile$byteLength === void 0 ? 12 : _tile$byteLength;
19
+ (0, _loaderUtils.assert)(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));
20
+ dataView.setUint8(byteOffset + 0, magic[0]);
21
+ dataView.setUint8(byteOffset + 1, magic[1]);
22
+ dataView.setUint8(byteOffset + 2, magic[2]);
23
+ dataView.setUint8(byteOffset + 3, magic[3]);
24
+ dataView.setUint32(byteOffset + 4, version, true);
25
+ dataView.setUint32(byteOffset + 8, byteLength, true);
26
+ byteOffset += HEADER_SIZE;
27
+ return byteOffset;
28
+ }
29
+ function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {
30
+ if (!dataView) {
31
+ return;
32
+ }
33
+ dataView.setUint32(byteOffsetTileStart + 8, byteLength, true);
34
+ }
35
+ //# sourceMappingURL=encode-3d-tile-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-3d-tile-header.js","names":["_loaderUtils","require","encode3DTileHeader","tile","dataView","byteOffset","HEADER_SIZE","magic","_tile$version","version","_tile$byteLength","byteLength","assert","Array","isArray","Number","isFinite","setUint8","setUint32","encode3DTileByteLength","byteOffsetTileStart"],"sources":["../../../../../src/lib/encoders/helpers/encode-3d-tile-header.ts"],"sourcesContent":["// HELPER ENCODERS\nimport {assert} from '@loaders.gl/loader-utils';\n\nexport function encode3DTileHeader(tile, dataView, byteOffset) {\n const HEADER_SIZE = 12;\n\n if (!dataView) {\n return byteOffset + HEADER_SIZE;\n }\n\n const {magic, version = 1, byteLength = 12} = tile;\n\n assert(Array.isArray(magic) && Number.isFinite(version) && Number.isFinite(byteLength));\n\n dataView.setUint8(byteOffset + 0, magic[0]);\n dataView.setUint8(byteOffset + 1, magic[1]);\n dataView.setUint8(byteOffset + 2, magic[2]);\n dataView.setUint8(byteOffset + 3, magic[3]);\n dataView.setUint32(byteOffset + 4, version, true); // version\n dataView.setUint32(byteOffset + 8, byteLength, true); // byteLength\n\n byteOffset += HEADER_SIZE;\n\n return byteOffset;\n}\n\n// Bytelength is sometimes only known at the end of writing a tile\nexport function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {\n if (!dataView) {\n return;\n }\n\n dataView.setUint32(byteOffsetTileStart + 8, byteLength, true); // byteLength\n}\n"],"mappings":";;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEO,SAASC,kBAAkBA,CAACC,IAAI,EAAEC,QAAQ,EAAEC,UAAU,EAAE;EAC7D,IAAMC,WAAW,GAAG,EAAE;EAEtB,IAAI,CAACF,QAAQ,EAAE;IACb,OAAOC,UAAU,GAAGC,WAAW;EACjC;EAEA,IAAOC,KAAK,GAAkCJ,IAAI,CAA3CI,KAAK;IAAAC,aAAA,GAAkCL,IAAI,CAApCM,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,CAAC,GAAAA,aAAA;IAAAE,gBAAA,GAAqBP,IAAI,CAAvBQ,UAAU;IAAVA,UAAU,GAAAD,gBAAA,cAAG,EAAE,GAAAA,gBAAA;EAE1C,IAAAE,mBAAM,EAACC,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,IAAIQ,MAAM,CAACC,QAAQ,CAACP,OAAO,CAAC,IAAIM,MAAM,CAACC,QAAQ,CAACL,UAAU,CAAC,CAAC;EAEvFP,QAAQ,CAACa,QAAQ,CAACZ,UAAU,GAAG,CAAC,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3CH,QAAQ,CAACa,QAAQ,CAACZ,UAAU,GAAG,CAAC,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3CH,QAAQ,CAACa,QAAQ,CAACZ,UAAU,GAAG,CAAC,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3CH,QAAQ,CAACa,QAAQ,CAACZ,UAAU,GAAG,CAAC,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3CH,QAAQ,CAACc,SAAS,CAACb,UAAU,GAAG,CAAC,EAAEI,OAAO,EAAE,IAAI,CAAC;EACjDL,QAAQ,CAACc,SAAS,CAACb,UAAU,GAAG,CAAC,EAAEM,UAAU,EAAE,IAAI,CAAC;EAEpDN,UAAU,IAAIC,WAAW;EAEzB,OAAOD,UAAU;AACnB;AAGO,SAASc,sBAAsBA,CAACf,QAAQ,EAAEgB,mBAAmB,EAAET,UAAU,EAAE;EAChF,IAAI,CAACP,QAAQ,EAAE;IACb;EACF;EAEAA,QAAQ,CAACc,SAAS,CAACE,mBAAmB,GAAG,CAAC,EAAET,UAAU,EAAE,IAAI,CAAC;AAC/D"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getIonAssetMetadata = getIonAssetMetadata;
8
+ exports.getIonAssets = getIonAssets;
9
+ exports.getIonTilesetMetadata = getIonTilesetMetadata;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+ var _core = require("@loaders.gl/core");
14
+ var _loaderUtils = require("@loaders.gl/loader-utils");
15
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
+ var CESIUM_ION_URL = 'https://api.cesium.com/v1/assets';
21
+ function getIonTilesetMetadata(_x, _x2) {
22
+ return _getIonTilesetMetadata.apply(this, arguments);
23
+ }
24
+ function _getIonTilesetMetadata() {
25
+ _getIonTilesetMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(accessToken, assetId) {
26
+ var assets, _iterator, _step, item, ionAssetMetadata, type, url;
27
+ return _regenerator.default.wrap(function _callee$(_context) {
28
+ while (1) switch (_context.prev = _context.next) {
29
+ case 0:
30
+ if (assetId) {
31
+ _context.next = 6;
32
+ break;
33
+ }
34
+ _context.next = 3;
35
+ return getIonAssets(accessToken);
36
+ case 3:
37
+ assets = _context.sent;
38
+ _iterator = _createForOfIteratorHelper(assets.items);
39
+ try {
40
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
41
+ item = _step.value;
42
+ if (item.type === '3DTILES') {
43
+ assetId = item.id;
44
+ }
45
+ }
46
+ } catch (err) {
47
+ _iterator.e(err);
48
+ } finally {
49
+ _iterator.f();
50
+ }
51
+ case 6:
52
+ _context.next = 8;
53
+ return getIonAssetMetadata(accessToken, assetId);
54
+ case 8:
55
+ ionAssetMetadata = _context.sent;
56
+ type = ionAssetMetadata.type, url = ionAssetMetadata.url;
57
+ (0, _loaderUtils.assert)(type === '3DTILES' && url);
58
+ ionAssetMetadata.headers = {
59
+ Authorization: "Bearer ".concat(ionAssetMetadata.accessToken)
60
+ };
61
+ return _context.abrupt("return", ionAssetMetadata);
62
+ case 13:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }, _callee);
67
+ }));
68
+ return _getIonTilesetMetadata.apply(this, arguments);
69
+ }
70
+ function getIonAssets(_x3) {
71
+ return _getIonAssets.apply(this, arguments);
72
+ }
73
+ function _getIonAssets() {
74
+ _getIonAssets = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(accessToken) {
75
+ var url, headers, response;
76
+ return _regenerator.default.wrap(function _callee2$(_context2) {
77
+ while (1) switch (_context2.prev = _context2.next) {
78
+ case 0:
79
+ (0, _loaderUtils.assert)(accessToken);
80
+ url = CESIUM_ION_URL;
81
+ headers = {
82
+ Authorization: "Bearer ".concat(accessToken)
83
+ };
84
+ _context2.next = 5;
85
+ return (0, _core.fetchFile)(url, {
86
+ fetch: {
87
+ headers: headers
88
+ }
89
+ });
90
+ case 5:
91
+ response = _context2.sent;
92
+ if (response.ok) {
93
+ _context2.next = 8;
94
+ break;
95
+ }
96
+ throw new Error(response.statusText);
97
+ case 8:
98
+ _context2.next = 10;
99
+ return response.json();
100
+ case 10:
101
+ return _context2.abrupt("return", _context2.sent);
102
+ case 11:
103
+ case "end":
104
+ return _context2.stop();
105
+ }
106
+ }, _callee2);
107
+ }));
108
+ return _getIonAssets.apply(this, arguments);
109
+ }
110
+ function getIonAssetMetadata(_x4, _x5) {
111
+ return _getIonAssetMetadata.apply(this, arguments);
112
+ }
113
+ function _getIonAssetMetadata() {
114
+ _getIonAssetMetadata = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(accessToken, assetId) {
115
+ var headers, url, response, metadata, tilesetInfo;
116
+ return _regenerator.default.wrap(function _callee3$(_context3) {
117
+ while (1) switch (_context3.prev = _context3.next) {
118
+ case 0:
119
+ (0, _loaderUtils.assert)(accessToken, assetId);
120
+ headers = {
121
+ Authorization: "Bearer ".concat(accessToken)
122
+ };
123
+ url = "".concat(CESIUM_ION_URL, "/").concat(assetId);
124
+ _context3.next = 5;
125
+ return (0, _core.fetchFile)("".concat(url), {
126
+ fetch: {
127
+ headers: headers
128
+ }
129
+ });
130
+ case 5:
131
+ response = _context3.sent;
132
+ if (response.ok) {
133
+ _context3.next = 8;
134
+ break;
135
+ }
136
+ throw new Error(response.statusText);
137
+ case 8:
138
+ _context3.next = 10;
139
+ return response.json();
140
+ case 10:
141
+ metadata = _context3.sent;
142
+ _context3.next = 13;
143
+ return (0, _core.fetchFile)("".concat(url, "/endpoint"), {
144
+ fetch: {
145
+ headers: headers
146
+ }
147
+ });
148
+ case 13:
149
+ response = _context3.sent;
150
+ if (response.ok) {
151
+ _context3.next = 16;
152
+ break;
153
+ }
154
+ throw new Error(response.statusText);
155
+ case 16:
156
+ _context3.next = 18;
157
+ return response.json();
158
+ case 18:
159
+ tilesetInfo = _context3.sent;
160
+ metadata = _objectSpread(_objectSpread({}, metadata), tilesetInfo);
161
+ return _context3.abrupt("return", metadata);
162
+ case 21:
163
+ case "end":
164
+ return _context3.stop();
165
+ }
166
+ }, _callee3);
167
+ }));
168
+ return _getIonAssetMetadata.apply(this, arguments);
169
+ }
170
+ //# sourceMappingURL=ion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ion.js","names":["_core","require","_loaderUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","CESIUM_ION_URL","getIonTilesetMetadata","_x","_x2","_getIonTilesetMetadata","_asyncToGenerator2","_regenerator","mark","_callee","accessToken","assetId","assets","_iterator","_step","item","ionAssetMetadata","type","url","wrap","_callee$","_context","prev","getIonAssets","sent","items","id","getIonAssetMetadata","assert","headers","Authorization","concat","abrupt","stop","_x3","_getIonAssets","_callee2","response","_callee2$","_context2","fetchFile","fetch","ok","Error","statusText","json","_x4","_x5","_getIonAssetMetadata","_callee3","metadata","tilesetInfo","_callee3$","_context3"],"sources":["../../../../src/lib/ion/ion.ts"],"sourcesContent":["// Minimal support to load tilsets from the Cesium ION services\n\nimport {fetchFile} from '@loaders.gl/core';\nimport {assert} from '@loaders.gl/loader-utils';\n\nconst CESIUM_ION_URL = 'https://api.cesium.com/v1/assets';\n\n// Returns `{url, headers, type, attributions}` for an ion tileset\nexport async function getIonTilesetMetadata(accessToken, assetId) {\n // Step 1, if no asset id, look for first 3DTILES asset associated with this token.\n if (!assetId) {\n const assets = await getIonAssets(accessToken);\n for (const item of assets.items) {\n if (item.type === '3DTILES') {\n assetId = item.id;\n }\n }\n }\n\n // Step 2: Query metdatadata for this asset.\n const ionAssetMetadata = await getIonAssetMetadata(accessToken, assetId);\n const {type, url} = ionAssetMetadata;\n assert(type === '3DTILES' && url);\n\n // Prepare a headers object for fetch\n ionAssetMetadata.headers = {\n Authorization: `Bearer ${ionAssetMetadata.accessToken}`\n };\n return ionAssetMetadata;\n}\n\n// Return a list of all assets associated with accessToken\nexport async function getIonAssets(accessToken) {\n assert(accessToken);\n const url = CESIUM_ION_URL;\n const headers = {Authorization: `Bearer ${accessToken}`};\n const response = await fetchFile(url, {fetch: {headers}});\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return await response.json();\n}\n\n// Return metadata for a specific asset associated with token\nexport async function getIonAssetMetadata(accessToken, assetId) {\n assert(accessToken, assetId);\n const headers = {Authorization: `Bearer ${accessToken}`};\n\n const url = `${CESIUM_ION_URL}/${assetId}`;\n // https://cesium.com/docs/rest-api/#operation/getAsset\n // Retrieves metadata information about a specific asset.\n let response = await fetchFile(`${url}`, {fetch: {headers}});\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n let metadata = await response.json();\n\n // https://cesium.com/docs/rest-api/#operation/getAssetEndpoint\n // Retrieves information and credentials that allow you to access the tiled asset data for visualization and analysis.\n response = await fetchFile(`${url}/endpoint`, {fetch: {headers}});\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n const tilesetInfo = await response.json();\n\n // extract dataset description\n metadata = {\n ...metadata,\n ...tilesetInfo\n };\n\n return metadata;\n}\n"],"mappings":";;;;;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAY,2BAAAC,CAAA,EAAAC,cAAA,QAAAC,EAAA,UAAAC,MAAA,oBAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,EAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,EAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,cAAA,IAAAD,CAAA,WAAAA,CAAA,CAAAV,MAAA,qBAAAY,EAAA,EAAAF,CAAA,GAAAE,EAAA,MAAAd,CAAA,UAAAoB,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAAtB,CAAA,IAAAY,CAAA,CAAAV,MAAA,WAAAqB,IAAA,mBAAAA,IAAA,SAAAC,KAAA,EAAAZ,CAAA,CAAAZ,CAAA,UAAAyB,CAAA,WAAAA,EAAAC,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAP,CAAA,gBAAAQ,SAAA,iJAAAC,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAV,CAAA,WAAAA,EAAA,IAAAP,EAAA,GAAAA,EAAA,CAAAkB,IAAA,CAAApB,CAAA,MAAAU,CAAA,WAAAA,EAAA,QAAAW,IAAA,GAAAnB,EAAA,CAAAoB,IAAA,IAAAL,gBAAA,GAAAI,IAAA,CAAAV,IAAA,SAAAU,IAAA,KAAAR,CAAA,WAAAA,EAAAU,GAAA,IAAAL,MAAA,SAAAC,GAAA,GAAAI,GAAA,KAAAR,CAAA,WAAAA,EAAA,eAAAE,gBAAA,IAAAf,EAAA,CAAAsB,MAAA,UAAAtB,EAAA,CAAAsB,MAAA,oBAAAN,MAAA,QAAAC,GAAA;AAAA,SAAAZ,4BAAAP,CAAA,EAAAyB,MAAA,SAAAzB,CAAA,qBAAAA,CAAA,sBAAA0B,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA,OAAAf,CAAA,GAAAjC,MAAA,CAAAkD,SAAA,CAAAC,QAAA,CAAAR,IAAA,CAAApB,CAAA,EAAA6B,KAAA,aAAAnB,CAAA,iBAAAV,CAAA,CAAA8B,WAAA,EAAApB,CAAA,GAAAV,CAAA,CAAA8B,WAAA,CAAAC,IAAA,MAAArB,CAAA,cAAAA,CAAA,mBAAAL,KAAA,CAAA2B,IAAA,CAAAhC,CAAA,OAAAU,CAAA,+DAAAuB,IAAA,CAAAvB,CAAA,UAAAgB,iBAAA,CAAA1B,CAAA,EAAAyB,MAAA;AAAA,SAAAC,kBAAAQ,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAA5C,MAAA,EAAA6C,GAAA,GAAAD,GAAA,CAAA5C,MAAA,WAAAF,CAAA,MAAAgD,IAAA,OAAA/B,KAAA,CAAA8B,GAAA,GAAA/C,CAAA,GAAA+C,GAAA,EAAA/C,CAAA,IAAAgD,IAAA,CAAAhD,CAAA,IAAA8C,GAAA,CAAA9C,CAAA,UAAAgD,IAAA;AAEhD,IAAMC,cAAc,GAAG,kCAAkC;AAAC,SAGpCC,qBAAqBA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,sBAAA,CAAAxD,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAoD,uBAAA;EAAAA,sBAAA,OAAAC,kBAAA,CAAA/C,OAAA,EAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAApC,SAAAC,QAAqCC,WAAW,EAAEC,OAAO;IAAA,IAAAC,MAAA,EAAAC,SAAA,EAAAC,KAAA,EAAAC,IAAA,EAAAC,gBAAA,EAAAC,IAAA,EAAAC,GAAA;IAAA,OAAAX,YAAA,CAAAhD,OAAA,CAAA4D,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAnC,IAAA;QAAA;UAAA,IAEzDyB,OAAO;YAAAU,QAAA,CAAAnC,IAAA;YAAA;UAAA;UAAAmC,QAAA,CAAAnC,IAAA;UAAA,OACWqC,YAAY,CAACb,WAAW,CAAC;QAAA;UAAxCE,MAAM,GAAAS,QAAA,CAAAG,IAAA;UAAAX,SAAA,GAAAlD,0BAAA,CACOiD,MAAM,CAACa,KAAK;UAAA;YAA/B,KAAAZ,SAAA,CAAAxC,CAAA,MAAAyC,KAAA,GAAAD,SAAA,CAAAvC,CAAA,IAAAC,IAAA,GAAiC;cAAtBwC,IAAI,GAAAD,KAAA,CAAAtC,KAAA;cACb,IAAIuC,IAAI,CAACE,IAAI,KAAK,SAAS,EAAE;gBAC3BN,OAAO,GAAGI,IAAI,CAACW,EAAE;cACnB;YACF;UAAC,SAAA3C,GAAA;YAAA8B,SAAA,CAAApC,CAAA,CAAAM,GAAA;UAAA;YAAA8B,SAAA,CAAAlC,CAAA;UAAA;QAAA;UAAA0C,QAAA,CAAAnC,IAAA;UAAA,OAI4ByC,mBAAmB,CAACjB,WAAW,EAAEC,OAAO,CAAC;QAAA;UAAlEK,gBAAgB,GAAAK,QAAA,CAAAG,IAAA;UACfP,IAAI,GAASD,gBAAgB,CAA7BC,IAAI,EAAEC,GAAG,GAAIF,gBAAgB,CAAvBE,GAAG;UAChB,IAAAU,mBAAM,EAACX,IAAI,KAAK,SAAS,IAAIC,GAAG,CAAC;UAGjCF,gBAAgB,CAACa,OAAO,GAAG;YACzBC,aAAa,YAAAC,MAAA,CAAYf,gBAAgB,CAACN,WAAW;UACvD,CAAC;UAAC,OAAAW,QAAA,CAAAW,MAAA,WACKhB,gBAAgB;QAAA;QAAA;UAAA,OAAAK,QAAA,CAAAY,IAAA;MAAA;IAAA,GAAAxB,OAAA;EAAA,CACxB;EAAA,OAAAJ,sBAAA,CAAAxD,KAAA,OAAAI,SAAA;AAAA;AAAA,SAGqBsE,YAAYA,CAAAW,GAAA;EAAA,OAAAC,aAAA,CAAAtF,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAAkF,cAAA;EAAAA,aAAA,OAAA7B,kBAAA,CAAA/C,OAAA,EAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAA3B,SAAA4B,SAA4B1B,WAAW;IAAA,IAAAQ,GAAA,EAAAW,OAAA,EAAAQ,QAAA;IAAA,OAAA9B,YAAA,CAAAhD,OAAA,CAAA4D,IAAA,UAAAmB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAjB,IAAA,GAAAiB,SAAA,CAAArD,IAAA;QAAA;UAC5C,IAAA0C,mBAAM,EAAClB,WAAW,CAAC;UACbQ,GAAG,GAAGjB,cAAc;UACpB4B,OAAO,GAAG;YAACC,aAAa,YAAAC,MAAA,CAAYrB,WAAW;UAAE,CAAC;UAAA6B,SAAA,CAAArD,IAAA;UAAA,OACjC,IAAAsD,eAAS,EAACtB,GAAG,EAAE;YAACuB,KAAK,EAAE;cAACZ,OAAO,EAAPA;YAAO;UAAC,CAAC,CAAC;QAAA;UAAnDQ,QAAQ,GAAAE,SAAA,CAAAf,IAAA;UAAA,IACTa,QAAQ,CAACK,EAAE;YAAAH,SAAA,CAAArD,IAAA;YAAA;UAAA;UAAA,MACR,IAAIyD,KAAK,CAACN,QAAQ,CAACO,UAAU,CAAC;QAAA;UAAAL,SAAA,CAAArD,IAAA;UAAA,OAEzBmD,QAAQ,CAACQ,IAAI,CAAC,CAAC;QAAA;UAAA,OAAAN,SAAA,CAAAP,MAAA,WAAAO,SAAA,CAAAf,IAAA;QAAA;QAAA;UAAA,OAAAe,SAAA,CAAAN,IAAA;MAAA;IAAA,GAAAG,QAAA;EAAA,CAC7B;EAAA,OAAAD,aAAA,CAAAtF,KAAA,OAAAI,SAAA;AAAA;AAAA,SAGqB0E,mBAAmBA,CAAAmB,GAAA,EAAAC,GAAA;EAAA,OAAAC,oBAAA,CAAAnG,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAA+F,qBAAA;EAAAA,oBAAA,OAAA1C,kBAAA,CAAA/C,OAAA,EAAAgD,YAAA,CAAAhD,OAAA,CAAAiD,IAAA,CAAlC,SAAAyC,SAAmCvC,WAAW,EAAEC,OAAO;IAAA,IAAAkB,OAAA,EAAAX,GAAA,EAAAmB,QAAA,EAAAa,QAAA,EAAAC,WAAA;IAAA,OAAA5C,YAAA,CAAAhD,OAAA,CAAA4D,IAAA,UAAAiC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAA/B,IAAA,GAAA+B,SAAA,CAAAnE,IAAA;QAAA;UAC5D,IAAA0C,mBAAM,EAAClB,WAAW,EAAEC,OAAO,CAAC;UACtBkB,OAAO,GAAG;YAACC,aAAa,YAAAC,MAAA,CAAYrB,WAAW;UAAE,CAAC;UAElDQ,GAAG,MAAAa,MAAA,CAAM9B,cAAc,OAAA8B,MAAA,CAAIpB,OAAO;UAAA0C,SAAA,CAAAnE,IAAA;UAAA,OAGnB,IAAAsD,eAAS,KAAAT,MAAA,CAAIb,GAAG,GAAI;YAACuB,KAAK,EAAE;cAACZ,OAAO,EAAPA;YAAO;UAAC,CAAC,CAAC;QAAA;UAAxDQ,QAAQ,GAAAgB,SAAA,CAAA7B,IAAA;UAAA,IACPa,QAAQ,CAACK,EAAE;YAAAW,SAAA,CAAAnE,IAAA;YAAA;UAAA;UAAA,MACR,IAAIyD,KAAK,CAACN,QAAQ,CAACO,UAAU,CAAC;QAAA;UAAAS,SAAA,CAAAnE,IAAA;UAAA,OAEjBmD,QAAQ,CAACQ,IAAI,CAAC,CAAC;QAAA;UAAhCK,QAAQ,GAAAG,SAAA,CAAA7B,IAAA;UAAA6B,SAAA,CAAAnE,IAAA;UAAA,OAIK,IAAAsD,eAAS,KAAAT,MAAA,CAAIb,GAAG,gBAAa;YAACuB,KAAK,EAAE;cAACZ,OAAO,EAAPA;YAAO;UAAC,CAAC,CAAC;QAAA;UAAjEQ,QAAQ,GAAAgB,SAAA,CAAA7B,IAAA;UAAA,IACHa,QAAQ,CAACK,EAAE;YAAAW,SAAA,CAAAnE,IAAA;YAAA;UAAA;UAAA,MACR,IAAIyD,KAAK,CAACN,QAAQ,CAACO,UAAU,CAAC;QAAA;UAAAS,SAAA,CAAAnE,IAAA;UAAA,OAEZmD,QAAQ,CAACQ,IAAI,CAAC,CAAC;QAAA;UAAnCM,WAAW,GAAAE,SAAA,CAAA7B,IAAA;UAGjB0B,QAAQ,GAAApG,aAAA,CAAAA,aAAA,KACHoG,QAAQ,GACRC,WAAW,CACf;UAAC,OAAAE,SAAA,CAAArB,MAAA,WAEKkB,QAAQ;QAAA;QAAA;UAAA,OAAAG,SAAA,CAAApB,IAAA;MAAA;IAAA,GAAAgB,QAAA;EAAA,CAChB;EAAA,OAAAD,oBAAA,CAAAnG,KAAA,OAAAI,SAAA;AAAA"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalize3DTileColorAttribute = normalize3DTileColorAttribute;
7
+ var _math = require("@loaders.gl/math");
8
+ function normalize3DTileColorAttribute(tile, colors, batchTable) {
9
+ if (!colors && (!tile || !tile.batchIds || !batchTable)) {
10
+ return null;
11
+ }
12
+ var batchIds = tile.batchIds,
13
+ isRGB565 = tile.isRGB565,
14
+ _tile$pointCount = tile.pointCount,
15
+ pointCount = _tile$pointCount === void 0 ? 0 : _tile$pointCount;
16
+ if (batchIds && batchTable) {
17
+ var colorArray = new Uint8ClampedArray(pointCount * 3);
18
+ for (var i = 0; i < pointCount; i++) {
19
+ var batchId = batchIds[i];
20
+ var dimensions = batchTable.getProperty(batchId, 'dimensions');
21
+ var color = dimensions.map(function (d) {
22
+ return d * 255;
23
+ });
24
+ colorArray[i * 3] = color[0];
25
+ colorArray[i * 3 + 1] = color[1];
26
+ colorArray[i * 3 + 2] = color[2];
27
+ }
28
+ return {
29
+ type: _math.GL.UNSIGNED_BYTE,
30
+ value: colorArray,
31
+ size: 3,
32
+ normalized: true
33
+ };
34
+ }
35
+ if (colors && isRGB565) {
36
+ var _colorArray = new Uint8ClampedArray(pointCount * 3);
37
+ for (var _i = 0; _i < pointCount; _i++) {
38
+ var _color = (0, _math.decodeRGB565)(colors[_i]);
39
+ _colorArray[_i * 3] = _color[0];
40
+ _colorArray[_i * 3 + 1] = _color[1];
41
+ _colorArray[_i * 3 + 2] = _color[2];
42
+ }
43
+ return {
44
+ type: _math.GL.UNSIGNED_BYTE,
45
+ value: _colorArray,
46
+ size: 3,
47
+ normalized: true
48
+ };
49
+ }
50
+ if (colors && colors.length === pointCount * 3) {
51
+ return {
52
+ type: _math.GL.UNSIGNED_BYTE,
53
+ value: colors,
54
+ size: 3,
55
+ normalized: true
56
+ };
57
+ }
58
+ return {
59
+ type: _math.GL.UNSIGNED_BYTE,
60
+ value: colors || new Uint8ClampedArray(),
61
+ size: 4,
62
+ normalized: true
63
+ };
64
+ }
65
+ //# sourceMappingURL=normalize-3d-tile-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-colors.js","names":["_math","require","normalize3DTileColorAttribute","tile","colors","batchTable","batchIds","isRGB565","_tile$pointCount","pointCount","colorArray","Uint8ClampedArray","i","batchId","dimensions","getProperty","color","map","d","type","GL","UNSIGNED_BYTE","value","size","normalized","decodeRGB565","length"],"sources":["../../../../../src/lib/parsers/helpers/normalize-3d-tile-colors.ts"],"sourcesContent":["import {Tile3DBatchTable} from '@loaders.gl/3d-tiles';\nimport {decodeRGB565, GL} from '@loaders.gl/math';\nimport {Tiles3DTileContent} from '../../../types';\n\n/* eslint-disable complexity*/\nexport function normalize3DTileColorAttribute(\n tile: Tiles3DTileContent,\n colors: Uint8ClampedArray | null,\n batchTable?: Tile3DBatchTable\n): {type: number; value: Uint8ClampedArray; size: number; normalized: boolean} | null {\n // no colors defined\n if (!colors && (!tile || !tile.batchIds || !batchTable)) {\n return null;\n }\n\n const {batchIds, isRGB565, pointCount = 0} = tile;\n // Batch table, look up colors in table\n if (batchIds && batchTable) {\n const colorArray = new Uint8ClampedArray(pointCount * 3);\n for (let i = 0; i < pointCount; i++) {\n const batchId = batchIds[i];\n // TODO figure out what is `dimensions` used for\n const dimensions = batchTable.getProperty(batchId, 'dimensions');\n const color = dimensions.map((d) => d * 255);\n colorArray[i * 3] = color[0];\n colorArray[i * 3 + 1] = color[1];\n colorArray[i * 3 + 2] = color[2];\n }\n return {\n type: GL.UNSIGNED_BYTE,\n value: colorArray,\n size: 3,\n normalized: true\n };\n }\n\n // RGB565 case, convert to RGB\n if (colors && isRGB565) {\n const colorArray = new Uint8ClampedArray(pointCount * 3);\n for (let i = 0; i < pointCount; i++) {\n const color = decodeRGB565(colors[i]);\n colorArray[i * 3] = color[0];\n colorArray[i * 3 + 1] = color[1];\n colorArray[i * 3 + 2] = color[2];\n }\n return {\n type: GL.UNSIGNED_BYTE,\n value: colorArray,\n size: 3,\n normalized: true\n };\n }\n\n // RGB case (tile.isTranslucent)\n if (colors && colors.length === pointCount * 3) {\n return {\n type: GL.UNSIGNED_BYTE,\n value: colors,\n size: 3,\n normalized: true\n };\n }\n\n // DEFAULT: RGBA case\n return {\n type: GL.UNSIGNED_BYTE,\n value: colors || new Uint8ClampedArray(),\n size: 4,\n normalized: true\n };\n}\n/* eslint-enable complexity*/\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAIO,SAASC,6BAA6BA,CAC3CC,IAAwB,EACxBC,MAAgC,EAChCC,UAA6B,EACuD;EAEpF,IAAI,CAACD,MAAM,KAAK,CAACD,IAAI,IAAI,CAACA,IAAI,CAACG,QAAQ,IAAI,CAACD,UAAU,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,IAAOC,QAAQ,GAA8BH,IAAI,CAA1CG,QAAQ;IAAEC,QAAQ,GAAoBJ,IAAI,CAAhCI,QAAQ;IAAAC,gBAAA,GAAoBL,IAAI,CAAtBM,UAAU;IAAVA,UAAU,GAAAD,gBAAA,cAAG,CAAC,GAAAA,gBAAA;EAEzC,IAAIF,QAAQ,IAAID,UAAU,EAAE;IAC1B,IAAMK,UAAU,GAAG,IAAIC,iBAAiB,CAACF,UAAU,GAAG,CAAC,CAAC;IACxD,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,UAAU,EAAEG,CAAC,EAAE,EAAE;MACnC,IAAMC,OAAO,GAAGP,QAAQ,CAACM,CAAC,CAAC;MAE3B,IAAME,UAAU,GAAGT,UAAU,CAACU,WAAW,CAACF,OAAO,EAAE,YAAY,CAAC;MAChE,IAAMG,KAAK,GAAGF,UAAU,CAACG,GAAG,CAAC,UAACC,CAAC;QAAA,OAAKA,CAAC,GAAG,GAAG;MAAA,EAAC;MAC5CR,UAAU,CAACE,CAAC,GAAG,CAAC,CAAC,GAAGI,KAAK,CAAC,CAAC,CAAC;MAC5BN,UAAU,CAACE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGI,KAAK,CAAC,CAAC,CAAC;MAChCN,UAAU,CAACE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGI,KAAK,CAAC,CAAC,CAAC;IAClC;IACA,OAAO;MACLG,IAAI,EAAEC,QAAE,CAACC,aAAa;MACtBC,KAAK,EAAEZ,UAAU;MACjBa,IAAI,EAAE,CAAC;MACPC,UAAU,EAAE;IACd,CAAC;EACH;EAGA,IAAIpB,MAAM,IAAIG,QAAQ,EAAE;IACtB,IAAMG,WAAU,GAAG,IAAIC,iBAAiB,CAACF,UAAU,GAAG,CAAC,CAAC;IACxD,KAAK,IAAIG,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGH,UAAU,EAAEG,EAAC,EAAE,EAAE;MACnC,IAAMI,MAAK,GAAG,IAAAS,kBAAY,EAACrB,MAAM,CAACQ,EAAC,CAAC,CAAC;MACrCF,WAAU,CAACE,EAAC,GAAG,CAAC,CAAC,GAAGI,MAAK,CAAC,CAAC,CAAC;MAC5BN,WAAU,CAACE,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGI,MAAK,CAAC,CAAC,CAAC;MAChCN,WAAU,CAACE,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGI,MAAK,CAAC,CAAC,CAAC;IAClC;IACA,OAAO;MACLG,IAAI,EAAEC,QAAE,CAACC,aAAa;MACtBC,KAAK,EAAEZ,WAAU;MACjBa,IAAI,EAAE,CAAC;MACPC,UAAU,EAAE;IACd,CAAC;EACH;EAGA,IAAIpB,MAAM,IAAIA,MAAM,CAACsB,MAAM,KAAKjB,UAAU,GAAG,CAAC,EAAE;IAC9C,OAAO;MACLU,IAAI,EAAEC,QAAE,CAACC,aAAa;MACtBC,KAAK,EAAElB,MAAM;MACbmB,IAAI,EAAE,CAAC;MACPC,UAAU,EAAE;IACd,CAAC;EACH;EAGA,OAAO;IACLL,IAAI,EAAEC,QAAE,CAACC,aAAa;IACtBC,KAAK,EAAElB,MAAM,IAAI,IAAIO,iBAAiB,CAAC,CAAC;IACxCY,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE;EACd,CAAC;AACH"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalize3DTileNormalAttribute = normalize3DTileNormalAttribute;
7
+ var _core = require("@math.gl/core");
8
+ var _math = require("@loaders.gl/math");
9
+ var scratchNormal = new _core.Vector3();
10
+ function normalize3DTileNormalAttribute(tile, normals) {
11
+ if (!normals) {
12
+ return null;
13
+ }
14
+ if (tile.isOctEncoded16P) {
15
+ var decodedArray = new Float32Array((tile.pointsLength || 0) * 3);
16
+ for (var i = 0; i < (tile.pointsLength || 0); i++) {
17
+ (0, _math.octDecode)(normals[i * 2], normals[i * 2 + 1], scratchNormal);
18
+ scratchNormal.toArray(decodedArray, i * 3);
19
+ }
20
+ return {
21
+ type: _math.GL.FLOAT,
22
+ size: 2,
23
+ value: decodedArray
24
+ };
25
+ }
26
+ return {
27
+ type: _math.GL.FLOAT,
28
+ size: 2,
29
+ value: normals
30
+ };
31
+ }
32
+ //# sourceMappingURL=normalize-3d-tile-normals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-normals.js","names":["_core","require","_math","scratchNormal","Vector3","normalize3DTileNormalAttribute","tile","normals","isOctEncoded16P","decodedArray","Float32Array","pointsLength","i","octDecode","toArray","type","GL","FLOAT","size","value"],"sources":["../../../../../src/lib/parsers/helpers/normalize-3d-tile-normals.ts"],"sourcesContent":["import {Vector3} from '@math.gl/core';\nimport {GL, octDecode} from '@loaders.gl/math';\nimport {Tiles3DTileContent} from '../../../types';\n\nconst scratchNormal = new Vector3();\n\nexport function normalize3DTileNormalAttribute(\n tile: Tiles3DTileContent,\n normals: Float32Array | null\n): {type: number; size: number; value: Float32Array} | null {\n if (!normals) {\n return null;\n }\n\n if (tile.isOctEncoded16P) {\n const decodedArray = new Float32Array((tile.pointsLength || 0) * 3);\n for (let i = 0; i < (tile.pointsLength || 0); i++) {\n octDecode(normals[i * 2], normals[i * 2 + 1], scratchNormal);\n // @ts-ignore\n scratchNormal.toArray(decodedArray, i * 3);\n }\n\n return {\n type: GL.FLOAT,\n size: 2,\n value: decodedArray\n };\n }\n\n return {\n type: GL.FLOAT,\n size: 2,\n value: normals\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAME,aAAa,GAAG,IAAIC,aAAO,CAAC,CAAC;AAE5B,SAASC,8BAA8BA,CAC5CC,IAAwB,EACxBC,OAA4B,EAC8B;EAC1D,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,IAAID,IAAI,CAACE,eAAe,EAAE;IACxB,IAAMC,YAAY,GAAG,IAAIC,YAAY,CAAC,CAACJ,IAAI,CAACK,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC;IACnE,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIN,IAAI,CAACK,YAAY,IAAI,CAAC,CAAC,EAAEC,CAAC,EAAE,EAAE;MACjD,IAAAC,eAAS,EAACN,OAAO,CAACK,CAAC,GAAG,CAAC,CAAC,EAAEL,OAAO,CAACK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAET,aAAa,CAAC;MAE5DA,aAAa,CAACW,OAAO,CAACL,YAAY,EAAEG,CAAC,GAAG,CAAC,CAAC;IAC5C;IAEA,OAAO;MACLG,IAAI,EAAEC,QAAE,CAACC,KAAK;MACdC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAEV;IACT,CAAC;EACH;EAEA,OAAO;IACLM,IAAI,EAAEC,QAAE,CAACC,KAAK;IACdC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAEZ;EACT,CAAC;AACH"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.normalize3DTilePositionAttribute = normalize3DTilePositionAttribute;
7
+ var _core = require("@math.gl/core");
8
+ var _math = require("@loaders.gl/math");
9
+ function normalize3DTilePositionAttribute(tile, positions, options) {
10
+ if (!tile.isQuantized) {
11
+ return positions;
12
+ }
13
+ if (options['3d-tiles'] && options['3d-tiles'].decodeQuantizedPositions) {
14
+ tile.isQuantized = false;
15
+ return decodeQuantizedPositions(tile, positions);
16
+ }
17
+ return {
18
+ type: _math.GL.UNSIGNED_SHORT,
19
+ value: positions,
20
+ size: 3,
21
+ normalized: true
22
+ };
23
+ }
24
+ function decodeQuantizedPositions(tile, positions) {
25
+ var scratchPosition = new _core.Vector3();
26
+ var decodedArray = new Float32Array(tile.pointCount * 3);
27
+ for (var i = 0; i < tile.pointCount; i++) {
28
+ 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);
29
+ }
30
+ return decodedArray;
31
+ }
32
+ //# sourceMappingURL=normalize-3d-tile-positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-3d-tile-positions.js","names":["_core","require","_math","normalize3DTilePositionAttribute","tile","positions","options","isQuantized","decodeQuantizedPositions","type","GL","UNSIGNED_SHORT","value","size","normalized","scratchPosition","Vector3","decodedArray","Float32Array","pointCount","i","set","scale","quantizedRange","multiply","quantizedVolumeScale","add","quantizedVolumeOffset","toArray"],"sources":["../../../../../src/lib/parsers/helpers/normalize-3d-tile-positions.ts"],"sourcesContent":["import {Vector3} from '@math.gl/core';\nimport {GL} from '@loaders.gl/math';\n\n// Prepare attribute for positions\nexport function normalize3DTilePositionAttribute(tile, positions, options) {\n if (!tile.isQuantized) {\n return positions;\n }\n\n // For quantized posititions, either expand to Float32Array or return custom accessor\n // https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/specification/TileFormats/Instanced3DModel/README.md#quantized-positions\n\n // Optionally decodes quantized positions on GPU, for simpler renderers that don't accept normalized attributes\n if (options['3d-tiles'] && options['3d-tiles'].decodeQuantizedPositions) {\n tile.isQuantized = false;\n return decodeQuantizedPositions(tile, positions);\n }\n\n // Default: Use normalized shorts directly, no copying/processing.\n // NOTE: The \"missing\" offset/scaling operations are automatically added to modelMatrix if `tile.isQuantized === true`\n return {\n type: GL.UNSIGNED_SHORT,\n value: positions,\n size: 3,\n normalized: true\n };\n}\n\n// Pre-scale quantized positions on CPU\nfunction decodeQuantizedPositions(tile, positions) {\n const scratchPosition = new Vector3();\n const decodedArray = new Float32Array(tile.pointCount * 3);\n\n for (let i = 0; i < tile.pointCount; i++) {\n // POSITION = POSITION_QUANTIZED / 65535.0 * QUANTIZED_VOLUME_SCALE + QUANTIZED_VOLUME_OFFSET\n scratchPosition\n .set(positions[i * 3], positions[i * 3 + 1], positions[i * 3 + 2])\n .scale(1 / tile.quantizedRange)\n .multiply(tile.quantizedVolumeScale)\n .add(tile.quantizedVolumeOffset)\n .toArray(decodedArray, i * 3);\n }\n\n return decodedArray;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGO,SAASE,gCAAgCA,CAACC,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAE;EACzE,IAAI,CAACF,IAAI,CAACG,WAAW,EAAE;IACrB,OAAOF,SAAS;EAClB;EAMA,IAAIC,OAAO,CAAC,UAAU,CAAC,IAAIA,OAAO,CAAC,UAAU,CAAC,CAACE,wBAAwB,EAAE;IACvEJ,IAAI,CAACG,WAAW,GAAG,KAAK;IACxB,OAAOC,wBAAwB,CAACJ,IAAI,EAAEC,SAAS,CAAC;EAClD;EAIA,OAAO;IACLI,IAAI,EAAEC,QAAE,CAACC,cAAc;IACvBC,KAAK,EAAEP,SAAS;IAChBQ,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE;EACd,CAAC;AACH;AAGA,SAASN,wBAAwBA,CAACJ,IAAI,EAAEC,SAAS,EAAE;EACjD,IAAMU,eAAe,GAAG,IAAIC,aAAO,CAAC,CAAC;EACrC,IAAMC,YAAY,GAAG,IAAIC,YAAY,CAACd,IAAI,CAACe,UAAU,GAAG,CAAC,CAAC;EAE1D,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,IAAI,CAACe,UAAU,EAAEC,CAAC,EAAE,EAAE;IAExCL,eAAe,CACZM,GAAG,CAAChB,SAAS,CAACe,CAAC,GAAG,CAAC,CAAC,EAAEf,SAAS,CAACe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAEf,SAAS,CAACe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CACjEE,KAAK,CAAC,CAAC,GAAGlB,IAAI,CAACmB,cAAc,CAAC,CAC9BC,QAAQ,CAACpB,IAAI,CAACqB,oBAAoB,CAAC,CACnCC,GAAG,CAACtB,IAAI,CAACuB,qBAAqB,CAAC,CAC/BC,OAAO,CAACX,YAAY,EAAEG,CAAC,GAAG,CAAC,CAAC;EACjC;EAEA,OAAOH,YAAY;AACrB"}