@loaders.gl/tiles 4.2.0-alpha.4 → 4.2.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/constants.js +34 -32
  2. package/dist/dist.dev.js +679 -449
  3. package/dist/dist.min.js +9 -0
  4. package/dist/index.cjs +265 -326
  5. package/dist/index.cjs.map +7 -0
  6. package/dist/index.d.ts +10 -10
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +3 -1
  9. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts +1 -1
  10. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.d.ts.map +1 -1
  11. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js +45 -35
  12. package/dist/tileset/format-i3s/i3s-pending-tiles-register.js +38 -22
  13. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts +1 -1
  14. package/dist/tileset/format-i3s/i3s-tile-manager.d.ts.map +1 -1
  15. package/dist/tileset/format-i3s/i3s-tile-manager.js +68 -69
  16. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts +2 -2
  17. package/dist/tileset/format-i3s/i3s-tileset-traverser.d.ts.map +1 -1
  18. package/dist/tileset/format-i3s/i3s-tileset-traverser.js +79 -57
  19. package/dist/tileset/helpers/3d-tiles-options.d.ts +1 -1
  20. package/dist/tileset/helpers/3d-tiles-options.d.ts.map +1 -1
  21. package/dist/tileset/helpers/3d-tiles-options.js +3 -4
  22. package/dist/tileset/helpers/bounding-volume.js +269 -128
  23. package/dist/tileset/helpers/frame-state.d.ts +1 -1
  24. package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
  25. package/dist/tileset/helpers/frame-state.js +114 -95
  26. package/dist/tileset/helpers/i3s-lod.d.ts +2 -2
  27. package/dist/tileset/helpers/i3s-lod.d.ts.map +1 -1
  28. package/dist/tileset/helpers/i3s-lod.js +68 -39
  29. package/dist/tileset/helpers/tiles-3d-lod.js +97 -85
  30. package/dist/tileset/helpers/transform-utils.js +45 -44
  31. package/dist/tileset/helpers/zoom.d.ts +1 -1
  32. package/dist/tileset/helpers/zoom.d.ts.map +1 -1
  33. package/dist/tileset/helpers/zoom.js +70 -40
  34. package/dist/tileset/tile-3d.d.ts +7 -6
  35. package/dist/tileset/tile-3d.d.ts.map +1 -1
  36. package/dist/tileset/tile-3d.js +608 -399
  37. package/dist/tileset/tileset-3d.d.ts +7 -6
  38. package/dist/tileset/tileset-3d.d.ts.map +1 -1
  39. package/dist/tileset/tileset-3d.js +739 -597
  40. package/dist/tileset/tileset-cache.d.ts +2 -2
  41. package/dist/tileset/tileset-cache.d.ts.map +1 -1
  42. package/dist/tileset/tileset-cache.js +65 -48
  43. package/dist/tileset/tileset-traverser.d.ts +3 -3
  44. package/dist/tileset/tileset-traverser.d.ts.map +1 -1
  45. package/dist/tileset/tileset-traverser.js +282 -220
  46. package/dist/types.js +0 -1
  47. package/dist/utils/doubly-linked-list-node.js +17 -9
  48. package/dist/utils/doubly-linked-list.d.ts +1 -1
  49. package/dist/utils/doubly-linked-list.d.ts.map +1 -1
  50. package/dist/utils/doubly-linked-list.js +83 -56
  51. package/dist/utils/managed-array.js +140 -76
  52. package/package.json +10 -9
  53. package/src/tileset/tile-3d.ts +1 -1
  54. package/src/tileset/tileset-3d.ts +1 -1
  55. package/dist/constants.js.map +0 -1
  56. package/dist/index.js.map +0 -1
  57. package/dist/tileset/format-3d-tiles/tileset-3d-traverser.js.map +0 -1
  58. package/dist/tileset/format-i3s/i3s-pending-tiles-register.js.map +0 -1
  59. package/dist/tileset/format-i3s/i3s-tile-manager.js.map +0 -1
  60. package/dist/tileset/format-i3s/i3s-tileset-traverser.js.map +0 -1
  61. package/dist/tileset/helpers/3d-tiles-options.js.map +0 -1
  62. package/dist/tileset/helpers/bounding-volume.js.map +0 -1
  63. package/dist/tileset/helpers/frame-state.js.map +0 -1
  64. package/dist/tileset/helpers/i3s-lod.js.map +0 -1
  65. package/dist/tileset/helpers/tiles-3d-lod.js.map +0 -1
  66. package/dist/tileset/helpers/transform-utils.js.map +0 -1
  67. package/dist/tileset/helpers/zoom.js.map +0 -1
  68. package/dist/tileset/tile-3d.js.map +0 -1
  69. package/dist/tileset/tileset-3d.js.map +0 -1
  70. package/dist/tileset/tileset-cache.js.map +0 -1
  71. package/dist/tileset/tileset-traverser.js.map +0 -1
  72. package/dist/types.js.map +0 -1
  73. package/dist/utils/doubly-linked-list-node.js.map +0 -1
  74. package/dist/utils/doubly-linked-list.js.map +0 -1
  75. package/dist/utils/managed-array.js.map +0 -1
@@ -1,50 +1,51 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { Ellipsoid } from '@math.gl/geospatial';
2
5
  import { Matrix4, Vector3 } from '@math.gl/core';
3
6
  import { assert } from '@loaders.gl/loader-utils';
4
7
  export function calculateTransformProps(tileHeader, tile) {
5
- assert(tileHeader);
6
- assert(tile);
7
- const {
8
- rtcCenter,
9
- gltfUpAxis
10
- } = tile;
11
- const {
12
- computedTransform,
13
- boundingVolume: {
14
- center
8
+ assert(tileHeader);
9
+ assert(tile);
10
+ const { rtcCenter, gltfUpAxis } = tile;
11
+ const { computedTransform, boundingVolume: { center } } = tileHeader;
12
+ let modelMatrix = new Matrix4(computedTransform);
13
+ // Translate if appropriate
14
+ if (rtcCenter) {
15
+ modelMatrix.translate(rtcCenter);
16
+ }
17
+ // glTF models need to be rotated from Y to Z up
18
+ // https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification#y-up-to-z-up
19
+ switch (gltfUpAxis) {
20
+ case 'Z':
21
+ break;
22
+ case 'Y':
23
+ const rotationY = new Matrix4().rotateX(Math.PI / 2);
24
+ modelMatrix = modelMatrix.multiplyRight(rotationY);
25
+ break;
26
+ case 'X':
27
+ const rotationX = new Matrix4().rotateY(-Math.PI / 2);
28
+ modelMatrix = modelMatrix.multiplyRight(rotationX);
29
+ break;
30
+ default:
31
+ break;
32
+ }
33
+ // Scale/offset positions if normalized integers
34
+ if (tile.isQuantized) {
35
+ modelMatrix.translate(tile.quantizedVolumeOffset).scale(tile.quantizedVolumeScale);
36
+ }
37
+ // Option 1: Cartesian matrix and origin
38
+ const cartesianOrigin = new Vector3(center);
39
+ tile.cartesianModelMatrix = modelMatrix;
40
+ tile.cartesianOrigin = cartesianOrigin;
41
+ // Option 2: Cartographic matrix and origin
42
+ const cartographicOrigin = Ellipsoid.WGS84.cartesianToCartographic(cartesianOrigin, new Vector3());
43
+ const fromFixedFrameMatrix = Ellipsoid.WGS84.eastNorthUpToFixedFrame(cartesianOrigin);
44
+ const toFixedFrameMatrix = fromFixedFrameMatrix.invert();
45
+ tile.cartographicModelMatrix = toFixedFrameMatrix.multiplyRight(modelMatrix);
46
+ tile.cartographicOrigin = cartographicOrigin;
47
+ // Deprecated, drop
48
+ if (!tile.coordinateSystem) {
49
+ tile.modelMatrix = tile.cartographicModelMatrix;
15
50
  }
16
- } = tileHeader;
17
- let modelMatrix = new Matrix4(computedTransform);
18
- if (rtcCenter) {
19
- modelMatrix.translate(rtcCenter);
20
- }
21
- switch (gltfUpAxis) {
22
- case 'Z':
23
- break;
24
- case 'Y':
25
- const rotationY = new Matrix4().rotateX(Math.PI / 2);
26
- modelMatrix = modelMatrix.multiplyRight(rotationY);
27
- break;
28
- case 'X':
29
- const rotationX = new Matrix4().rotateY(-Math.PI / 2);
30
- modelMatrix = modelMatrix.multiplyRight(rotationX);
31
- break;
32
- default:
33
- break;
34
- }
35
- if (tile.isQuantized) {
36
- modelMatrix.translate(tile.quantizedVolumeOffset).scale(tile.quantizedVolumeScale);
37
- }
38
- const cartesianOrigin = new Vector3(center);
39
- tile.cartesianModelMatrix = modelMatrix;
40
- tile.cartesianOrigin = cartesianOrigin;
41
- const cartographicOrigin = Ellipsoid.WGS84.cartesianToCartographic(cartesianOrigin, new Vector3());
42
- const fromFixedFrameMatrix = Ellipsoid.WGS84.eastNorthUpToFixedFrame(cartesianOrigin);
43
- const toFixedFrameMatrix = fromFixedFrameMatrix.invert();
44
- tile.cartographicModelMatrix = toFixedFrameMatrix.multiplyRight(modelMatrix);
45
- tile.cartographicOrigin = cartographicOrigin;
46
- if (!tile.coordinateSystem) {
47
- tile.modelMatrix = tile.cartographicModelMatrix;
48
- }
49
51
  }
50
- //# sourceMappingURL=transform-utils.js.map
@@ -1,6 +1,6 @@
1
1
  import { Vector3 } from '@math.gl/core';
2
2
  import { BoundingSphere, OrientedBoundingBox } from '@math.gl/culling';
3
- import { BoundingRectangle } from '../../types';
3
+ import { BoundingRectangle } from "../../types.js";
4
4
  /**
5
5
  * Calculate appropriate zoom value for a particular boundingVolume
6
6
  * @param boundingVolume - the instance of bounding volume
@@ -1 +1 @@
1
- {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/zoom.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAQ9C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAAG,mBAAmB,GAAG,iBAAiB,EACxE,mBAAmB,EAAE,OAAO,UAwB7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,EACD,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAYzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAQzB"}
1
+ {"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/zoom.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAC,iBAAiB,EAAC,uBAAoB;AAQ9C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAAG,mBAAmB,GAAG,iBAAiB,EACxE,mBAAmB,EAAE,OAAO,UAwB7B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,EACD,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAYzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxC,mBAAmB,EAAE,OAAO,EAC5B,eAAe,EAAE,OAAO,UAQzB"}
@@ -1,3 +1,6 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { Vector3 } from '@math.gl/core';
2
5
  import { BoundingSphere, OrientedBoundingBox } from '@math.gl/culling';
3
6
  import { Ellipsoid } from '@math.gl/geospatial';
@@ -5,51 +8,78 @@ const WGS84_RADIUS_X = 6378137.0;
5
8
  const WGS84_RADIUS_Y = 6378137.0;
6
9
  const WGS84_RADIUS_Z = 6356752.3142451793;
7
10
  const scratchVector = new Vector3();
11
+ /**
12
+ * Calculate appropriate zoom value for a particular boundingVolume
13
+ * @param boundingVolume - the instance of bounding volume
14
+ * @param cartorgraphicCenter - cartographic center of the bounding volume
15
+ * @returns {number} - zoom value
16
+ */
8
17
  export function getZoomFromBoundingVolume(boundingVolume, cartorgraphicCenter) {
9
- if (boundingVolume instanceof OrientedBoundingBox) {
10
- const {
11
- halfAxes
12
- } = boundingVolume;
13
- const obbSize = getObbSize(halfAxes);
14
- return Math.log2(WGS84_RADIUS_Z / (obbSize + cartorgraphicCenter[2]));
15
- } else if (boundingVolume instanceof BoundingSphere) {
16
- const {
17
- radius
18
- } = boundingVolume;
19
- return Math.log2(WGS84_RADIUS_Z / (radius + cartorgraphicCenter[2]));
20
- } else if (boundingVolume.width && boundingVolume.height) {
21
- const {
22
- width,
23
- height
24
- } = boundingVolume;
25
- const zoomX = Math.log2(WGS84_RADIUS_X / width);
26
- const zoomY = Math.log2(WGS84_RADIUS_Y / height);
27
- return (zoomX + zoomY) / 2;
28
- }
29
- return 1;
18
+ if (boundingVolume instanceof OrientedBoundingBox) {
19
+ // OrientedBoundingBox
20
+ const { halfAxes } = boundingVolume;
21
+ const obbSize = getObbSize(halfAxes);
22
+ // Use WGS84_RADIUS_Z to allign with BoundingSphere algorithm
23
+ // Add the tile elevation value for correct zooming to elevated tiles
24
+ return Math.log2(WGS84_RADIUS_Z / (obbSize + cartorgraphicCenter[2]));
25
+ }
26
+ else if (boundingVolume instanceof BoundingSphere) {
27
+ // BoundingSphere
28
+ const { radius } = boundingVolume;
29
+ // Add the tile elevation value for correct zooming to elevated tiles
30
+ return Math.log2(WGS84_RADIUS_Z / (radius + cartorgraphicCenter[2]));
31
+ }
32
+ else if (boundingVolume.width && boundingVolume.height) {
33
+ // BoundingRectangle
34
+ const { width, height } = boundingVolume;
35
+ const zoomX = Math.log2(WGS84_RADIUS_X / width);
36
+ const zoomY = Math.log2(WGS84_RADIUS_Y / height);
37
+ return (zoomX + zoomY) / 2;
38
+ }
39
+ return 1;
30
40
  }
41
+ /**
42
+ * Calculate initial zoom for the tileset from 3D `fullExtent` defined in
43
+ * the tileset metadata
44
+ * @param fullExtent - 3D extent of the tileset
45
+ * @param fullExtent.xmin - minimal longitude in decimal degrees
46
+ * @param fullExtent.xmax - maximal longitude in decimal degrees
47
+ * @param fullExtent.ymin - minimal latitude in decimal degrees
48
+ * @param fullExtent.ymax - maximal latitude in decimal degrees
49
+ * @param fullExtent.zmin - minimal elevation in meters
50
+ * @param fullExtent.zmax - maximal elevation in meters
51
+ * @param cartorgraphicCenter - tileset center in cartographic coordinate system
52
+ * @param cartesianCenter - tileset center in cartesian coordinate system
53
+ * @returns - initial zoom for the tileset
54
+ */
31
55
  export function getZoomFromFullExtent(fullExtent, cartorgraphicCenter, cartesianCenter) {
32
- Ellipsoid.WGS84.cartographicToCartesian([fullExtent.xmax, fullExtent.ymax, fullExtent.zmax], scratchVector);
33
- const extentSize = Math.sqrt(Math.pow(scratchVector[0] - cartesianCenter[0], 2) + Math.pow(scratchVector[1] - cartesianCenter[1], 2) + Math.pow(scratchVector[2] - cartesianCenter[2], 2));
34
- return Math.log2(WGS84_RADIUS_Z / (extentSize + cartorgraphicCenter[2]));
56
+ Ellipsoid.WGS84.cartographicToCartesian([fullExtent.xmax, fullExtent.ymax, fullExtent.zmax], scratchVector);
57
+ const extentSize = Math.sqrt(Math.pow(scratchVector[0] - cartesianCenter[0], 2) +
58
+ Math.pow(scratchVector[1] - cartesianCenter[1], 2) +
59
+ Math.pow(scratchVector[2] - cartesianCenter[2], 2));
60
+ return Math.log2(WGS84_RADIUS_Z / (extentSize + cartorgraphicCenter[2]));
35
61
  }
62
+ /**
63
+ * Calculate initial zoom for the tileset from 2D `extent` defined in
64
+ * the tileset metadata
65
+ * @param extent - 2D extent of the tileset. It is array of 4 elements [xmin, ymin, xmax, ymax]
66
+ * @param extent[0] - minimal longitude in decimal degrees
67
+ * @param extent[1] - minimal latitude in decimal degrees
68
+ * @param extent[2] - maximal longitude in decimal degrees
69
+ * @param extent[3] - maximal latitude in decimal degrees
70
+ * @param cartorgraphicCenter - tileset center in cartographic coordinate system
71
+ * @param cartesianCenter - tileset center in cartesian coordinate system
72
+ * @returns - initial zoom for the tileset
73
+ */
36
74
  export function getZoomFromExtent(extent, cartorgraphicCenter, cartesianCenter) {
37
- const [xmin, ymin, xmax, ymax] = extent;
38
- return getZoomFromFullExtent({
39
- xmin,
40
- xmax,
41
- ymin,
42
- ymax,
43
- zmin: 0,
44
- zmax: 0
45
- }, cartorgraphicCenter, cartesianCenter);
75
+ const [xmin, ymin, xmax, ymax] = extent;
76
+ return getZoomFromFullExtent({ xmin, xmax, ymin, ymax, zmin: 0, zmax: 0 }, cartorgraphicCenter, cartesianCenter);
46
77
  }
47
78
  function getObbSize(halfAxes) {
48
- halfAxes.getColumn(0, scratchVector);
49
- const axeY = halfAxes.getColumn(1);
50
- const axeZ = halfAxes.getColumn(2);
51
- const farthestVertex = scratchVector.add(axeY).add(axeZ);
52
- const size = farthestVertex.len();
53
- return size;
79
+ halfAxes.getColumn(0, scratchVector);
80
+ const axeY = halfAxes.getColumn(1);
81
+ const axeZ = halfAxes.getColumn(2);
82
+ const farthestVertex = scratchVector.add(axeY).add(axeZ);
83
+ const size = farthestVertex.len();
84
+ return size;
54
85
  }
55
- //# sourceMappingURL=zoom.js.map
@@ -1,9 +1,10 @@
1
1
  import { Matrix4 } from '@math.gl/core';
2
- import type { Tileset3D } from './tileset-3d';
3
- import type { DoublyLinkedListNode } from '../utils/doubly-linked-list-node';
4
- import { FrameState } from './helpers/frame-state';
5
- import { CartographicBounds } from './helpers/bounding-volume';
6
- import { TilesetTraverser } from './tileset-traverser';
2
+ import type { Tileset3D } from "./tileset-3d.js";
3
+ import type { DoublyLinkedListNode } from "../utils/doubly-linked-list-node.js";
4
+ import { TILE_REFINEMENT } from "../constants.js";
5
+ import { FrameState } from "./helpers/frame-state.js";
6
+ import { CartographicBounds } from "./helpers/bounding-volume.js";
7
+ import { TilesetTraverser } from "./tileset-traverser.js";
7
8
  /**
8
9
  * @param tileset - Tileset3D instance
9
10
  * @param header - tile header - JSON loaded from a dataset
@@ -28,7 +29,7 @@ export declare class Tile3D {
28
29
  id: string;
29
30
  url: string;
30
31
  parent: Tile3D;
31
- refine: number;
32
+ refine: TILE_REFINEMENT;
32
33
  type: string;
33
34
  contentUrl: string;
34
35
  /** Different refinement algorithms used by I3S and 3D tiles */
@@ -1 +1 @@
1
- {"version":3,"file":"tile-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tile-3d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tile-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tile-3d.ts"],"names":[],"mappings":"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"}