@loaders.gl/3d-tiles 3.1.0-alpha.4 → 3.1.0-beta.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 (245) hide show
  1. package/dist/bundle.d.ts +2 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +10008 -0
  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 +40 -0
  7. package/dist/es5/bundle.js +1 -1
  8. package/dist/es5/bundle.js.map +1 -1
  9. package/dist/es5/cesium-ion-loader.js +23 -78
  10. package/dist/es5/cesium-ion-loader.js.map +1 -1
  11. package/dist/es5/index.js +15 -7
  12. package/dist/es5/index.js.map +1 -1
  13. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js +30 -42
  14. package/dist/es5/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
  15. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js +57 -59
  16. package/dist/es5/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
  17. package/dist/es5/lib/classes/tile-3d-batch-table.js +209 -237
  18. package/dist/es5/lib/classes/tile-3d-batch-table.js.map +1 -1
  19. package/dist/es5/lib/classes/tile-3d-feature-table.js +67 -79
  20. package/dist/es5/lib/classes/tile-3d-feature-table.js.map +1 -1
  21. package/dist/es5/lib/constants.js +4 -4
  22. package/dist/es5/lib/constants.js.map +1 -1
  23. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js +15 -22
  24. package/dist/es5/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
  25. package/dist/es5/lib/encoders/encode-3d-tile-composite.js +6 -13
  26. package/dist/es5/lib/encoders/encode-3d-tile-composite.js.map +1 -1
  27. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js +14 -23
  28. package/dist/es5/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
  29. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js +15 -22
  30. package/dist/es5/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
  31. package/dist/es5/lib/encoders/encode-3d-tile.js +3 -3
  32. package/dist/es5/lib/encoders/encode-3d-tile.js.map +1 -1
  33. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js +6 -6
  34. package/dist/es5/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
  35. package/dist/es5/lib/ion/ion.js +69 -197
  36. package/dist/es5/lib/ion/ion.js.map +1 -1
  37. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js +17 -18
  38. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
  39. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js +3 -3
  40. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
  41. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js +3 -3
  42. package/dist/es5/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
  43. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js +27 -67
  44. package/dist/es5/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  45. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js +3 -4
  46. package/dist/es5/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
  47. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js +73 -0
  48. package/dist/es5/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  49. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js +19 -17
  50. package/dist/es5/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
  51. package/dist/es5/lib/parsers/helpers/parse-utils.js +7 -8
  52. package/dist/es5/lib/parsers/helpers/parse-utils.js.map +1 -1
  53. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js +10 -36
  54. package/dist/es5/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
  55. package/dist/es5/lib/parsers/parse-3d-tile-composite.js +12 -48
  56. package/dist/es5/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  57. package/dist/es5/lib/parsers/parse-3d-tile-header.js +14 -30
  58. package/dist/es5/lib/parsers/parse-3d-tile-header.js.map +1 -1
  59. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js +38 -63
  60. package/dist/es5/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
  61. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js +117 -198
  62. package/dist/es5/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  63. package/dist/es5/lib/parsers/parse-3d-tile.js +15 -65
  64. package/dist/es5/lib/parsers/parse-3d-tile.js.map +1 -1
  65. package/dist/es5/lib/utils/version.js +1 -1
  66. package/dist/es5/lib/utils/version.js.map +1 -1
  67. package/dist/es5/tile-3d-subtree-loader.js +26 -0
  68. package/dist/es5/tile-3d-subtree-loader.js.map +1 -0
  69. package/dist/es5/tile-3d-writer.js +5 -5
  70. package/dist/es5/tile-3d-writer.js.map +1 -1
  71. package/dist/es5/tiles-3d-loader.js +37 -117
  72. package/dist/es5/tiles-3d-loader.js.map +1 -1
  73. package/dist/esm/index.js +1 -0
  74. package/dist/esm/index.js.map +1 -1
  75. package/dist/esm/lib/classes/helpers/tile-3d-accessor-utils.js.map +1 -1
  76. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js +1 -1
  77. package/dist/esm/lib/classes/tile-3d-batch-table-hierarchy.js.map +1 -1
  78. package/dist/esm/lib/classes/tile-3d-batch-table.js +19 -4
  79. package/dist/esm/lib/classes/tile-3d-batch-table.js.map +1 -1
  80. package/dist/esm/lib/classes/tile-3d-feature-table.js +9 -2
  81. package/dist/esm/lib/classes/tile-3d-feature-table.js.map +1 -1
  82. package/dist/esm/lib/constants.js.map +1 -1
  83. package/dist/esm/lib/encoders/encode-3d-tile-batched-model.js.map +1 -1
  84. package/dist/esm/lib/encoders/encode-3d-tile-composite.js.map +1 -1
  85. package/dist/esm/lib/encoders/encode-3d-tile-instanced-model.js.map +1 -1
  86. package/dist/esm/lib/encoders/encode-3d-tile-point-cloud.js.map +1 -1
  87. package/dist/esm/lib/encoders/encode-3d-tile.js.map +1 -1
  88. package/dist/esm/lib/encoders/helpers/encode-3d-tile-header.js.map +1 -1
  89. package/dist/esm/lib/ion/ion.js +6 -6
  90. package/dist/esm/lib/ion/ion.js.map +1 -1
  91. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-colors.js.map +1 -1
  92. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-normals.js.map +1 -1
  93. package/dist/esm/lib/parsers/helpers/normalize-3d-tile-positions.js.map +1 -1
  94. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js +2 -2
  95. package/dist/esm/lib/parsers/helpers/parse-3d-tile-gltf-view.js.map +1 -1
  96. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js +1 -1
  97. package/dist/esm/lib/parsers/helpers/parse-3d-tile-header.js.map +1 -1
  98. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js +64 -0
  99. package/dist/esm/lib/parsers/helpers/parse-3d-tile-subtree.js.map +1 -0
  100. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js +1 -1
  101. package/dist/esm/lib/parsers/helpers/parse-3d-tile-tables.js.map +1 -1
  102. package/dist/esm/lib/parsers/helpers/parse-utils.js +1 -5
  103. package/dist/esm/lib/parsers/helpers/parse-utils.js.map +1 -1
  104. package/dist/esm/lib/parsers/parse-3d-tile-batched-model.js.map +1 -1
  105. package/dist/esm/lib/parsers/parse-3d-tile-composite.js.map +1 -1
  106. package/dist/esm/lib/parsers/parse-3d-tile-header.js +1 -1
  107. package/dist/esm/lib/parsers/parse-3d-tile-header.js.map +1 -1
  108. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js +1 -1
  109. package/dist/esm/lib/parsers/parse-3d-tile-instanced-model.js.map +1 -1
  110. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js +1 -1
  111. package/dist/esm/lib/parsers/parse-3d-tile-point-cloud.js.map +1 -1
  112. package/dist/esm/lib/parsers/parse-3d-tile.js +1 -1
  113. package/dist/esm/lib/parsers/parse-3d-tile.js.map +1 -1
  114. package/dist/esm/lib/utils/version.js +1 -1
  115. package/dist/esm/lib/utils/version.js.map +1 -1
  116. package/dist/esm/tile-3d-subtree-loader.js +14 -0
  117. package/dist/esm/tile-3d-subtree-loader.js.map +1 -0
  118. package/dist/index.d.ts +10 -0
  119. package/dist/index.d.ts.map +1 -0
  120. package/dist/index.js +26 -0
  121. package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts +8 -0
  122. package/dist/lib/classes/helpers/tile-3d-accessor-utils.d.ts.map +1 -0
  123. package/dist/lib/classes/helpers/tile-3d-accessor-utils.js +113 -0
  124. package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts +10 -0
  125. package/dist/lib/classes/tile-3d-batch-table-hierarchy.d.ts.map +1 -0
  126. package/dist/lib/classes/tile-3d-batch-table-hierarchy.js +197 -0
  127. package/dist/lib/classes/tile-3d-batch-table.d.ts +34 -0
  128. package/dist/lib/classes/tile-3d-batch-table.d.ts.map +1 -0
  129. package/dist/lib/classes/tile-3d-batch-table.js +245 -0
  130. package/dist/lib/classes/tile-3d-feature-table.d.ts +15 -0
  131. package/dist/lib/classes/tile-3d-feature-table.d.ts.map +1 -0
  132. package/dist/lib/classes/tile-3d-feature-table.js +72 -0
  133. package/dist/lib/constants.d.ts +21 -0
  134. package/dist/lib/constants.d.ts.map +1 -0
  135. package/dist/lib/constants.js +25 -0
  136. package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts +2 -0
  137. package/dist/lib/encoders/encode-3d-tile-batched-model.d.ts.map +1 -0
  138. package/dist/lib/encoders/encode-3d-tile-batched-model.js +46 -0
  139. package/dist/lib/encoders/encode-3d-tile-composite.d.ts +2 -0
  140. package/dist/lib/encoders/encode-3d-tile-composite.d.ts.map +1 -0
  141. package/dist/lib/encoders/encode-3d-tile-composite.js +24 -0
  142. package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts +2 -0
  143. package/dist/lib/encoders/encode-3d-tile-instanced-model.d.ts.map +1 -0
  144. package/dist/lib/encoders/encode-3d-tile-instanced-model.js +38 -0
  145. package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts +2 -0
  146. package/dist/lib/encoders/encode-3d-tile-point-cloud.d.ts.map +1 -0
  147. package/dist/lib/encoders/encode-3d-tile-point-cloud.js +39 -0
  148. package/dist/lib/encoders/encode-3d-tile.d.ts +2 -0
  149. package/dist/lib/encoders/encode-3d-tile.d.ts.map +1 -0
  150. package/dist/lib/encoders/encode-3d-tile.js +33 -0
  151. package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts +3 -0
  152. package/dist/lib/encoders/helpers/encode-3d-tile-header.d.ts.map +1 -0
  153. package/dist/lib/encoders/helpers/encode-3d-tile-header.js +30 -0
  154. package/dist/lib/ion/ion.d.ts +4 -0
  155. package/dist/lib/ion/ion.d.ts.map +1 -0
  156. package/dist/lib/ion/ion.js +68 -0
  157. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts +7 -0
  158. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.d.ts.map +1 -0
  159. package/dist/lib/parsers/helpers/normalize-3d-tile-colors.js +65 -0
  160. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts +6 -0
  161. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.d.ts.map +1 -0
  162. package/dist/lib/parsers/helpers/normalize-3d-tile-normals.js +30 -0
  163. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts +2 -0
  164. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.d.ts.map +1 -0
  165. package/dist/lib/parsers/helpers/normalize-3d-tile-positions.js +42 -0
  166. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts +7 -0
  167. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.d.ts.map +1 -0
  168. package/dist/lib/parsers/helpers/parse-3d-tile-gltf-view.js +88 -0
  169. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts +2 -0
  170. package/dist/lib/parsers/helpers/parse-3d-tile-header.d.ts.map +1 -0
  171. package/dist/lib/parsers/helpers/parse-3d-tile-header.js +28 -0
  172. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts +9 -0
  173. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.d.ts.map +1 -0
  174. package/dist/lib/parsers/helpers/parse-3d-tile-subtree.js +74 -0
  175. package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts +3 -0
  176. package/dist/lib/parsers/helpers/parse-3d-tile-tables.d.ts.map +1 -0
  177. package/dist/lib/parsers/helpers/parse-3d-tile-tables.js +93 -0
  178. package/dist/lib/parsers/helpers/parse-utils.d.ts +4 -0
  179. package/dist/lib/parsers/helpers/parse-utils.d.ts.map +1 -0
  180. package/dist/lib/parsers/helpers/parse-utils.js +32 -0
  181. package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts +2 -0
  182. package/dist/lib/parsers/parse-3d-tile-batched-model.d.ts.map +1 -0
  183. package/dist/lib/parsers/parse-3d-tile-batched-model.js +33 -0
  184. package/dist/lib/parsers/parse-3d-tile-composite.d.ts +2 -0
  185. package/dist/lib/parsers/parse-3d-tile-composite.d.ts.map +1 -0
  186. package/dist/lib/parsers/parse-3d-tile-composite.js +26 -0
  187. package/dist/lib/parsers/parse-3d-tile-header.d.ts +3 -0
  188. package/dist/lib/parsers/parse-3d-tile-header.d.ts.map +1 -0
  189. package/dist/lib/parsers/parse-3d-tile-header.js +66 -0
  190. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts +2 -0
  191. package/dist/lib/parsers/parse-3d-tile-instanced-model.d.ts.map +1 -0
  192. package/dist/lib/parsers/parse-3d-tile-instanced-model.js +186 -0
  193. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts +3 -0
  194. package/dist/lib/parsers/parse-3d-tile-point-cloud.d.ts.map +1 -0
  195. package/dist/lib/parsers/parse-3d-tile-point-cloud.js +411 -0
  196. package/dist/lib/parsers/parse-3d-tile.d.ts +2 -0
  197. package/dist/lib/parsers/parse-3d-tile.d.ts.map +1 -0
  198. package/dist/lib/parsers/parse-3d-tile.js +34 -0
  199. package/dist/lib/utils/version.d.ts +2 -0
  200. package/dist/lib/utils/version.d.ts.map +1 -0
  201. package/dist/lib/utils/version.js +7 -0
  202. package/dist/tile-3d-subtree-loader.d.ts +7 -0
  203. package/dist/tile-3d-subtree-loader.d.ts.map +1 -0
  204. package/dist/tile-3d-subtree-loader.js +23 -0
  205. package/dist/tile-3d-writer.d.ts +6 -0
  206. package/dist/tile-3d-writer.d.ts.map +1 -0
  207. package/dist/tile-3d-writer.js +27 -0
  208. package/dist/tiles-3d-loader.d.ts +6 -0
  209. package/dist/tiles-3d-loader.d.ts.map +1 -0
  210. package/dist/tiles-3d-loader.js +73 -0
  211. package/dist/types.d.ts +75 -0
  212. package/dist/types.d.ts.map +1 -0
  213. package/dist/types.js +2 -0
  214. package/package.json +12 -10
  215. package/src/index.ts +1 -0
  216. package/src/lib/classes/helpers/{tile-3d-accessor-utils.js → tile-3d-accessor-utils.ts} +0 -0
  217. package/src/lib/classes/{tile-3d-batch-table-hierarchy.js → tile-3d-batch-table-hierarchy.ts} +0 -0
  218. package/src/lib/classes/{tile-3d-batch-table.js → tile-3d-batch-table.ts} +14 -4
  219. package/src/lib/classes/{tile-3d-feature-table.js → tile-3d-feature-table.ts} +5 -2
  220. package/src/lib/{constants.js → constants.ts} +0 -0
  221. package/src/lib/encoders/{encode-3d-tile-batched-model.js → encode-3d-tile-batched-model.ts} +0 -0
  222. package/src/lib/encoders/{encode-3d-tile-composite.js → encode-3d-tile-composite.ts} +0 -0
  223. package/src/lib/encoders/{encode-3d-tile-instanced-model.js → encode-3d-tile-instanced-model.ts} +0 -0
  224. package/src/lib/encoders/{encode-3d-tile-point-cloud.js → encode-3d-tile-point-cloud.ts} +0 -0
  225. package/src/lib/encoders/{encode-3d-tile.js → encode-3d-tile.ts} +0 -0
  226. package/src/lib/encoders/helpers/{encode-3d-tile-header.js → encode-3d-tile-header.ts} +0 -0
  227. package/src/lib/parsers/helpers/{normalize-3d-tile-colors.js → normalize-3d-tile-colors.ts} +1 -1
  228. package/src/lib/parsers/helpers/{normalize-3d-tile-normals.js → normalize-3d-tile-normals.ts} +0 -0
  229. package/src/lib/parsers/helpers/{normalize-3d-tile-positions.js → normalize-3d-tile-positions.ts} +0 -0
  230. package/src/lib/parsers/helpers/{parse-3d-tile-gltf-view.js → parse-3d-tile-gltf-view.ts} +1 -1
  231. package/src/lib/parsers/helpers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +0 -0
  232. package/src/lib/parsers/helpers/parse-3d-tile-subtree.ts +104 -0
  233. package/src/lib/parsers/helpers/{parse-3d-tile-tables.js → parse-3d-tile-tables.ts} +1 -1
  234. package/src/lib/parsers/helpers/{parse-utils.js → parse-utils.ts} +0 -0
  235. package/src/lib/parsers/{parse-3d-tile-batched-model.js → parse-3d-tile-batched-model.ts} +0 -0
  236. package/src/lib/parsers/{parse-3d-tile-composite.js → parse-3d-tile-composite.ts} +0 -0
  237. package/src/lib/parsers/{parse-3d-tile-header.js → parse-3d-tile-header.ts} +1 -1
  238. package/src/lib/parsers/{parse-3d-tile-instanced-model.js → parse-3d-tile-instanced-model.ts} +6 -0
  239. package/src/lib/parsers/{parse-3d-tile-point-cloud.js → parse-3d-tile-point-cloud.ts} +2 -2
  240. package/src/lib/parsers/{parse-3d-tile.js → parse-3d-tile.ts} +4 -0
  241. package/src/lib/utils/{version.js → version.ts} +0 -0
  242. package/src/tile-3d-subtree-loader.ts +19 -0
  243. package/src/types.ts +33 -0
  244. package/dist/dist.min.js +0 -2
  245. package/dist/dist.min.js.map +0 -1
@@ -7,109 +7,97 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
11
 
14
12
  var _math = require("@loaders.gl/math");
15
13
 
16
- var Tile3DFeatureTable = function () {
17
- function Tile3DFeatureTable(featureTableJson, featureTableBinary) {
18
- (0, _classCallCheck2.default)(this, Tile3DFeatureTable);
14
+ class Tile3DFeatureTable {
15
+ constructor(featureTableJson, featureTableBinary) {
16
+ (0, _defineProperty2.default)(this, "json", void 0);
17
+ (0, _defineProperty2.default)(this, "buffer", void 0);
18
+ (0, _defineProperty2.default)(this, "featuresLength", 0);
19
+ (0, _defineProperty2.default)(this, "_cachedTypedArrays", {});
19
20
  this.json = featureTableJson;
20
21
  this.buffer = featureTableBinary;
21
- this.featuresLength = 0;
22
- this._cachedTypedArrays = {};
23
22
  }
24
23
 
25
- (0, _createClass2.default)(Tile3DFeatureTable, [{
26
- key: "getExtension",
27
- value: function getExtension(extensionName) {
28
- return this.json.extensions && this.json.extensions[extensionName];
29
- }
30
- }, {
31
- key: "hasProperty",
32
- value: function hasProperty(propertyName) {
33
- return Boolean(this.json[propertyName]);
34
- }
35
- }, {
36
- key: "getGlobalProperty",
37
- value: function getGlobalProperty(propertyName) {
38
- var componentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _math.GL.UNSIGNED_INT;
39
- var componentLength = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
40
- var jsonValue = this.json[propertyName];
41
-
42
- if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
43
- return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
44
- }
24
+ getExtension(extensionName) {
25
+ return this.json.extensions && this.json.extensions[extensionName];
26
+ }
45
27
 
46
- return jsonValue;
28
+ hasProperty(propertyName) {
29
+ return Boolean(this.json[propertyName]);
30
+ }
31
+
32
+ getGlobalProperty(propertyName, componentType = _math.GL.UNSIGNED_INT, componentLength = 1) {
33
+ const jsonValue = this.json[propertyName];
34
+
35
+ if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
36
+ return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, 1, jsonValue.byteOffset);
47
37
  }
48
- }, {
49
- key: "getPropertyArray",
50
- value: function getPropertyArray(propertyName, componentType, componentLength) {
51
- var jsonValue = this.json[propertyName];
52
38
 
53
- if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
54
- if ('componentType' in jsonValue) {
55
- componentType = _math.GLType.fromName(jsonValue.componentType);
56
- }
39
+ return jsonValue;
40
+ }
41
+
42
+ getPropertyArray(propertyName, componentType, componentLength) {
43
+ const jsonValue = this.json[propertyName];
57
44
 
58
- return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
45
+ if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {
46
+ if ('componentType' in jsonValue) {
47
+ componentType = _math.GLType.fromName(jsonValue.componentType);
59
48
  }
60
49
 
61
- return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
50
+ return this._getTypedArrayFromBinary(propertyName, componentType, componentLength, this.featuresLength, jsonValue.byteOffset);
62
51
  }
63
- }, {
64
- key: "getProperty",
65
- value: function getProperty(propertyName, componentType, componentLength, featureId, result) {
66
- var jsonValue = this.json[propertyName];
67
52
 
68
- if (!jsonValue) {
69
- return jsonValue;
70
- }
53
+ return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);
54
+ }
71
55
 
72
- var typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
56
+ getProperty(propertyName, componentType, componentLength, featureId, result) {
57
+ const jsonValue = this.json[propertyName];
73
58
 
74
- if (componentLength === 1) {
75
- return typedArray[featureId];
76
- }
59
+ if (!jsonValue) {
60
+ return jsonValue;
61
+ }
77
62
 
78
- for (var i = 0; i < componentLength; ++i) {
79
- result[i] = typedArray[componentLength * featureId + i];
80
- }
63
+ const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);
81
64
 
82
- return result;
65
+ if (componentLength === 1) {
66
+ return typedArray[featureId];
83
67
  }
84
- }, {
85
- key: "_getTypedArrayFromBinary",
86
- value: function _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
87
- var cachedTypedArrays = this._cachedTypedArrays;
88
- var typedArray = cachedTypedArrays[propertyName];
89
-
90
- if (!typedArray) {
91
- typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
92
- cachedTypedArrays[propertyName] = typedArray;
93
- }
94
68
 
95
- return typedArray;
69
+ for (let i = 0; i < componentLength; ++i) {
70
+ result[i] = typedArray[componentLength * featureId + i];
96
71
  }
97
- }, {
98
- key: "_getTypedArrayFromArray",
99
- value: function _getTypedArrayFromArray(propertyName, componentType, array) {
100
- var cachedTypedArrays = this._cachedTypedArrays;
101
- var typedArray = cachedTypedArrays[propertyName];
102
-
103
- if (!typedArray) {
104
- typedArray = _math.GLType.createTypedArray(componentType, array);
105
- cachedTypedArrays[propertyName] = typedArray;
106
- }
107
72
 
108
- return typedArray;
73
+ return result;
74
+ }
75
+
76
+ _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {
77
+ const cachedTypedArrays = this._cachedTypedArrays;
78
+ let typedArray = cachedTypedArrays[propertyName];
79
+
80
+ if (!typedArray) {
81
+ typedArray = _math.GLType.createTypedArray(componentType, this.buffer.buffer, this.buffer.byteOffset + byteOffset, count * componentLength);
82
+ cachedTypedArrays[propertyName] = typedArray;
109
83
  }
110
- }]);
111
- return Tile3DFeatureTable;
112
- }();
84
+
85
+ return typedArray;
86
+ }
87
+
88
+ _getTypedArrayFromArray(propertyName, componentType, array) {
89
+ const cachedTypedArrays = this._cachedTypedArrays;
90
+ let typedArray = cachedTypedArrays[propertyName];
91
+
92
+ if (!typedArray) {
93
+ typedArray = _math.GLType.createTypedArray(componentType, array);
94
+ cachedTypedArrays[propertyName] = typedArray;
95
+ }
96
+
97
+ return typedArray;
98
+ }
99
+
100
+ }
113
101
 
114
102
  exports.default = Tile3DFeatureTable;
115
103
  //# sourceMappingURL=tile-3d-feature-table.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/classes/tile-3d-feature-table.js"],"names":["Tile3DFeatureTable","featureTableJson","featureTableBinary","json","buffer","featuresLength","_cachedTypedArrays","extensionName","extensions","propertyName","Boolean","componentType","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","GLType","fromName","_getTypedArrayFromArray","featureId","result","typedArray","getPropertyArray","i","count","cachedTypedArrays","createTypedArray","array"],"mappings":"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","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL, GLType} from '@loaders.gl/math';\n\n// Reference:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/1de96d087f0b17575eb1a3f736407b348c765d59/Source/Scene/Cesium3DTileFeatureTable.js\nexport default class Tile3DFeatureTable {\n constructor(featureTableJson, featureTableBinary) {\n this.json = featureTableJson;\n this.buffer = featureTableBinary;\n this.featuresLength = 0;\n this._cachedTypedArrays = {};\n }\n\n getExtension(extensionName) {\n return this.json.extensions && this.json.extensions[extensionName];\n }\n\n hasProperty(propertyName) {\n return Boolean(this.json[propertyName]);\n }\n\n getGlobalProperty(propertyName, componentType = GL.UNSIGNED_INT, componentLength = 1) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n 1,\n jsonValue.byteOffset\n );\n }\n\n return jsonValue;\n }\n\n getPropertyArray(propertyName, componentType, componentLength) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n if ('componentType' in jsonValue) {\n componentType = GLType.fromName(jsonValue.componentType);\n }\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n this.featuresLength,\n jsonValue.byteOffset\n );\n }\n\n return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);\n }\n\n getProperty(propertyName, componentType, componentLength, featureId, result) {\n const jsonValue = this.json[propertyName];\n if (!jsonValue) {\n return jsonValue;\n }\n\n const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);\n\n if (componentLength === 1) {\n return typedArray[featureId];\n }\n\n for (let i = 0; i < componentLength; ++i) {\n result[i] = typedArray[componentLength * featureId + i];\n }\n\n return result;\n }\n\n // HELPERS\n\n _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(\n componentType,\n this.buffer.buffer,\n this.buffer.byteOffset + byteOffset,\n count * componentLength\n );\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n\n _getTypedArrayFromArray(propertyName, componentType, array) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(componentType, array);\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n}\n"],"file":"tile-3d-feature-table.js"}
1
+ {"version":3,"sources":["../../../../src/lib/classes/tile-3d-feature-table.ts"],"names":["Tile3DFeatureTable","constructor","featureTableJson","featureTableBinary","json","buffer","getExtension","extensionName","extensions","hasProperty","propertyName","Boolean","getGlobalProperty","componentType","GL","UNSIGNED_INT","componentLength","jsonValue","Number","isFinite","byteOffset","_getTypedArrayFromBinary","getPropertyArray","GLType","fromName","featuresLength","_getTypedArrayFromArray","getProperty","featureId","result","typedArray","i","count","cachedTypedArrays","_cachedTypedArrays","createTypedArray","array"],"mappings":"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","sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {GL, GLType} from '@loaders.gl/math';\n\n// Reference:\n// https://github.com/AnalyticalGraphicsInc/cesium/blob/1de96d087f0b17575eb1a3f736407b348c765d59/Source/Scene/Cesium3DTileFeatureTable.js\nexport default class Tile3DFeatureTable {\n json;\n buffer;\n featuresLength = 0;\n _cachedTypedArrays = {};\n\n constructor(featureTableJson, featureTableBinary) {\n this.json = featureTableJson;\n this.buffer = featureTableBinary;\n }\n\n getExtension(extensionName) {\n return this.json.extensions && this.json.extensions[extensionName];\n }\n\n hasProperty(propertyName) {\n return Boolean(this.json[propertyName]);\n }\n\n getGlobalProperty(propertyName, componentType = GL.UNSIGNED_INT, componentLength = 1) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n 1,\n jsonValue.byteOffset\n );\n }\n\n return jsonValue;\n }\n\n getPropertyArray(propertyName, componentType, componentLength) {\n const jsonValue = this.json[propertyName];\n\n if (jsonValue && Number.isFinite(jsonValue.byteOffset)) {\n if ('componentType' in jsonValue) {\n componentType = GLType.fromName(jsonValue.componentType);\n }\n return this._getTypedArrayFromBinary(\n propertyName,\n componentType,\n componentLength,\n this.featuresLength,\n jsonValue.byteOffset\n );\n }\n\n return this._getTypedArrayFromArray(propertyName, componentType, jsonValue);\n }\n\n getProperty(propertyName, componentType, componentLength, featureId, result) {\n const jsonValue = this.json[propertyName];\n if (!jsonValue) {\n return jsonValue;\n }\n\n const typedArray = this.getPropertyArray(propertyName, componentType, componentLength);\n\n if (componentLength === 1) {\n return typedArray[featureId];\n }\n\n for (let i = 0; i < componentLength; ++i) {\n result[i] = typedArray[componentLength * featureId + i];\n }\n\n return result;\n }\n\n // HELPERS\n\n _getTypedArrayFromBinary(propertyName, componentType, componentLength, count, byteOffset) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(\n componentType,\n this.buffer.buffer,\n this.buffer.byteOffset + byteOffset,\n count * componentLength\n );\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n\n _getTypedArrayFromArray(propertyName, componentType, array) {\n const cachedTypedArrays = this._cachedTypedArrays;\n let typedArray = cachedTypedArrays[propertyName];\n if (!typedArray) {\n typedArray = GLType.createTypedArray(componentType, array);\n cachedTypedArrays[propertyName] = typedArray;\n }\n return typedArray;\n }\n}\n"],"file":"tile-3d-feature-table.js"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.TILE3D_OPTIMIZATION_HINT = exports.MAGIC_ARRAY = exports.TILE3D_TYPES = exports.TILE3D_TYPE = void 0;
7
- var TILE3D_TYPE = {
7
+ const TILE3D_TYPE = {
8
8
  COMPOSITE: 'cmpt',
9
9
  POINT_CLOUD: 'pnts',
10
10
  BATCHED_3D_MODEL: 'b3dm',
@@ -13,16 +13,16 @@ var TILE3D_TYPE = {
13
13
  VECTOR: 'vect'
14
14
  };
15
15
  exports.TILE3D_TYPE = TILE3D_TYPE;
16
- var TILE3D_TYPES = Object.keys(TILE3D_TYPE);
16
+ const TILE3D_TYPES = Object.keys(TILE3D_TYPE);
17
17
  exports.TILE3D_TYPES = TILE3D_TYPES;
18
- var MAGIC_ARRAY = {
18
+ const MAGIC_ARRAY = {
19
19
  BATCHED_MODEL: [98, 51, 100, 109],
20
20
  INSTANCED_MODEL: [105, 51, 100, 109],
21
21
  POINT_CLOUD: [112, 110, 116, 115],
22
22
  COMPOSITE: [99, 109, 112, 116]
23
23
  };
24
24
  exports.MAGIC_ARRAY = MAGIC_ARRAY;
25
- var TILE3D_OPTIMIZATION_HINT = {
25
+ const TILE3D_OPTIMIZATION_HINT = {
26
26
  NOT_COMPUTED: -1,
27
27
  USE_OPTIMIZATION: 1,
28
28
  SKIP_OPTIMIZATION: 0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/constants.js"],"names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"mappings":";;;;;;AAEO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,SAAS,EAAE,MADc;AAEzBC,EAAAA,WAAW,EAAE,MAFY;AAGzBC,EAAAA,gBAAgB,EAAE,MAHO;AAIzBC,EAAAA,kBAAkB,EAAE,MAJK;AAKzBC,EAAAA,QAAQ,EAAE,MALe;AAMzBC,EAAAA,MAAM,EAAE;AANiB,CAApB;;AASA,IAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYT,WAAZ,CAArB;;AAEA,IAAMU,WAAW,GAAG;AACzBC,EAAAA,aAAa,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,GAAT,EAAc,GAAd,CADU;AAEzBC,EAAAA,eAAe,EAAE,CAAC,GAAD,EAAM,EAAN,EAAU,GAAV,EAAe,GAAf,CAFQ;AAGzBV,EAAAA,WAAW,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAHY;AAIzBD,EAAAA,SAAS,EAAE,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,GAAf;AAJc,CAApB;;AAQA,IAAMY,wBAAwB,GAAG;AACtCC,EAAAA,YAAY,EAAE,CAAC,CADuB;AAEtCC,EAAAA,gBAAgB,EAAE,CAFoB;AAGtCC,EAAAA,iBAAiB,EAAE;AAHmB,CAAjC","sourcesContent":["// TILE TYPES\n\nexport const TILE3D_TYPE = {\n COMPOSITE: 'cmpt',\n POINT_CLOUD: 'pnts',\n BATCHED_3D_MODEL: 'b3dm',\n INSTANCED_3D_MODEL: 'i3dm',\n GEOMETRY: 'geom',\n VECTOR: 'vect'\n};\n\nexport const TILE3D_TYPES = Object.keys(TILE3D_TYPE);\n\nexport const MAGIC_ARRAY = {\n BATCHED_MODEL: [98, 51, 100, 109],\n INSTANCED_MODEL: [105, 51, 100, 109],\n POINT_CLOUD: [112, 110, 116, 115],\n COMPOSITE: [99, 109, 112, 116]\n};\n\n// TILE CONSTANTS\nexport const TILE3D_OPTIMIZATION_HINT = {\n NOT_COMPUTED: -1,\n USE_OPTIMIZATION: 1,\n SKIP_OPTIMIZATION: 0\n};\n"],"file":"constants.js"}
1
+ {"version":3,"sources":["../../../src/lib/constants.ts"],"names":["TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","GEOMETRY","VECTOR","TILE3D_TYPES","Object","keys","MAGIC_ARRAY","BATCHED_MODEL","INSTANCED_MODEL","TILE3D_OPTIMIZATION_HINT","NOT_COMPUTED","USE_OPTIMIZATION","SKIP_OPTIMIZATION"],"mappings":";;;;;;AAEO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,SAAS,EAAE,MADc;AAEzBC,EAAAA,WAAW,EAAE,MAFY;AAGzBC,EAAAA,gBAAgB,EAAE,MAHO;AAIzBC,EAAAA,kBAAkB,EAAE,MAJK;AAKzBC,EAAAA,QAAQ,EAAE,MALe;AAMzBC,EAAAA,MAAM,EAAE;AANiB,CAApB;;AASA,MAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYT,WAAZ,CAArB;;AAEA,MAAMU,WAAW,GAAG;AACzBC,EAAAA,aAAa,EAAE,CAAC,EAAD,EAAK,EAAL,EAAS,GAAT,EAAc,GAAd,CADU;AAEzBC,EAAAA,eAAe,EAAE,CAAC,GAAD,EAAM,EAAN,EAAU,GAAV,EAAe,GAAf,CAFQ;AAGzBV,EAAAA,WAAW,EAAE,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAHY;AAIzBD,EAAAA,SAAS,EAAE,CAAC,EAAD,EAAK,GAAL,EAAU,GAAV,EAAe,GAAf;AAJc,CAApB;;AAQA,MAAMY,wBAAwB,GAAG;AACtCC,EAAAA,YAAY,EAAE,CAAC,CADuB;AAEtCC,EAAAA,gBAAgB,EAAE,CAFoB;AAGtCC,EAAAA,iBAAiB,EAAE;AAHmB,CAAjC","sourcesContent":["// TILE TYPES\n\nexport const TILE3D_TYPE = {\n COMPOSITE: 'cmpt',\n POINT_CLOUD: 'pnts',\n BATCHED_3D_MODEL: 'b3dm',\n INSTANCED_3D_MODEL: 'i3dm',\n GEOMETRY: 'geom',\n VECTOR: 'vect'\n};\n\nexport const TILE3D_TYPES = Object.keys(TILE3D_TYPE);\n\nexport const MAGIC_ARRAY = {\n BATCHED_MODEL: [98, 51, 100, 109],\n INSTANCED_MODEL: [105, 51, 100, 109],\n POINT_CLOUD: [112, 110, 116, 115],\n COMPOSITE: [99, 109, 112, 116]\n};\n\n// TILE CONSTANTS\nexport const TILE3D_OPTIMIZATION_HINT = {\n NOT_COMPUTED: -1,\n USE_OPTIMIZATION: 1,\n SKIP_OPTIMIZATION: 0\n};\n"],"file":"constants.js"}
@@ -1,40 +1,33 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.encodeBatchedModel3DTile = encodeBatchedModel3DTile;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
8
  var _loaderUtils = require("@loaders.gl/loader-utils");
13
9
 
14
10
  var _constants = require("../constants");
15
11
 
16
12
  var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
17
13
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
-
22
14
  function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
23
- var _tile = tile,
24
- _tile$featuresLength = _tile.featuresLength,
25
- featuresLength = _tile$featuresLength === void 0 ? 0 : _tile$featuresLength,
26
- batchTable = _tile.batchTable;
27
- var featureTableJson = {
15
+ const {
16
+ featuresLength = 0,
17
+ batchTable
18
+ } = tile;
19
+ const featureTableJson = {
28
20
  BATCH_LENGTH: featuresLength
29
21
  };
30
- var featureTableJsonString = JSON.stringify(featureTableJson);
31
- var batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
32
- var featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
33
- var batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
34
- tile = _objectSpread({
35
- magic: _constants.MAGIC_ARRAY.BATCHED_MODEL
36
- }, tile);
37
- var byteOffsetStart = byteOffset;
22
+ const featureTableJsonString = JSON.stringify(featureTableJson);
23
+ const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';
24
+ const featureTableJsonByteLength = (0, _loaderUtils.padToNBytes)(featureTableJsonString.length, 8);
25
+ const batchTableJsonByteLength = batchTableJsonString ? (0, _loaderUtils.padToNBytes)(batchTableJsonString.length, 8) : 0;
26
+ tile = {
27
+ magic: _constants.MAGIC_ARRAY.BATCHED_MODEL,
28
+ ...tile
29
+ };
30
+ const byteOffsetStart = byteOffset;
38
31
  byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
39
32
 
40
33
  if (dataView) {
@@ -51,7 +44,7 @@ function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {
51
44
  byteOffset = (0, _loaderUtils.copyPaddedStringToDataView)(dataView, byteOffset, batchTableJsonString, 8);
52
45
  }
53
46
 
54
- var gltfEncoded = tile.gltfEncoded;
47
+ const gltfEncoded = tile.gltfEncoded;
55
48
 
56
49
  if (gltfEncoded) {
57
50
  byteOffset = (0, _loaderUtils.copyBinaryToDataView)(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-batched-model.js"],"names":["encodeBatchedModel3DTile","tile","dataView","byteOffset","options","featuresLength","batchTable","featureTableJson","BATCH_LENGTH","featureTableJsonString","JSON","stringify","batchTableJsonString","featureTableJsonByteLength","length","batchTableJsonByteLength","magic","MAGIC_ARRAY","BATCHED_MODEL","byteOffsetStart","setUint32","gltfEncoded","byteLength"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;;;;;AAGO,SAASA,wBAAT,CAAkCC,IAAlC,EAAwCC,QAAxC,EAAkDC,UAAlD,EAA8DC,OAA9D,EAAuE;AAC5E,cAAyCH,IAAzC;AAAA,mCAAOI,cAAP;AAAA,MAAOA,cAAP,qCAAwB,CAAxB;AAAA,MAA2BC,UAA3B,SAA2BA,UAA3B;AAEA,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,YAAY,EAAEH;AADS,GAAzB;AAGA,MAAMI,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeJ,gBAAf,CAA/B;AACA,MAAMK,oBAAoB,GAAGN,UAAU,GAAGI,IAAI,CAACC,SAAL,CAAeL,UAAf,CAAH,GAAgC,EAAvE;AACA,MAAMO,0BAA0B,GAAG,8BAAYJ,sBAAsB,CAACK,MAAnC,EAA2C,CAA3C,CAAnC;AACA,MAAMC,wBAAwB,GAAGH,oBAAoB,GACjD,8BAAYA,oBAAoB,CAACE,MAAjC,EAAyC,CAAzC,CADiD,GAEjD,CAFJ;AAKAb,EAAAA,IAAI;AAAIe,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAAyCjB,IAAzC,CAAJ;AAEA,MAAMkB,eAAe,GAAGhB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAb;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBP,0BAAvB,EAAmD,IAAnD;AACAX,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACAlB,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBL,wBAAvB,EAAiD,IAAjD;AACAb,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACD;;AACDjB,EAAAA,UAAU,IAAI,EAAd;AAGAA,EAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDM,sBAAjD,EAAyE,CAAzE,CAAb;;AAEA,MAAIH,UAAJ,EAAgB;AACdH,IAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDS,oBAAjD,EAAuE,CAAvE,CAAb;AACD;;AAGD,MAAMS,WAAW,GAAGpB,IAAI,CAACoB,WAAzB;;AACA,MAAIA,WAAJ,EAAiB;AACflB,IAAAA,UAAU,GAAG,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CkB,WAA3C,EAAwDA,WAAW,CAACC,UAApE,CAAb;AACD;;AAGD,kDAAuBpB,QAAvB,EAAiCiB,eAAjC,EAAkDhB,UAAU,GAAGgB,eAA/D;AAEA,SAAOhB,UAAP;AACD","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 {\n padToNBytes,\n copyBinaryToDataView,\n copyPaddedStringToDataView\n} 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 dataView for testing purposes\nexport function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {\n const {featuresLength = 0, batchTable} = tile;\n\n const featureTableJson = {\n BATCH_LENGTH: featuresLength\n };\n const featureTableJsonString = JSON.stringify(featureTableJson);\n const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';\n const featureTableJsonByteLength = padToNBytes(featureTableJsonString.length, 8);\n const batchTableJsonByteLength = batchTableJsonString\n ? padToNBytes(batchTableJsonString.length, 8)\n : 0;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.BATCHED_MODEL, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset = encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(12, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(16, 0, true); // featureTableBinaryByteLength\n dataView.setUint32(20, batchTableJsonByteLength, true); // batchTableJsonByteLength\n dataView.setUint32(24, 0, true); // batchTableBinaryByteLength\n }\n byteOffset += 16;\n\n // TODO feature table binary\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, featureTableJsonString, 8);\n\n if (batchTable) {\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, batchTableJsonString, 8);\n }\n\n // Add encoded GLTF to the end of data\n const gltfEncoded = tile.gltfEncoded;\n if (gltfEncoded) {\n byteOffset = copyBinaryToDataView(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);\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"],"file":"encode-3d-tile-batched-model.js"}
1
+ {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-batched-model.ts"],"names":["encodeBatchedModel3DTile","tile","dataView","byteOffset","options","featuresLength","batchTable","featureTableJson","BATCH_LENGTH","featureTableJsonString","JSON","stringify","batchTableJsonString","featureTableJsonByteLength","length","batchTableJsonByteLength","magic","MAGIC_ARRAY","BATCHED_MODEL","byteOffsetStart","setUint32","gltfEncoded","byteLength"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AAGO,SAASA,wBAAT,CAAkCC,IAAlC,EAAwCC,QAAxC,EAAkDC,UAAlD,EAA8DC,OAA9D,EAAuE;AAC5E,QAAM;AAACC,IAAAA,cAAc,GAAG,CAAlB;AAAqBC,IAAAA;AAArB,MAAmCL,IAAzC;AAEA,QAAMM,gBAAgB,GAAG;AACvBC,IAAAA,YAAY,EAAEH;AADS,GAAzB;AAGA,QAAMI,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeJ,gBAAf,CAA/B;AACA,QAAMK,oBAAoB,GAAGN,UAAU,GAAGI,IAAI,CAACC,SAAL,CAAeL,UAAf,CAAH,GAAgC,EAAvE;AACA,QAAMO,0BAA0B,GAAG,8BAAYJ,sBAAsB,CAACK,MAAnC,EAA2C,CAA3C,CAAnC;AACA,QAAMC,wBAAwB,GAAGH,oBAAoB,GACjD,8BAAYA,oBAAoB,CAACE,MAAjC,EAAyC,CAAzC,CADiD,GAEjD,CAFJ;AAKAb,EAAAA,IAAI,GAAG;AAACe,IAAAA,KAAK,EAAEC,uBAAYC,aAApB;AAAmC,OAAGjB;AAAtC,GAAP;AAEA,QAAMkB,eAAe,GAAGhB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAb;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBP,0BAAvB,EAAmD,IAAnD;AACAX,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACAlB,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuBL,wBAAvB,EAAiD,IAAjD;AACAb,IAAAA,QAAQ,CAACkB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACD;;AACDjB,EAAAA,UAAU,IAAI,EAAd;AAGAA,EAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDM,sBAAjD,EAAyE,CAAzE,CAAb;;AAEA,MAAIH,UAAJ,EAAgB;AACdH,IAAAA,UAAU,GAAG,6CAA2BD,QAA3B,EAAqCC,UAArC,EAAiDS,oBAAjD,EAAuE,CAAvE,CAAb;AACD;;AAGD,QAAMS,WAAW,GAAGpB,IAAI,CAACoB,WAAzB;;AACA,MAAIA,WAAJ,EAAiB;AACflB,IAAAA,UAAU,GAAG,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CkB,WAA3C,EAAwDA,WAAW,CAACC,UAApE,CAAb;AACD;;AAGD,kDAAuBpB,QAAvB,EAAiCiB,eAAjC,EAAkDhB,UAAU,GAAGgB,eAA/D;AAEA,SAAOhB,UAAP;AACD","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 {\n padToNBytes,\n copyBinaryToDataView,\n copyPaddedStringToDataView\n} 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 dataView for testing purposes\nexport function encodeBatchedModel3DTile(tile, dataView, byteOffset, options) {\n const {featuresLength = 0, batchTable} = tile;\n\n const featureTableJson = {\n BATCH_LENGTH: featuresLength\n };\n const featureTableJsonString = JSON.stringify(featureTableJson);\n const batchTableJsonString = batchTable ? JSON.stringify(batchTable) : '';\n const featureTableJsonByteLength = padToNBytes(featureTableJsonString.length, 8);\n const batchTableJsonByteLength = batchTableJsonString\n ? padToNBytes(batchTableJsonString.length, 8)\n : 0;\n\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.BATCHED_MODEL, ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset = encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(12, featureTableJsonByteLength, true); // featureTableJsonByteLength\n dataView.setUint32(16, 0, true); // featureTableBinaryByteLength\n dataView.setUint32(20, batchTableJsonByteLength, true); // batchTableJsonByteLength\n dataView.setUint32(24, 0, true); // batchTableBinaryByteLength\n }\n byteOffset += 16;\n\n // TODO feature table binary\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, featureTableJsonString, 8);\n\n if (batchTable) {\n byteOffset = copyPaddedStringToDataView(dataView, byteOffset, batchTableJsonString, 8);\n }\n\n // Add encoded GLTF to the end of data\n const gltfEncoded = tile.gltfEncoded;\n if (gltfEncoded) {\n byteOffset = copyBinaryToDataView(dataView, byteOffset, gltfEncoded, gltfEncoded.byteLength);\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"],"file":"encode-3d-tile-batched-model.js"}
@@ -1,28 +1,21 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.encodeComposite3DTile = encodeComposite3DTile;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
8
  var _constants = require("../constants");
13
9
 
14
10
  var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
15
11
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
-
20
12
  function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {
21
- tile = _objectSpread({
13
+ tile = {
22
14
  magic: _constants.MAGIC_ARRAY.COMPOSITE,
23
- tiles: []
24
- }, tile);
25
- var byteOffsetStart = byteOffset;
15
+ tiles: [],
16
+ ...tile
17
+ };
18
+ const byteOffsetStart = byteOffset;
26
19
  byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, byteOffset);
27
20
 
28
21
  if (dataView) {
@@ -31,7 +24,7 @@ function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile
31
24
 
32
25
  byteOffset += 4;
33
26
 
34
- for (var i = 0; i < tile.tiles.length; ++i) {
27
+ for (let i = 0; i < tile.tiles.length; ++i) {
35
28
  byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);
36
29
  }
37
30
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-composite.js"],"names":["encodeComposite3DTile","tile","dataView","byteOffset","options","encode3DTile","magic","MAGIC_ARRAY","COMPOSITE","tiles","byteOffsetStart","setUint32","length","i"],"mappings":";;;;;;;;;;;AAGA;;AACA;;;;;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqCC,QAArC,EAA+CC,UAA/C,EAA2DC,OAA3D,EAAoEC,YAApE,EAAkF;AAEvFJ,EAAAA,IAAI;AAAIK,IAAAA,KAAK,EAAEC,uBAAYC,SAAvB;AAAkCC,IAAAA,KAAK,EAAE;AAAzC,KAAgDR,IAAhD,CAAJ;AAEA,MAAMS,eAAe,GAAGP,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAd;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACS,SAAT,CAAmBR,UAAnB,EAA+BF,IAAI,CAACQ,KAAL,CAAWG,MAA1C,EAAkD,IAAlD;AACD;;AACDT,EAAAA,UAAU,IAAI,CAAd;;AAEA,OAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGZ,IAAI,CAACQ,KAAL,CAAWG,MAA/B,EAAuC,EAAEC,CAAzC,EAA4C;AAC1CV,IAAAA,UAAU,IAAIE,YAAY,CAACJ,IAAI,CAACQ,KAAL,CAAWI,CAAX,CAAD,EAAgBX,QAAhB,EAA0BC,UAA1B,EAAsCC,OAAtC,CAA1B;AACD;;AAGD,kDAAuBF,QAAvB,EAAiCQ,eAAjC,EAAkDP,UAAU,GAAGO,eAA/D;AAEA,SAAOP,UAAP;AACD","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';\n\nexport function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.COMPOSITE, tiles: [], ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset += encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(byteOffset, tile.tiles.length, true); // tilesLength\n }\n byteOffset += 4;\n\n for (let i = 0; i < tile.tiles.length; ++i) {\n byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);\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"],"file":"encode-3d-tile-composite.js"}
1
+ {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-composite.ts"],"names":["encodeComposite3DTile","tile","dataView","byteOffset","options","encode3DTile","magic","MAGIC_ARRAY","COMPOSITE","tiles","byteOffsetStart","setUint32","length","i"],"mappings":";;;;;;;AAGA;;AACA;;AAEO,SAASA,qBAAT,CAA+BC,IAA/B,EAAqCC,QAArC,EAA+CC,UAA/C,EAA2DC,OAA3D,EAAoEC,YAApE,EAAkF;AAEvFJ,EAAAA,IAAI,GAAG;AAACK,IAAAA,KAAK,EAAEC,uBAAYC,SAApB;AAA+BC,IAAAA,KAAK,EAAE,EAAtC;AAA0C,OAAGR;AAA7C,GAAP;AAEA,QAAMS,eAAe,GAAGP,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmCC,UAAnC,CAAd;;AAEA,MAAID,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACS,SAAT,CAAmBR,UAAnB,EAA+BF,IAAI,CAACQ,KAAL,CAAWG,MAA1C,EAAkD,IAAlD;AACD;;AACDT,EAAAA,UAAU,IAAI,CAAd;;AAEA,OAAK,IAAIU,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGZ,IAAI,CAACQ,KAAL,CAAWG,MAA/B,EAAuC,EAAEC,CAAzC,EAA4C;AAC1CV,IAAAA,UAAU,IAAIE,YAAY,CAACJ,IAAI,CAACQ,KAAL,CAAWI,CAAX,CAAD,EAAgBX,QAAhB,EAA0BC,UAA1B,EAAsCC,OAAtC,CAA1B;AACD;;AAGD,kDAAuBF,QAAvB,EAAiCQ,eAAjC,EAAkDP,UAAU,GAAGO,eAA/D;AAEA,SAAOP,UAAP;AACD","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';\n\nexport function encodeComposite3DTile(tile, dataView, byteOffset, options, encode3DTile) {\n // Add default magic for this tile type\n tile = {magic: MAGIC_ARRAY.COMPOSITE, tiles: [], ...tile};\n\n const byteOffsetStart = byteOffset;\n\n byteOffset += encode3DTileHeader(tile, dataView, byteOffset);\n\n if (dataView) {\n dataView.setUint32(byteOffset, tile.tiles.length, true); // tilesLength\n }\n byteOffset += 4;\n\n for (let i = 0; i < tile.tiles.length; ++i) {\n byteOffset += encode3DTile(tile.tiles[i], dataView, byteOffset, options);\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"],"file":"encode-3d-tile-composite.js"}
@@ -1,43 +1,34 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.encodeInstancedModel3DTile = encodeInstancedModel3DTile;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
8
  var _loaderUtils = require("@loaders.gl/loader-utils");
13
9
 
14
10
  var _constants = require("../constants");
15
11
 
16
12
  var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
17
13
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
-
22
14
  function encodeInstancedModel3DTile(tile, dataView, byteOffset, options) {
23
- var _tile = tile,
24
- _tile$featuresLength = _tile.featuresLength,
25
- featuresLength = _tile$featuresLength === void 0 ? 1 : _tile$featuresLength,
26
- _tile$gltfFormat = _tile.gltfFormat,
27
- gltfFormat = _tile$gltfFormat === void 0 ? 1 : _tile$gltfFormat,
28
- _tile$gltfUri = _tile.gltfUri,
29
- gltfUri = _tile$gltfUri === void 0 ? '' : _tile$gltfUri;
30
- var gltfUriByteLength = gltfUri.length;
31
- var featureTableJson = {
15
+ const {
16
+ featuresLength = 1,
17
+ gltfFormat = 1,
18
+ gltfUri = ''
19
+ } = tile;
20
+ const gltfUriByteLength = gltfUri.length;
21
+ const featureTableJson = {
32
22
  INSTANCES_LENGTH: featuresLength,
33
23
  POSITION: new Array(featuresLength * 3).fill(0)
34
24
  };
35
- var featureTableJsonString = JSON.stringify(featureTableJson);
36
- var featureTableJsonByteLength = featureTableJsonString.length;
37
- tile = _objectSpread({
38
- magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL
39
- }, tile);
40
- var byteOffsetStart = byteOffset;
25
+ const featureTableJsonString = JSON.stringify(featureTableJson);
26
+ const featureTableJsonByteLength = featureTableJsonString.length;
27
+ tile = {
28
+ magic: _constants.MAGIC_ARRAY.INSTANCED_MODEL,
29
+ ...tile
30
+ };
31
+ const byteOffsetStart = byteOffset;
41
32
  byteOffset = (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
42
33
 
43
34
  if (dataView) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-model.js"],"names":["encodeInstancedModel3DTile","tile","dataView","byteOffset","options","featuresLength","gltfFormat","gltfUri","gltfUriByteLength","length","featureTableJson","INSTANCES_LENGTH","POSITION","Array","fill","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","magic","MAGIC_ARRAY","INSTANCED_MODEL","byteOffsetStart","setUint32"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;;;;;AAIO,SAASA,0BAAT,CAAoCC,IAApC,EAA0CC,QAA1C,EAAoDC,UAApD,EAAgEC,OAAhE,EAAyE;AAC9E,cAA2DH,IAA3D;AAAA,mCAAOI,cAAP;AAAA,MAAOA,cAAP,qCAAwB,CAAxB;AAAA,+BAA2BC,UAA3B;AAAA,MAA2BA,UAA3B,iCAAwC,CAAxC;AAAA,4BAA2CC,OAA3C;AAAA,MAA2CA,OAA3C,8BAAqD,EAArD;AAEA,MAAMC,iBAAiB,GAAGD,OAAO,CAACE,MAAlC;AAEA,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,gBAAgB,EAAEN,cADK;AAEvBO,IAAAA,QAAQ,EAAE,IAAIC,KAAJ,CAAUR,cAAc,GAAG,CAA3B,EAA8BS,IAA9B,CAAmC,CAAnC;AAFa,GAAzB;AAIA,MAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeP,gBAAf,CAA/B;AACA,MAAMQ,0BAA0B,GAAGH,sBAAsB,CAACN,MAA1D;AAGAR,EAAAA,IAAI;AAAIkB,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAA2CpB,IAA3C,CAAJ;AAEA,MAAMqB,eAAe,GAAGnB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAb;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBL,0BAAvB,EAAmD,IAAnD;AACAhB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBjB,UAAvB,EAAmC,IAAnC;AACD;;AAEDH,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZD,QADY,EAEZC,UAFY,EAGZY,sBAHY,EAIZG,0BAJY,CAAd;AAMAf,EAAAA,UAAU,IAAI,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CI,OAA3C,EAAoDC,iBAApD,CAAd;AAGA,kDAAuBN,QAAvB,EAAiCoB,eAAjC,EAAkDnB,UAAU,GAAGmB,eAA/D;AAEA,SAAOnB,UAAP;AACD","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"],"file":"encode-3d-tile-instanced-model.js"}
1
+ {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-instanced-model.ts"],"names":["encodeInstancedModel3DTile","tile","dataView","byteOffset","options","featuresLength","gltfFormat","gltfUri","gltfUriByteLength","length","featureTableJson","INSTANCES_LENGTH","POSITION","Array","fill","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","magic","MAGIC_ARRAY","INSTANCED_MODEL","byteOffsetStart","setUint32"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAIO,SAASA,0BAAT,CAAoCC,IAApC,EAA0CC,QAA1C,EAAoDC,UAApD,EAAgEC,OAAhE,EAAyE;AAC9E,QAAM;AAACC,IAAAA,cAAc,GAAG,CAAlB;AAAqBC,IAAAA,UAAU,GAAG,CAAlC;AAAqCC,IAAAA,OAAO,GAAG;AAA/C,MAAqDN,IAA3D;AAEA,QAAMO,iBAAiB,GAAGD,OAAO,CAACE,MAAlC;AAEA,QAAMC,gBAAgB,GAAG;AACvBC,IAAAA,gBAAgB,EAAEN,cADK;AAEvBO,IAAAA,QAAQ,EAAE,IAAIC,KAAJ,CAAUR,cAAc,GAAG,CAA3B,EAA8BS,IAA9B,CAAmC,CAAnC;AAFa,GAAzB;AAIA,QAAMC,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeP,gBAAf,CAA/B;AACA,QAAMQ,0BAA0B,GAAGH,sBAAsB,CAACN,MAA1D;AAGAR,EAAAA,IAAI,GAAG;AAACkB,IAAAA,KAAK,EAAEC,uBAAYC,eAApB;AAAqC,OAAGpB;AAAxC,GAAP;AAEA,QAAMqB,eAAe,GAAGnB,UAAxB;AAEAA,EAAAA,UAAU,GAAG,4CAAmBF,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAb;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBL,0BAAvB,EAAmD,IAAnD;AACAhB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuB,CAAvB,EAA0B,IAA1B;AACArB,IAAAA,QAAQ,CAACqB,SAAT,CAAmB,EAAnB,EAAuBjB,UAAvB,EAAmC,IAAnC;AACD;;AAEDH,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZD,QADY,EAEZC,UAFY,EAGZY,sBAHY,EAIZG,0BAJY,CAAd;AAMAf,EAAAA,UAAU,IAAI,uCAAqBD,QAArB,EAA+BC,UAA/B,EAA2CI,OAA3C,EAAoDC,iBAApD,CAAd;AAGA,kDAAuBN,QAAvB,EAAiCoB,eAAjC,EAAkDnB,UAAU,GAAGmB,eAA/D;AAEA,SAAOnB,UAAP;AACD","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"],"file":"encode-3d-tile-instanced-model.js"}
@@ -1,25 +1,17 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.encodePointCloud3DTile = encodePointCloud3DTile;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
8
  var _constants = require("../constants");
13
9
 
14
10
  var _encode3dTileHeader = require("./helpers/encode-3d-tile-header");
15
11
 
16
12
  var _loaderUtils = require("@loaders.gl/loader-utils");
17
13
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
-
22
- var DEFAULT_FEATURE_TABLE_JSON = {
14
+ const DEFAULT_FEATURE_TABLE_JSON = {
23
15
  POINTS_LENGTH: 1,
24
16
  POSITIONS: {
25
17
  byteOffset: 0
@@ -27,20 +19,21 @@ var DEFAULT_FEATURE_TABLE_JSON = {
27
19
  };
28
20
 
29
21
  function encodePointCloud3DTile(tile, dataView, byteOffset, options) {
30
- var _tile = tile,
31
- _tile$featureTableJso = _tile.featureTableJson,
32
- featureTableJson = _tile$featureTableJso === void 0 ? DEFAULT_FEATURE_TABLE_JSON : _tile$featureTableJso;
33
- var featureTableJsonString = JSON.stringify(featureTableJson);
22
+ const {
23
+ featureTableJson = DEFAULT_FEATURE_TABLE_JSON
24
+ } = tile;
25
+ let featureTableJsonString = JSON.stringify(featureTableJson);
34
26
  featureTableJsonString = (0, _loaderUtils.padStringToByteAlignment)(featureTableJsonString, 4);
35
- var _tile2 = tile,
36
- _tile2$featureTableJs = _tile2.featureTableJsonByteLength,
37
- featureTableJsonByteLength = _tile2$featureTableJs === void 0 ? featureTableJsonString.length : _tile2$featureTableJs;
38
- var featureTableBinary = new ArrayBuffer(12);
39
- var featureTableBinaryByteLength = featureTableBinary.byteLength;
40
- tile = _objectSpread({
41
- magic: _constants.MAGIC_ARRAY.POINT_CLOUD
42
- }, tile);
43
- var byteOffsetStart = byteOffset;
27
+ const {
28
+ featureTableJsonByteLength = featureTableJsonString.length
29
+ } = tile;
30
+ const featureTableBinary = new ArrayBuffer(12);
31
+ const featureTableBinaryByteLength = featureTableBinary.byteLength;
32
+ tile = {
33
+ magic: _constants.MAGIC_ARRAY.POINT_CLOUD,
34
+ ...tile
35
+ };
36
+ const byteOffsetStart = byteOffset;
44
37
  byteOffset += (0, _encode3dTileHeader.encode3DTileHeader)(tile, dataView, 0);
45
38
 
46
39
  if (dataView) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.js"],"names":["DEFAULT_FEATURE_TABLE_JSON","POINTS_LENGTH","POSITIONS","byteOffset","encodePointCloud3DTile","tile","dataView","options","featureTableJson","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","length","featureTableBinary","ArrayBuffer","featureTableBinaryByteLength","byteLength","magic","MAGIC_ARRAY","POINT_CLOUD","byteOffsetStart","setUint32"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;;;;;AAMA,IAAMA,0BAA0B,GAAG;AACjCC,EAAAA,aAAa,EAAE,CADkB;AAEjCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE;AADH;AAFsB,CAAnC;;AAOO,SAASC,sBAAT,CAAgCC,IAAhC,EAAsCC,QAAtC,EAAgDH,UAAhD,EAA4DI,OAA5D,EAAqE;AAC1E,cAAwDF,IAAxD;AAAA,oCAAOG,gBAAP;AAAA,MAAOA,gBAAP,sCAA0BR,0BAA1B;AAEA,MAAIS,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeH,gBAAf,CAA7B;AACAC,EAAAA,sBAAsB,GAAG,2CAAyBA,sBAAzB,EAAiD,CAAjD,CAAzB;AAEA,eAAqEJ,IAArE;AAAA,qCAAOO,0BAAP;AAAA,MAAOA,0BAAP,sCAAoCH,sBAAsB,CAACI,MAA3D;AAEA,MAAMC,kBAAkB,GAAG,IAAIC,WAAJ,CAAgB,EAAhB,CAA3B;AACA,MAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAxD;AAGAZ,EAAAA,IAAI;AAAIa,IAAAA,KAAK,EAAEC,uBAAYC;AAAvB,KAAuCf,IAAvC,CAAJ;AAEA,MAAMgB,eAAe,GAAGlB,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBE,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAd;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCS,0BAAnC,EAA+D,IAA/D;AACAN,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCa,4BAAnC,EAAiE,IAAjE;AACAV,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmC,CAAnC,EAAsC,IAAtC;AACAG,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,EAAhC,EAAoC,CAApC,EAAuC,IAAvC;AACD;;AACDA,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZM,sBAHY,EAIZG,0BAJY,CAAd;AAMAT,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZW,kBAHY,EAIZE,4BAJY,CAAd;AAQA,kDAAuBV,QAAvB,EAAiCe,eAAjC,EAAkDlB,UAAU,GAAGkB,eAA/D;AAEA,SAAOlB,UAAP;AACD","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"],"file":"encode-3d-tile-point-cloud.js"}
1
+ {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile-point-cloud.ts"],"names":["DEFAULT_FEATURE_TABLE_JSON","POINTS_LENGTH","POSITIONS","byteOffset","encodePointCloud3DTile","tile","dataView","options","featureTableJson","featureTableJsonString","JSON","stringify","featureTableJsonByteLength","length","featureTableBinary","ArrayBuffer","featureTableBinaryByteLength","byteLength","magic","MAGIC_ARRAY","POINT_CLOUD","byteOffsetStart","setUint32"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAMA,MAAMA,0BAA0B,GAAG;AACjCC,EAAAA,aAAa,EAAE,CADkB;AAEjCC,EAAAA,SAAS,EAAE;AACTC,IAAAA,UAAU,EAAE;AADH;AAFsB,CAAnC;;AAOO,SAASC,sBAAT,CAAgCC,IAAhC,EAAsCC,QAAtC,EAAgDH,UAAhD,EAA4DI,OAA5D,EAAqE;AAC1E,QAAM;AAACC,IAAAA,gBAAgB,GAAGR;AAApB,MAAkDK,IAAxD;AAEA,MAAII,sBAAsB,GAAGC,IAAI,CAACC,SAAL,CAAeH,gBAAf,CAA7B;AACAC,EAAAA,sBAAsB,GAAG,2CAAyBA,sBAAzB,EAAiD,CAAjD,CAAzB;AAEA,QAAM;AAACG,IAAAA,0BAA0B,GAAGH,sBAAsB,CAACI;AAArD,MAA+DR,IAArE;AAEA,QAAMS,kBAAkB,GAAG,IAAIC,WAAJ,CAAgB,EAAhB,CAA3B;AACA,QAAMC,4BAA4B,GAAGF,kBAAkB,CAACG,UAAxD;AAGAZ,EAAAA,IAAI,GAAG;AAACa,IAAAA,KAAK,EAAEC,uBAAYC,WAApB;AAAiC,OAAGf;AAApC,GAAP;AAEA,QAAMgB,eAAe,GAAGlB,UAAxB;AAEAA,EAAAA,UAAU,IAAI,4CAAmBE,IAAnB,EAAyBC,QAAzB,EAAmC,CAAnC,CAAd;;AAEA,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCS,0BAAnC,EAA+D,IAA/D;AACAN,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmCa,4BAAnC,EAAiE,IAAjE;AACAV,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,CAAhC,EAAmC,CAAnC,EAAsC,IAAtC;AACAG,IAAAA,QAAQ,CAACgB,SAAT,CAAmBnB,UAAU,GAAG,EAAhC,EAAoC,CAApC,EAAuC,IAAvC;AACD;;AACDA,EAAAA,UAAU,IAAI,EAAd;AAEAA,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZM,sBAHY,EAIZG,0BAJY,CAAd;AAMAT,EAAAA,UAAU,IAAI,uCACZG,QADY,EAEZH,UAFY,EAGZW,kBAHY,EAIZE,4BAJY,CAAd;AAQA,kDAAuBV,QAAvB,EAAiCe,eAAjC,EAAkDlB,UAAU,GAAGkB,eAA/D;AAEA,SAAOlB,UAAP;AACD","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"],"file":"encode-3d-tile-point-cloud.js"}
@@ -18,9 +18,9 @@ var _encode3dTileInstancedModel = require("./encode-3d-tile-instanced-model");
18
18
  var _encode3dTilePointCloud = require("./encode-3d-tile-point-cloud");
19
19
 
20
20
  function encode3DTile(tile, options) {
21
- var byteLength = encode3DTileToDataView(tile, null, 0, options);
22
- var arrayBuffer = new ArrayBuffer(byteLength);
23
- var dataView = new DataView(arrayBuffer);
21
+ const byteLength = encode3DTileToDataView(tile, null, 0, options);
22
+ const arrayBuffer = new ArrayBuffer(byteLength);
23
+ const dataView = new DataView(arrayBuffer);
24
24
  encode3DTileToDataView(tile, dataView, 0, options);
25
25
  return arrayBuffer;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile.js"],"names":["encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","type","TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","Error"],"mappings":";;;;;;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAEe,SAASA,YAAT,CAAsBC,IAAtB,EAA4BC,OAA5B,EAAqC;AAClD,MAAMC,UAAU,GAAGC,sBAAsB,CAACH,IAAD,EAAO,IAAP,EAAa,CAAb,EAAgBC,OAAhB,CAAzC;AACA,MAAMG,WAAW,GAAG,IAAIC,WAAJ,CAAgBH,UAAhB,CAApB;AACA,MAAMI,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;AACnE,2BAAO,OAAOD,IAAI,CAACS,IAAZ,KAAqB,QAA5B;;AAEA,UAAQT,IAAI,CAACS,IAAb;AACE,SAAKC,uBAAYC,SAAjB;AACE,aAAO,kDAAsBX,IAAtB,EAA4BM,QAA5B,EAAsCE,UAAtC,EAAkDP,OAAlD,EAA2DE,sBAA3D,CAAP;;AACF,SAAKO,uBAAYE,WAAjB;AACE,aAAO,oDAAuBZ,IAAvB,EAA6BM,QAA7B,EAAuCE,UAAvC,EAAmDP,OAAnD,CAAP;;AACF,SAAKS,uBAAYG,gBAAjB;AACE,aAAO,wDAAyBb,IAAzB,EAA+BM,QAA/B,EAAyCE,UAAzC,EAAqDP,OAArD,CAAP;;AACF,SAAKS,uBAAYI,kBAAjB;AACE,aAAO,4DAA2Bd,IAA3B,EAAiCM,QAAjC,EAA2CE,UAA3C,EAAuDP,OAAvD,CAAP;;AACF;AACE,YAAM,IAAIc,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
+ {"version":3,"sources":["../../../../src/lib/encoders/encode-3d-tile.ts"],"names":["encode3DTile","tile","options","byteLength","encode3DTileToDataView","arrayBuffer","ArrayBuffer","dataView","DataView","byteOffset","type","TILE3D_TYPE","COMPOSITE","POINT_CLOUD","BATCHED_3D_MODEL","INSTANCED_3D_MODEL","Error"],"mappings":";;;;;;;AAGA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AAEe,SAASA,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;AACnE,2BAAO,OAAOD,IAAI,CAACS,IAAZ,KAAqB,QAA5B;;AAEA,UAAQT,IAAI,CAACS,IAAb;AACE,SAAKC,uBAAYC,SAAjB;AACE,aAAO,kDAAsBX,IAAtB,EAA4BM,QAA5B,EAAsCE,UAAtC,EAAkDP,OAAlD,EAA2DE,sBAA3D,CAAP;;AACF,SAAKO,uBAAYE,WAAjB;AACE,aAAO,oDAAuBZ,IAAvB,EAA6BM,QAA7B,EAAuCE,UAAvC,EAAmDP,OAAnD,CAAP;;AACF,SAAKS,uBAAYG,gBAAjB;AACE,aAAO,wDAAyBb,IAAzB,EAA+BM,QAA/B,EAAyCE,UAAzC,EAAqDP,OAArD,CAAP;;AACF,SAAKS,uBAAYI,kBAAjB;AACE,aAAO,4DAA2Bd,IAA3B,EAAiCM,QAAjC,EAA2CE,UAA3C,EAAuDP,OAAvD,CAAP;;AACF;AACE,YAAM,IAAIc,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"}