@loaders.gl/3d-tiles 3.1.3 → 4.0.0-alpha.5

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 (224) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/cesium-ion-loader.js +32 -36
  4. package/dist/cesium-ion-loader.js.map +1 -0
  5. package/dist/dist.min.js +88 -40
  6. package/dist/index.js +9 -26
  7. package/dist/index.js.map +1 -0
  8. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +89 -106
  9. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -0
  10. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +202 -184
  11. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -0
  12. package/dist/lib/classes/tile-3d-batch-table.js +282 -223
  13. package/dist/lib/classes/tile-3d-batch-table.js.map +1 -0
  14. package/dist/lib/classes/tile-3d-feature-table.js +86 -64
  15. package/dist/lib/classes/tile-3d-feature-table.js.map +1 -0
  16. package/dist/lib/constants.js +19 -23
  17. package/dist/lib/constants.js.map +1 -0
  18. package/dist/lib/encoders/encode-3d-tile-batched-model.js +45 -45
  19. package/dist/lib/encoders/encode-3d-tile-batched-model.js.map +1 -0
  20. package/dist/lib/encoders/encode-3d-tile-composite.js +24 -23
  21. package/dist/lib/encoders/encode-3d-tile-composite.js.map +1 -0
  22. package/dist/lib/encoders/encode-3d-tile-instanced-model.js +37 -37
  23. package/dist/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -0
  24. package/dist/lib/encoders/encode-3d-tile-point-cloud.js +38 -36
  25. package/dist/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -0
  26. package/dist/lib/encoders/encode-3d-tile.js +32 -30
  27. package/dist/lib/encoders/encode-3d-tile.js.map +1 -0
  28. package/dist/lib/encoders/helpers/encode-3d-tile-header.js +29 -28
  29. package/dist/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -0
  30. package/dist/lib/ion/ion.js +69 -60
  31. package/dist/lib/ion/ion.js.map +1 -0
  32. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +62 -60
  33. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -0
  34. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +26 -26
  35. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -0
  36. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +28 -39
  37. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -0
  38. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts +18 -11
  39. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.d.ts.map +1 -1
  40. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js +203 -170
  41. package/dist/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +1 -0
  42. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +63 -82
  43. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -0
  44. package/dist/lib/parsers/helpers/parse-3d-tile-header.js +15 -26
  45. package/dist/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -0
  46. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +57 -68
  47. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  48. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +80 -84
  49. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -0
  50. package/dist/lib/parsers/helpers/parse-utils.js +16 -29
  51. package/dist/lib/parsers/helpers/parse-utils.js.map +1 -0
  52. package/dist/lib/parsers/parse-3d-tile-batched-model.js +26 -30
  53. package/dist/lib/parsers/parse-3d-tile-batched-model.js.map +1 -0
  54. package/dist/lib/parsers/parse-3d-tile-composite.js +16 -25
  55. package/dist/lib/parsers/parse-3d-tile-composite.js.map +1 -0
  56. package/dist/lib/parsers/parse-3d-tile-gltf.js +9 -17
  57. package/dist/lib/parsers/parse-3d-tile-gltf.js.map +1 -0
  58. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -1
  59. package/dist/lib/parsers/parse-3d-tile-header.js +139 -122
  60. package/dist/lib/parsers/parse-3d-tile-header.js.map +1 -0
  61. package/dist/lib/parsers/parse-3d-tile-instanced-model.js +170 -179
  62. package/dist/{es5/lib → lib}/parsers/parse-3d-tile-instanced-model.js.map +1 -1
  63. package/dist/lib/parsers/parse-3d-tile-point-cloud.js +184 -350
  64. package/dist/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -0
  65. package/dist/lib/parsers/parse-3d-tile.js +31 -36
  66. package/dist/lib/parsers/parse-3d-tile.js.map +1 -0
  67. package/dist/lib/utils/version.js +2 -7
  68. package/dist/lib/utils/version.js.map +1 -0
  69. package/dist/tile-3d-subtree-loader.js +13 -22
  70. package/dist/tile-3d-subtree-loader.js.map +1 -0
  71. package/dist/tile-3d-writer.js +17 -24
  72. package/dist/tile-3d-writer.js.map +1 -0
  73. package/dist/tiles-3d-loader.js +66 -67
  74. package/dist/tiles-3d-loader.js.map +1 -0
  75. package/dist/types.d.ts +2 -1
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/types.js +2 -2
  78. package/dist/{es5/types.js.map → types.js.map} +0 -0
  79. package/package.json +10 -10
  80. package/src/lib/parsers/helpers/parse-3d-implicit-tiles.ts +95 -31
  81. package/src/lib/parsers/parse-3d-tile-header.ts +3 -1
  82. package/src/types.ts +2 -1
  83. package/dist/es5/bundle.js +0 -7
  84. package/dist/es5/bundle.js.map +0 -1
  85. package/dist/es5/cesium-ion-loader.js +0 -100
  86. package/dist/es5/cesium-ion-loader.js.map +0 -1
  87. package/dist/es5/index.js +0 -72
  88. package/dist/es5/index.js.map +0 -1
  89. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +0 -120
  90. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
  91. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +0 -225
  92. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
  93. package/dist/es5/lib/classes/tile-3d-batch-table.js +0 -349
  94. package/dist/es5/lib/classes/tile-3d-batch-table.js.map +0 -1
  95. package/dist/es5/lib/classes/tile-3d-feature-table.js +0 -119
  96. package/dist/es5/lib/classes/tile-3d-feature-table.js.map +0 -1
  97. package/dist/es5/lib/constants.js +0 -32
  98. package/dist/es5/lib/constants.js.map +0 -1
  99. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +0 -63
  100. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
  101. package/dist/es5/lib/encoders/encode-3d-tile-composite.js +0 -41
  102. package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +0 -1
  103. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +0 -57
  104. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
  105. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +0 -59
  106. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
  107. package/dist/es5/lib/encoders/encode-3d-tile.js +0 -48
  108. package/dist/es5/lib/encoders/encode-3d-tile.js.map +0 -1
  109. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +0 -41
  110. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
  111. package/dist/es5/lib/ion/ion.js +0 -219
  112. package/dist/es5/lib/ion/ion.js.map +0 -1
  113. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -76
  114. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
  115. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -40
  116. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
  117. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -40
  118. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
  119. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -270
  120. package/dist/es5/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
  121. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -123
  122. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
  123. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +0 -25
  124. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
  125. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -161
  126. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
  127. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +0 -98
  128. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
  129. package/dist/es5/lib/parsers/helpers/parse-utils.js +0 -32
  130. package/dist/es5/lib/parsers/helpers/parse-utils.js.map +0 -1
  131. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +0 -69
  132. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
  133. package/dist/es5/lib/parsers/parse-3d-tile-composite.js +0 -61
  134. package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +0 -1
  135. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js +0 -45
  136. package/dist/es5/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
  137. package/dist/es5/lib/parsers/parse-3d-tile-header.js +0 -233
  138. package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +0 -1
  139. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +0 -220
  140. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +0 -346
  141. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
  142. package/dist/es5/lib/parsers/parse-3d-tile.js +0 -100
  143. package/dist/es5/lib/parsers/parse-3d-tile.js.map +0 -1
  144. package/dist/es5/lib/utils/version.js +0 -9
  145. package/dist/es5/lib/utils/version.js.map +0 -1
  146. package/dist/es5/tile-3d-subtree-loader.js +0 -26
  147. package/dist/es5/tile-3d-subtree-loader.js.map +0 -1
  148. package/dist/es5/tile-3d-writer.js +0 -32
  149. package/dist/es5/tile-3d-writer.js.map +0 -1
  150. package/dist/es5/tiles-3d-loader.js +0 -190
  151. package/dist/es5/tiles-3d-loader.js.map +0 -1
  152. package/dist/es5/types.js +0 -2
  153. package/dist/esm/bundle.js +0 -5
  154. package/dist/esm/bundle.js.map +0 -1
  155. package/dist/esm/cesium-ion-loader.js +0 -36
  156. package/dist/esm/cesium-ion-loader.js.map +0 -1
  157. package/dist/esm/index.js +0 -9
  158. package/dist/esm/index.js.map +0 -1
  159. package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js +0 -96
  160. package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +0 -1
  161. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +0 -215
  162. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +0 -1
  163. package/dist/esm/lib/classes/tile-3d-batch-table.js +0 -304
  164. package/dist/esm/lib/classes/tile-3d-batch-table.js.map +0 -1
  165. package/dist/esm/lib/classes/tile-3d-feature-table.js +0 -94
  166. package/dist/esm/lib/classes/tile-3d-feature-table.js.map +0 -1
  167. package/dist/esm/lib/constants.js +0 -22
  168. package/dist/esm/lib/constants.js.map +0 -1
  169. package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js +0 -46
  170. package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +0 -1
  171. package/dist/esm/lib/encoders/encode-3d-tile-composite.js +0 -25
  172. package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +0 -1
  173. package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js +0 -38
  174. package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +0 -1
  175. package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js +0 -41
  176. package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +0 -1
  177. package/dist/esm/lib/encoders/encode-3d-tile.js +0 -35
  178. package/dist/esm/lib/encoders/encode-3d-tile.js.map +0 -1
  179. package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js +0 -31
  180. package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +0 -1
  181. package/dist/esm/lib/ion/ion.js +0 -77
  182. package/dist/esm/lib/ion/ion.js.map +0 -1
  183. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js +0 -67
  184. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +0 -1
  185. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js +0 -30
  186. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +0 -1
  187. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js +0 -31
  188. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +0 -1
  189. package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js +0 -173
  190. package/dist/esm/lib/parsers/helpers/parse-3d-implicit-tiles.js.map +0 -1
  191. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +0 -69
  192. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +0 -1
  193. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +0 -17
  194. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +0 -1
  195. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +0 -64
  196. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +0 -1
  197. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +0 -89
  198. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +0 -1
  199. package/dist/esm/lib/parsers/helpers/parse-utils.js +0 -19
  200. package/dist/esm/lib/parsers/helpers/parse-utils.js.map +0 -1
  201. package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js +0 -29
  202. package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +0 -1
  203. package/dist/esm/lib/parsers/parse-3d-tile-composite.js +0 -17
  204. package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +0 -1
  205. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js +0 -10
  206. package/dist/esm/lib/parsers/parse-3d-tile-gltf.js.map +0 -1
  207. package/dist/esm/lib/parsers/parse-3d-tile-header.js +0 -144
  208. package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +0 -1
  209. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +0 -177
  210. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +0 -1
  211. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +0 -245
  212. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +0 -1
  213. package/dist/esm/lib/parsers/parse-3d-tile.js +0 -32
  214. package/dist/esm/lib/parsers/parse-3d-tile.js.map +0 -1
  215. package/dist/esm/lib/utils/version.js +0 -2
  216. package/dist/esm/lib/utils/version.js.map +0 -1
  217. package/dist/esm/tile-3d-subtree-loader.js +0 -14
  218. package/dist/esm/tile-3d-subtree-loader.js.map +0 -1
  219. package/dist/esm/tile-3d-writer.js +0 -20
  220. package/dist/esm/tile-3d-writer.js.map +0 -1
  221. package/dist/esm/tiles-3d-loader.js +0 -79
  222. package/dist/esm/tiles-3d-loader.js.map +0 -1
  223. package/dist/esm/types.js +0 -2
  224. package/dist/esm/types.js.map +0 -1
@@ -1,33 +1,35 @@
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;
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;
17
13
  }
18
- exports.default = encode3DTile;
14
+
19
15
  function encode3DTileToDataView(tile, dataView, byteOffset, options) {
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
- }
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
+ }
33
34
  }
35
+ //# sourceMappingURL=encode-3d-tile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/encoders/encode-3d-tile.ts"],"names":["TILE3D_TYPE","assert","encodeComposite3DTile","encodeBatchedModel3DTile","encodeInstancedModel3DTile","encodePointCloud3DTile","encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","type","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","Error"],"mappings":"AAGA,SAAQA,WAAR,QAA0B,cAA1B;AACA,SAAQC,MAAR,QAAqB,0BAArB;AAEA,SAAQC,qBAAR,QAAoC,4BAApC;AACA,SAAQC,wBAAR,QAAuC,gCAAvC;AACA,SAAQC,0BAAR,QAAyC,kCAAzC;AACA,SAAQC,sBAAR,QAAqC,8BAArC;AAEA,eAAe,SAASC,YAAT,CAAsBC,IAAtB,EAA4BC,OAA5B,EAAqC;AAClD,QAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAD,EAAO,IAAP,EAAa,CAAb,EAAgBC,OAAhB,CAAzC;AACA,QAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAhB,CAApB;AACA,QAAMI,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACAD,EAAAA,sBAAsB,CAACH,IAAD,EAAOM,QAAP,EAAiB,CAAjB,EAAoBL,OAApB,CAAtB;AACA,SAAOG,WAAP;AACD;;AAED,SAASD,sBAAT,CAAgCH,IAAhC,EAAsCM,QAAtC,EAAgDE,UAAhD,EAA4DP,OAA5D,EAAqE;AACnEP,EAAAA,MAAM,CAAC,OAAOM,IAAI,CAACS,IAAZ,KAAqB,QAAtB,CAAN;;AAEA,UAAQT,IAAI,CAACS,IAAb;AACE,SAAKhB,WAAW,CAACiB,SAAjB;AACE,aAAOf,qBAAqB,CAACK,IAAD,EAAOM,QAAP,EAAiBE,UAAjB,EAA6BP,OAA7B,EAAsCE,sBAAtC,CAA5B;;AACF,SAAKV,WAAW,CAACkB,WAAjB;AACE,aAAOb,sBAAsB,CAACE,IAAD,EAAOM,QAAP,EAAiBE,UAAjB,EAA6BP,OAA7B,CAA7B;;AACF,SAAKR,WAAW,CAACmB,gBAAjB;AACE,aAAOhB,wBAAwB,CAACI,IAAD,EAAOM,QAAP,EAAiBE,UAAjB,EAA6BP,OAA7B,CAA/B;;AACF,SAAKR,WAAW,CAACoB,kBAAjB;AACE,aAAOhB,0BAA0B,CAACG,IAAD,EAAOM,QAAP,EAAiBE,UAAjB,EAA6BP,OAA7B,CAAjC;;AACF;AACE,YAAM,IAAIa,KAAJ,CAAU,6BAAV,CAAN;AAVJ;AAYD","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"],"file":"encode-3d-tile.js"}
@@ -1,30 +1,31 @@
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;
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;
21
23
  }
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
24
+ export function encode3DTileByteLength(dataView, byteOffsetTileStart, byteLength) {
25
+ if (!dataView) {
26
+ return;
27
+ }
28
+
29
+ dataView.setUint32(byteOffsetTileStart + 8, byteLength, true);
29
30
  }
30
- exports.encode3DTileByteLength = encode3DTileByteLength;
31
+ //# sourceMappingURL=encode-3d-tile-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/encoders/helpers/encode-3d-tile-header.ts"],"names":["assert","encode3DTileHeader","tile","dataView","byteOffset","HEADER_SIZE","magic","version","byteLength","Array","isArray","Number","isFinite","setUint8","setUint32","encode3DTileByteLength","byteOffsetTileStart"],"mappings":"AACA,SAAQA,MAAR,QAAqB,0BAArB;AAEA,OAAO,SAASC,kBAAT,CAA4BC,IAA5B,EAAkCC,QAAlC,EAA4CC,UAA5C,EAAwD;AAC7D,QAAMC,WAAW,GAAG,EAApB;;AAEA,MAAI,CAACF,QAAL,EAAe;AACb,WAAOC,UAAU,GAAGC,WAApB;AACD;;AAED,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,OAAO,GAAG,CAAlB;AAAqBC,IAAAA,UAAU,GAAG;AAAlC,MAAwCN,IAA9C;AAEAF,EAAAA,MAAM,CAACS,KAAK,CAACC,OAAN,CAAcJ,KAAd,KAAwBK,MAAM,CAACC,QAAP,CAAgBL,OAAhB,CAAxB,IAAoDI,MAAM,CAACC,QAAP,CAAgBJ,UAAhB,CAArD,CAAN;AAEAL,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACU,QAAT,CAAkBT,UAAU,GAAG,CAA/B,EAAkCE,KAAK,CAAC,CAAD,CAAvC;AACAH,EAAAA,QAAQ,CAACW,SAAT,CAAmBV,UAAU,GAAG,CAAhC,EAAmCG,OAAnC,EAA4C,IAA5C;AACAJ,EAAAA,QAAQ,CAACW,SAAT,CAAmBV,UAAU,GAAG,CAAhC,EAAmCI,UAAnC,EAA+C,IAA/C;AAEAJ,EAAAA,UAAU,IAAIC,WAAd;AAEA,SAAOD,UAAP;AACD;AAGD,OAAO,SAASW,sBAAT,CAAgCZ,QAAhC,EAA0Ca,mBAA1C,EAA+DR,UAA/D,EAA2E;AAChF,MAAI,CAACL,QAAL,EAAe;AACb;AACD;;AAEDA,EAAAA,QAAQ,CAACW,SAAT,CAAmBE,mBAAmB,GAAG,CAAzC,EAA4CR,UAA5C,EAAwD,IAAxD;AACD","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"],"file":"encode-3d-tile-header.js"}
@@ -1,68 +1,77 @@
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");
1
+ import { fetchFile } from '@loaders.gl/core';
2
+ import { assert } from '@loaders.gl/loader-utils';
7
3
  const CESIUM_ION_URL = 'https://api.cesium.com/v1/assets';
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
- }
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
+ }
18
12
  }
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;
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;
28
25
  }
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);
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
38
35
  }
39
- return await response.json();
36
+ });
37
+
38
+ if (!response.ok) {
39
+ throw new Error(response.statusText);
40
+ }
41
+
42
+ return await response.json();
40
43
  }
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);
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
52
53
  }
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);
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
59
64
  }
60
- const tilesetInfo = await response.json();
61
- // extract dataset description
62
- metadata = {
63
- ...metadata,
64
- ...tilesetInfo
65
- };
66
- return metadata;
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;
67
76
  }
68
- exports.getIonAssetMetadata = getIonAssetMetadata;
77
+ //# sourceMappingURL=ion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/ion/ion.ts"],"names":["fetchFile","assert","CESIUM_ION_URL","getIonTilesetMetadata","accessToken","assetId","assets","getIonAssets","item","items","type","id","ionAssetMetadata","getIonAssetMetadata","url","headers","Authorization","response","fetch","ok","Error","statusText","json","metadata","tilesetInfo"],"mappings":"AAEA,SAAQA,SAAR,QAAwB,kBAAxB;AACA,SAAQC,MAAR,QAAqB,0BAArB;AAEA,MAAMC,cAAc,GAAG,kCAAvB;AAGA,OAAO,eAAeC,qBAAf,CAAqCC,WAArC,EAAkDC,OAAlD,EAA2D;AAEhE,MAAI,CAACA,OAAL,EAAc;AACZ,UAAMC,MAAM,GAAG,MAAMC,YAAY,CAACH,WAAD,CAAjC;;AACA,SAAK,MAAMI,IAAX,IAAmBF,MAAM,CAACG,KAA1B,EAAiC;AAC/B,UAAID,IAAI,CAACE,IAAL,KAAc,SAAlB,EAA6B;AAC3BL,QAAAA,OAAO,GAAGG,IAAI,CAACG,EAAf;AACD;AACF;AACF;;AAGD,QAAMC,gBAAgB,GAAG,MAAMC,mBAAmB,CAACT,WAAD,EAAcC,OAAd,CAAlD;AACA,QAAM;AAACK,IAAAA,IAAD;AAAOI,IAAAA;AAAP,MAAcF,gBAApB;AACAX,EAAAA,MAAM,CAACS,IAAI,KAAK,SAAT,IAAsBI,GAAvB,CAAN;AAGAF,EAAAA,gBAAgB,CAACG,OAAjB,GAA2B;AACzBC,IAAAA,aAAa,mBAAYJ,gBAAgB,CAACR,WAA7B;AADY,GAA3B;AAGA,SAAOQ,gBAAP;AACD;AAGD,OAAO,eAAeL,YAAf,CAA4BH,WAA5B,EAAyC;AAC9CH,EAAAA,MAAM,CAACG,WAAD,CAAN;AACA,QAAMU,GAAG,GAAGZ,cAAZ;AACA,QAAMa,OAAO,GAAG;AAACC,IAAAA,aAAa,mBAAYZ,WAAZ;AAAd,GAAhB;AACA,QAAMa,QAAQ,GAAG,MAAMjB,SAAS,CAACc,GAAD,EAAM;AAACI,IAAAA,KAAK,EAAE;AAACH,MAAAA;AAAD;AAAR,GAAN,CAAhC;;AACA,MAAI,CAACE,QAAQ,CAACE,EAAd,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAUH,QAAQ,CAACI,UAAnB,CAAN;AACD;;AACD,SAAO,MAAMJ,QAAQ,CAACK,IAAT,EAAb;AACD;AAGD,OAAO,eAAeT,mBAAf,CAAmCT,WAAnC,EAAgDC,OAAhD,EAAyD;AAC9DJ,EAAAA,MAAM,CAACG,WAAD,EAAcC,OAAd,CAAN;AACA,QAAMU,OAAO,GAAG;AAACC,IAAAA,aAAa,mBAAYZ,WAAZ;AAAd,GAAhB;AAEA,QAAMU,GAAG,aAAMZ,cAAN,cAAwBG,OAAxB,CAAT;AAGA,MAAIY,QAAQ,GAAG,MAAMjB,SAAS,WAAIc,GAAJ,GAAW;AAACI,IAAAA,KAAK,EAAE;AAACH,MAAAA;AAAD;AAAR,GAAX,CAA9B;;AACA,MAAI,CAACE,QAAQ,CAACE,EAAd,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAUH,QAAQ,CAACI,UAAnB,CAAN;AACD;;AACD,MAAIE,QAAQ,GAAG,MAAMN,QAAQ,CAACK,IAAT,EAArB;AAIAL,EAAAA,QAAQ,GAAG,MAAMjB,SAAS,WAAIc,GAAJ,gBAAoB;AAACI,IAAAA,KAAK,EAAE;AAACH,MAAAA;AAAD;AAAR,GAApB,CAA1B;;AACA,MAAI,CAACE,QAAQ,CAACE,EAAd,EAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAUH,QAAQ,CAACI,UAAnB,CAAN;AACD;;AACD,QAAMG,WAAW,GAAG,MAAMP,QAAQ,CAACK,IAAT,EAA1B;AAGAC,EAAAA,QAAQ,GAAG,EACT,GAAGA,QADM;AAET,OAAGC;AAFM,GAAX;AAKA,SAAOD,QAAP;AACD","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"],"file":"ion.js"}
@@ -1,65 +1,67 @@
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;
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];
10
23
  }
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
- };
30
- }
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
- };
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];
55
41
  }
56
- // DEFAULT: RGBA case
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) {
57
52
  return {
58
- type: math_1.GL.UNSIGNED_BYTE,
59
- value: colors,
60
- size: 4,
61
- normalized: true
53
+ type: GL.UNSIGNED_BYTE,
54
+ value: colors,
55
+ size: 3,
56
+ normalized: true
62
57
  };
58
+ }
59
+
60
+ return {
61
+ type: GL.UNSIGNED_BYTE,
62
+ value: colors,
63
+ size: 4,
64
+ normalized: true
65
+ };
63
66
  }
64
- exports.normalize3DTileColorAttribute = normalize3DTileColorAttribute;
65
- /* eslint-enable complexity*/
67
+ //# sourceMappingURL=normalize-3d-tile-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-colors.ts"],"names":["decodeRGB565","GL","normalize3DTileColorAttribute","tile","colors","batchTable","batchIds","isRGB565","pointCount","colorArray","Uint8ClampedArray","i","batchId","dimensions","getProperty","color","map","d","type","UNSIGNED_BYTE","value","size","normalized","length"],"mappings":"AAAA,SAAQA,YAAR,EAAsBC,EAAtB,QAA+B,kBAA/B;AAGA,OAAO,SAASC,6BAAT,CAAuCC,IAAvC,EAA6CC,MAA7C,EAAqDC,UAArD,EAAkE;AAEvE,MAAI,CAACD,MAAD,KAAY,CAACD,IAAD,IAAS,CAACA,IAAI,CAACG,QAAf,IAA2B,CAACD,UAAxC,CAAJ,EAAyD;AACvD,WAAO,IAAP;AACD;;AAED,QAAM;AAACC,IAAAA,QAAD;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA;AAArB,MAAmCL,IAAzC;;AAEA,MAAIG,QAAQ,IAAID,UAAhB,EAA4B;AAC1B,UAAMI,UAAU,GAAG,IAAIC,iBAAJ,CAAsBF,UAAU,GAAG,CAAnC,CAAnB;;AACA,SAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,UAApB,EAAgCG,CAAC,EAAjC,EAAqC;AACnC,YAAMC,OAAO,GAAGN,QAAQ,CAACK,CAAD,CAAxB;AAEA,YAAME,UAAU,GAAGR,UAAU,CAACS,WAAX,CAAuBF,OAAvB,EAAgC,YAAhC,CAAnB;AACA,YAAMG,KAAK,GAAGF,UAAU,CAACG,GAAX,CAAgBC,CAAD,IAAOA,CAAC,GAAG,GAA1B,CAAd;AACAR,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAL,CAAV,GAAoBI,KAAK,CAAC,CAAD,CAAzB;AACAN,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAV,GAAwBI,KAAK,CAAC,CAAD,CAA7B;AACAN,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAV,GAAwBI,KAAK,CAAC,CAAD,CAA7B;AACD;;AACD,WAAO;AACLG,MAAAA,IAAI,EAAEjB,EAAE,CAACkB,aADJ;AAELC,MAAAA,KAAK,EAAEX,UAFF;AAGLY,MAAAA,IAAI,EAAE,CAHD;AAILC,MAAAA,UAAU,EAAE;AAJP,KAAP;AAMD;;AAGD,MAAIf,QAAJ,EAAc;AACZ,UAAME,UAAU,GAAG,IAAIC,iBAAJ,CAAsBF,UAAU,GAAG,CAAnC,CAAnB;;AACA,SAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,UAApB,EAAgCG,CAAC,EAAjC,EAAqC;AACnC,YAAMI,KAAK,GAAGf,YAAY,CAACI,MAAM,CAACO,CAAD,CAAP,CAA1B;AACAF,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAL,CAAV,GAAoBI,KAAK,CAAC,CAAD,CAAzB;AACAN,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAV,GAAwBI,KAAK,CAAC,CAAD,CAA7B;AACAN,MAAAA,UAAU,CAACE,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAV,GAAwBI,KAAK,CAAC,CAAD,CAA7B;AACD;;AACD,WAAO;AACLG,MAAAA,IAAI,EAAEjB,EAAE,CAACkB,aADJ;AAELC,MAAAA,KAAK,EAAEX,UAFF;AAGLY,MAAAA,IAAI,EAAE,CAHD;AAILC,MAAAA,UAAU,EAAE;AAJP,KAAP;AAMD;;AAGD,MAAIlB,MAAM,IAAIA,MAAM,CAACmB,MAAP,KAAkBf,UAAU,GAAG,CAA7C,EAAgD;AAC9C,WAAO;AACLU,MAAAA,IAAI,EAAEjB,EAAE,CAACkB,aADJ;AAELC,MAAAA,KAAK,EAAEhB,MAFF;AAGLiB,MAAAA,IAAI,EAAE,CAHD;AAILC,MAAAA,UAAU,EAAE;AAJP,KAAP;AAMD;;AAGD,SAAO;AACLJ,IAAAA,IAAI,EAAEjB,EAAE,CAACkB,aADJ;AAELC,IAAAA,KAAK,EAAEhB,MAFF;AAGLiB,IAAAA,IAAI,EAAE,CAHD;AAILC,IAAAA,UAAU,EAAE;AAJP,GAAP;AAMD","sourcesContent":["import {decodeRGB565, GL} from '@loaders.gl/math';\n\n/* eslint-disable complexity*/\nexport function normalize3DTileColorAttribute(tile, colors, batchTable?) {\n // no colors defined\n if (!colors && (!tile || !tile.batchIds || !batchTable)) {\n return null;\n }\n\n const {batchIds, isRGB565, pointCount} = 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 (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,\n size: 4,\n normalized: true\n };\n}\n/* eslint-enable complexity*/\n"],"file":"normalize-3d-tile-colors.js"}
@@ -1,30 +1,30 @@
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
- };
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);
23
15
  }
16
+
24
17
  return {
25
- type: math_1.GL.FLOAT,
26
- size: 2,
27
- value: normals
18
+ type: GL.FLOAT,
19
+ size: 2,
20
+ value: decodedArray
28
21
  };
22
+ }
23
+
24
+ return {
25
+ type: GL.FLOAT,
26
+ size: 2,
27
+ value: normals
28
+ };
29
29
  }
30
- exports.normalize3DTileNormalAttribute = normalize3DTileNormalAttribute;
30
+ //# sourceMappingURL=normalize-3d-tile-normals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-normals.ts"],"names":["Vector3","GL","octDecode","scratchNormal","normalize3DTileNormalAttribute","tile","normals","isOctEncoded16P","decodedArray","Float32Array","pointsLength","i","toArray","type","FLOAT","size","value"],"mappings":"AAAA,SAAQA,OAAR,QAAsB,eAAtB;AACA,SAAQC,EAAR,EAAYC,SAAZ,QAA4B,kBAA5B;AAEA,MAAMC,aAAa,GAAG,IAAIH,OAAJ,EAAtB;AAEA,OAAO,SAASI,8BAAT,CAAwCC,IAAxC,EAA8CC,OAA9C,EAAuD;AAC5D,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,IAAP;AACD;;AAED,MAAID,IAAI,CAACE,eAAT,EAA0B;AACxB,UAAMC,YAAY,GAAG,IAAIC,YAAJ,CAAiBJ,IAAI,CAACK,YAAL,GAAoB,CAArC,CAArB;;AACA,SAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,IAAI,CAACK,YAAzB,EAAuCC,CAAC,EAAxC,EAA4C;AAC1CT,MAAAA,SAAS,CAACI,OAAO,CAACK,CAAC,GAAG,CAAL,CAAR,EAAiBL,OAAO,CAACK,CAAC,GAAG,CAAJ,GAAQ,CAAT,CAAxB,EAAqCR,aAArC,CAAT;AAEAA,MAAAA,aAAa,CAACS,OAAd,CAAsBJ,YAAtB,EAAoCG,CAAC,GAAG,CAAxC;AACD;;AAED,WAAO;AACLE,MAAAA,IAAI,EAAEZ,EAAE,CAACa,KADJ;AAELC,MAAAA,IAAI,EAAE,CAFD;AAGLC,MAAAA,KAAK,EAAER;AAHF,KAAP;AAKD;;AAED,SAAO;AACLK,IAAAA,IAAI,EAAEZ,EAAE,CAACa,KADJ;AAELC,IAAAA,IAAI,EAAE,CAFD;AAGLC,IAAAA,KAAK,EAAEV;AAHF,GAAP;AAKD","sourcesContent":["import {Vector3} from '@math.gl/core';\nimport {GL, octDecode} from '@loaders.gl/math';\n\nconst scratchNormal = new Vector3();\n\nexport function normalize3DTileNormalAttribute(tile, normals) {\n if (!normals) {\n return null;\n }\n\n if (tile.isOctEncoded16P) {\n const decodedArray = new Float32Array(tile.pointsLength * 3);\n for (let i = 0; i < tile.pointsLength; 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"],"file":"normalize-3d-tile-normals.js"}
@@ -1,42 +1,31 @@
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
- };
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
+ };
26
19
  }
27
- exports.normalize3DTilePositionAttribute = normalize3DTilePositionAttribute;
28
- // Pre-scale quantized positions on CPU
20
+
29
21
  function decodeQuantizedPositions(tile, positions) {
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;
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;
42
30
  }
31
+ //# sourceMappingURL=normalize-3d-tile-positions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/parsers/helpers/normalize-3d-tile-positions.ts"],"names":["Vector3","GL","normalize3DTilePositionAttribute","tile","positions","options","isQuantized","decodeQuantizedPositions","type","UNSIGNED_SHORT","value","size","normalized","scratchPosition","decodedArray","Float32Array","pointCount","i","set","scale","quantizedRange","multiply","quantizedVolumeScale","add","quantizedVolumeOffset","toArray"],"mappings":"AAAA,SAAQA,OAAR,QAAsB,eAAtB;AACA,SAAQC,EAAR,QAAiB,kBAAjB;AAGA,OAAO,SAASC,gCAAT,CAA0CC,IAA1C,EAAgDC,SAAhD,EAA2DC,OAA3D,EAAoE;AACzE,MAAI,CAACF,IAAI,CAACG,WAAV,EAAuB;AACrB,WAAOF,SAAP;AACD;;AAMD,MAAIC,OAAO,CAAC,UAAD,CAAP,IAAuBA,OAAO,CAAC,UAAD,CAAP,CAAoBE,wBAA/C,EAAyE;AACvEJ,IAAAA,IAAI,CAACG,WAAL,GAAmB,KAAnB;AACA,WAAOC,wBAAwB,CAACJ,IAAD,EAAOC,SAAP,CAA/B;AACD;;AAID,SAAO;AACLI,IAAAA,IAAI,EAAEP,EAAE,CAACQ,cADJ;AAELC,IAAAA,KAAK,EAAEN,SAFF;AAGLO,IAAAA,IAAI,EAAE,CAHD;AAILC,IAAAA,UAAU,EAAE;AAJP,GAAP;AAMD;;AAGD,SAASL,wBAAT,CAAkCJ,IAAlC,EAAwCC,SAAxC,EAAmD;AACjD,QAAMS,eAAe,GAAG,IAAIb,OAAJ,EAAxB;AACA,QAAMc,YAAY,GAAG,IAAIC,YAAJ,CAAiBZ,IAAI,CAACa,UAAL,GAAkB,CAAnC,CAArB;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGd,IAAI,CAACa,UAAzB,EAAqCC,CAAC,EAAtC,EAA0C;AAExCJ,IAAAA,eAAe,CACZK,GADH,CACOd,SAAS,CAACa,CAAC,GAAG,CAAL,CADhB,EACyBb,SAAS,CAACa,CAAC,GAAG,CAAJ,GAAQ,CAAT,CADlC,EAC+Cb,SAAS,CAACa,CAAC,GAAG,CAAJ,GAAQ,CAAT,CADxD,EAEGE,KAFH,CAES,IAAIhB,IAAI,CAACiB,cAFlB,EAGGC,QAHH,CAGYlB,IAAI,CAACmB,oBAHjB,EAIGC,GAJH,CAIOpB,IAAI,CAACqB,qBAJZ,EAKGC,OALH,CAKWX,YALX,EAKyBG,CAAC,GAAG,CAL7B;AAMD;;AAED,SAAOH,YAAP;AACD","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"],"file":"normalize-3d-tile-positions.js"}
@@ -11,17 +11,24 @@ import type { Subtree } from '../../../types';
11
11
  * @param level
12
12
  * @param globalData
13
13
  */
14
- export declare function parseImplicitTiles(subtree: Subtree, options: any, parentData?: {
15
- mortonIndex: number;
16
- x: number;
17
- y: number;
18
- z: number;
19
- }, childIndex?: number, level?: number, globalData?: {
20
- level: number;
21
- mortonIndex: number;
22
- x: number;
23
- y: number;
24
- z: number;
14
+ export declare function parseImplicitTiles(params: {
15
+ subtree: Subtree;
16
+ options: any;
17
+ parentData?: {
18
+ mortonIndex: number;
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ childIndex?: number;
24
+ level?: number;
25
+ globalData?: {
26
+ level: number;
27
+ mortonIndex: number;
28
+ x: number;
29
+ y: number;
30
+ z: number;
31
+ };
25
32
  }): Promise<{
26
33
  children: never[];
27
34
  lodMetricValue: number;