@deck.gl/geo-layers 8.7.0-beta.1 → 8.7.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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/geo-layers",
3
3
  "description": "deck.gl layers supporting geospatial use cases and GIS formats",
4
4
  "license": "MIT",
5
- "version": "8.7.0-beta.1",
5
+ "version": "8.7.0-beta.5",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -36,9 +36,9 @@
36
36
  "@loaders.gl/terrain": "^3.1.5",
37
37
  "@loaders.gl/tiles": "^3.1.5",
38
38
  "@luma.gl/experimental": "^8.5.10",
39
- "@math.gl/core": "^3.5.6",
40
- "@math.gl/culling": "^3.5.6",
41
- "@math.gl/web-mercator": "^3.5.6",
39
+ "@math.gl/core": "^3.5.7",
40
+ "@math.gl/culling": "^3.5.7",
41
+ "@math.gl/web-mercator": "^3.5.7",
42
42
  "h3-js": "^3.6.0",
43
43
  "long": "^3.2.0"
44
44
  },
@@ -49,5 +49,5 @@
49
49
  "@deck.gl/mesh-layers": "^8.0.0",
50
50
  "@loaders.gl/core": "^3.0.0"
51
51
  },
52
- "gitHead": "0297ca9d2c85d980b075e2af4cfbeb75e31db55a"
52
+ "gitHead": "02b67ab8085c6283c0cae45e37a9b70b24f4434b"
53
53
  }
@@ -74,6 +74,9 @@ export default class Tileset2D {
74
74
  this._selectedTiles = null;
75
75
  this._frameNumber = 0;
76
76
 
77
+ this._modelMatrix = new Matrix4();
78
+ this._modelMatrixInverse = new Matrix4();
79
+
77
80
  this.setOptions(opts);
78
81
  }
79
82
 
@@ -90,6 +93,10 @@ export default class Tileset2D {
90
93
  return this._selectedTiles.every(tile => tile.isLoaded);
91
94
  }
92
95
 
96
+ get needsReload() {
97
+ return this._selectedTiles.some(tile => tile.needsReload);
98
+ }
99
+
93
100
  setOptions(opts) {
94
101
  Object.assign(this.opts, opts);
95
102
  if (Number.isFinite(opts.maxZoom)) {
@@ -134,8 +141,8 @@ export default class Tileset2D {
134
141
  const isModelMatrixNew = !modelMatrixAsMatrix4.equals(this._modelMatrix);
135
142
  if (!viewport.equals(this._viewport) || isModelMatrixNew) {
136
143
  if (isModelMatrixNew) {
137
- this._modelMatrixInverse = modelMatrix && modelMatrixAsMatrix4.clone().invert();
138
- this._modelMatrix = modelMatrix && modelMatrixAsMatrix4;
144
+ this._modelMatrixInverse = modelMatrixAsMatrix4.clone().invert();
145
+ this._modelMatrix = modelMatrixAsMatrix4;
139
146
  }
140
147
  this._viewport = viewport;
141
148
  const tileIndices = this.getTileIndices({
@@ -152,6 +159,11 @@ export default class Tileset2D {
152
159
  // Some new tiles are added
153
160
  this._rebuildTree();
154
161
  }
162
+ // Check for needed reloads explicitly even if the view/matrix has not changed.
163
+ } else if (this.needsReload) {
164
+ this._selectedTiles = this._selectedTiles.map(tile =>
165
+ this._getTile({x: tile.x, y: tile.y, z: tile.z})
166
+ );
155
167
  }
156
168
 
157
169
  // Update tile states