@loaders.gl/tiles 3.3.0-alpha.4 → 3.3.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.
- package/dist/dist.min.js +823 -1298
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/constants.js +2 -1
- package/dist/es5/constants.js.map +1 -1
- package/dist/es5/index.js +26 -36
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/tileset/helpers/3d-tiles-options.js +0 -1
- package/dist/es5/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/es5/tileset/helpers/bounding-volume.js +7 -26
- package/dist/es5/tileset/helpers/bounding-volume.js.map +1 -1
- package/dist/es5/tileset/helpers/frame-state.js +22 -42
- package/dist/es5/tileset/helpers/frame-state.js.map +1 -1
- package/dist/es5/tileset/helpers/i3s-lod.js +0 -13
- package/dist/es5/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/tiles-3d-lod.js +7 -16
- package/dist/es5/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/es5/tileset/helpers/transform-utils.js +2 -11
- package/dist/es5/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/es5/tileset/helpers/zoom.js +6 -16
- package/dist/es5/tileset/helpers/zoom.js.map +1 -1
- package/dist/es5/tileset/tile-3d.js +95 -96
- package/dist/es5/tileset/tile-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-3d.js +78 -185
- package/dist/es5/tileset/tileset-3d.js.map +1 -1
- package/dist/es5/tileset/tileset-cache.js +1 -14
- package/dist/es5/tileset/tileset-cache.js.map +1 -1
- package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js +8 -13
- package/dist/es5/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
- package/dist/es5/tileset/traversers/i3s-tile-manager.js +20 -24
- package/dist/es5/tileset/traversers/i3s-tile-manager.js.map +1 -1
- package/dist/es5/tileset/traversers/i3s-tileset-traverser.js +7 -48
- package/dist/es5/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
- package/dist/es5/tileset/traversers/tileset-3d-traverser.js +0 -22
- package/dist/es5/tileset/traversers/tileset-3d-traverser.js.map +1 -1
- package/dist/es5/tileset/traversers/tileset-traverser.js +53 -76
- package/dist/es5/tileset/traversers/tileset-traverser.js.map +1 -1
- package/dist/es5/types.js.map +1 -1
- package/dist/es5/utils/doubly-linked-list-node.js +3 -7
- package/dist/es5/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/es5/utils/doubly-linked-list.js +9 -17
- package/dist/es5/utils/doubly-linked-list.js.map +1 -1
- package/dist/es5/utils/managed-array.js +29 -30
- package/dist/es5/utils/managed-array.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/constants.js +3 -0
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tileset/helpers/3d-tiles-options.js.map +1 -1
- package/dist/esm/tileset/helpers/bounding-volume.js +4 -10
- package/dist/esm/tileset/helpers/bounding-volume.js.map +1 -1
- package/dist/esm/tileset/helpers/frame-state.js +16 -16
- package/dist/esm/tileset/helpers/frame-state.js.map +1 -1
- package/dist/esm/tileset/helpers/i3s-lod.js +4 -4
- package/dist/esm/tileset/helpers/i3s-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/tiles-3d-lod.js +11 -8
- package/dist/esm/tileset/helpers/tiles-3d-lod.js.map +1 -1
- package/dist/esm/tileset/helpers/transform-utils.js +1 -3
- package/dist/esm/tileset/helpers/transform-utils.js.map +1 -1
- package/dist/esm/tileset/helpers/zoom.js +3 -2
- package/dist/esm/tileset/helpers/zoom.js.map +1 -1
- package/dist/esm/tileset/tile-3d.js +31 -107
- package/dist/esm/tileset/tile-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-3d.js +21 -155
- package/dist/esm/tileset/tileset-3d.js.map +1 -1
- package/dist/esm/tileset/tileset-cache.js +2 -18
- package/dist/esm/tileset/tileset-cache.js.map +1 -1
- package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js +0 -5
- package/dist/esm/tileset/traversers/i3s-pending-tiles-register.js.map +1 -1
- package/dist/esm/tileset/traversers/i3s-tile-manager.js +2 -4
- package/dist/esm/tileset/traversers/i3s-tile-manager.js.map +1 -1
- package/dist/esm/tileset/traversers/i3s-tileset-traverser.js +4 -17
- package/dist/esm/tileset/traversers/i3s-tileset-traverser.js.map +1 -1
- package/dist/esm/tileset/traversers/tileset-3d-traverser.js +2 -9
- package/dist/esm/tileset/traversers/tileset-3d-traverser.js.map +1 -1
- package/dist/esm/tileset/traversers/tileset-traverser.js +18 -57
- package/dist/esm/tileset/traversers/tileset-traverser.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/doubly-linked-list-node.js +1 -4
- package/dist/esm/utils/doubly-linked-list-node.js.map +1 -1
- package/dist/esm/utils/doubly-linked-list.js +2 -11
- package/dist/esm/utils/doubly-linked-list.js.map +1 -1
- package/dist/esm/utils/managed-array.js +4 -22
- package/dist/esm/utils/managed-array.js.map +1 -1
- package/dist/tileset/helpers/frame-state.d.ts +4 -4
- package/dist/tileset/helpers/frame-state.d.ts.map +1 -1
- package/dist/tileset/helpers/frame-state.js +1 -0
- package/dist/tileset/tileset-3d.d.ts.map +1 -1
- package/dist/types.d.ts +18 -10
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/tileset/helpers/frame-state.ts +6 -5
- package/src/tileset/tileset-3d.ts +2 -2
- package/src/types.ts +19 -10
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
|
|
2
3
|
import { assert } from '@loaders.gl/loader-utils';
|
|
4
|
+
|
|
3
5
|
export default class ManagedArray {
|
|
4
|
-
constructor(
|
|
6
|
+
constructor() {
|
|
7
|
+
let length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
5
8
|
_defineProperty(this, "_map", new Map());
|
|
6
|
-
|
|
7
9
|
_defineProperty(this, "_array", void 0);
|
|
8
|
-
|
|
9
10
|
_defineProperty(this, "_length", void 0);
|
|
10
|
-
|
|
11
11
|
this._array = new Array(length);
|
|
12
12
|
this._length = length;
|
|
13
13
|
}
|
|
@@ -15,10 +15,8 @@ export default class ManagedArray {
|
|
|
15
15
|
get length() {
|
|
16
16
|
return this._length;
|
|
17
17
|
}
|
|
18
|
-
|
|
19
18
|
set length(length) {
|
|
20
19
|
this._length = length;
|
|
21
|
-
|
|
22
20
|
if (length > this._array.length) {
|
|
23
21
|
this._array.length = length;
|
|
24
22
|
}
|
|
@@ -35,28 +33,20 @@ export default class ManagedArray {
|
|
|
35
33
|
|
|
36
34
|
set(index, element) {
|
|
37
35
|
assert(index >= 0);
|
|
38
|
-
|
|
39
36
|
if (index >= this.length) {
|
|
40
37
|
this.length = index + 1;
|
|
41
38
|
}
|
|
42
|
-
|
|
43
39
|
if (this._map.has(this._array[index])) {
|
|
44
40
|
this._map.delete(this._array[index]);
|
|
45
41
|
}
|
|
46
|
-
|
|
47
42
|
this._array[index] = element;
|
|
48
|
-
|
|
49
43
|
this._map.set(element, index);
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
delete(element) {
|
|
53
46
|
const index = this._map.get(element);
|
|
54
|
-
|
|
55
47
|
if (index >= 0) {
|
|
56
48
|
this._array.splice(index, 1);
|
|
57
|
-
|
|
58
49
|
this._map.delete(element);
|
|
59
|
-
|
|
60
50
|
this.length--;
|
|
61
51
|
}
|
|
62
52
|
}
|
|
@@ -69,22 +59,18 @@ export default class ManagedArray {
|
|
|
69
59
|
if (!this._map.has(element)) {
|
|
70
60
|
const index = this.length++;
|
|
71
61
|
this._array[index] = element;
|
|
72
|
-
|
|
73
62
|
this._map.set(element, index);
|
|
74
63
|
}
|
|
75
64
|
}
|
|
76
65
|
|
|
77
66
|
pop() {
|
|
78
67
|
const element = this._array[--this.length];
|
|
79
|
-
|
|
80
68
|
this._map.delete(element);
|
|
81
|
-
|
|
82
69
|
return element;
|
|
83
70
|
}
|
|
84
71
|
|
|
85
72
|
reserve(length) {
|
|
86
73
|
assert(length >= 0);
|
|
87
|
-
|
|
88
74
|
if (length > this._array.length) {
|
|
89
75
|
this._array.length = length;
|
|
90
76
|
}
|
|
@@ -99,19 +85,15 @@ export default class ManagedArray {
|
|
|
99
85
|
if (length === null || length === undefined) {
|
|
100
86
|
length = this.length;
|
|
101
87
|
}
|
|
102
|
-
|
|
103
88
|
this._array.length = length;
|
|
104
89
|
}
|
|
105
|
-
|
|
106
90
|
reset() {
|
|
107
91
|
this._array = [];
|
|
108
92
|
this._map = new Map();
|
|
109
93
|
this._length = 0;
|
|
110
94
|
}
|
|
111
|
-
|
|
112
95
|
find(target) {
|
|
113
96
|
return this._map.has(target);
|
|
114
97
|
}
|
|
115
|
-
|
|
116
98
|
}
|
|
117
99
|
//# sourceMappingURL=managed-array.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"managed-array.js","names":["assert","ManagedArray","constructor","length","Map","_array","Array","_length","values","get","index","set","element","_map","has","delete","splice","peek","push","pop","reserve","resize","trim","undefined","reset","find","target"],"sources":["../../../src/utils/managed-array.ts"],"sourcesContent":["// This file is derived from the Cesium code base under Apache 2 license\n// See LICENSE.md and https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md\n\nimport {assert} from '@loaders.gl/loader-utils';\n\n/**\n * A wrapper around arrays so that the internal length of the array can be manually managed.\n *\n * @alias ManagedArray\n * @constructor\n * @private\n *\n * @param {Number} [length=0] The initial length of the array.\n */\nexport default class ManagedArray {\n _map = new Map();\n _array: any[];\n _length: number;\n\n constructor(length = 0) {\n this._array = new Array(length);\n this._length = length;\n }\n\n /**\n * Gets or sets the length of the array.\n * If the set length is greater than the length of the internal array, the internal array is resized.\n *\n * @memberof ManagedArray.prototype\n * @type Number\n */\n get length() {\n return this._length;\n }\n\n set length(length) {\n this._length = length;\n if (length > this._array.length) {\n this._array.length = length;\n }\n }\n\n /**\n * Gets the internal array.\n *\n * @memberof ManagedArray.prototype\n * @type Array\n * @readonly\n */\n get values() {\n return this._array;\n }\n\n /**\n * Gets the element at an index.\n *\n * @param {Number} index The index to get.\n */\n get(index) {\n assert(index < this._array.length);\n return this._array[index];\n }\n\n /**\n * Sets the element at an index. Resizes the array if index is greater than the length of the array.\n *\n * @param {Number} index The index to set.\n * @param {*} element The element to set at index.\n */\n set(index, element) {\n assert(index >= 0);\n\n if (index >= this.length) {\n this.length = index + 1;\n }\n\n if (this._map.has(this._array[index])) {\n this._map.delete(this._array[index]);\n }\n\n this._array[index] = element;\n this._map.set(element, index);\n }\n\n delete(element) {\n const index = this._map.get(element);\n if (index >= 0) {\n this._array.splice(index, 1);\n this._map.delete(element);\n this.length--;\n }\n }\n\n /**\n * Returns the last element in the array without modifying the array.\n *\n * @returns {*} The last element in the array.\n */\n peek() {\n return this._array[this._length - 1];\n }\n\n /**\n * Push an element into the array.\n *\n * @param {*} element The element to push.\n */\n push(element) {\n if (!this._map.has(element)) {\n const index = this.length++;\n this._array[index] = element;\n this._map.set(element, index);\n }\n }\n\n /**\n * Pop an element from the array.\n *\n * @returns {*} The last element in the array.\n */\n pop() {\n const element = this._array[--this.length];\n this._map.delete(element);\n return element;\n }\n\n /**\n * Resize the internal array if length > _array.length.\n *\n * @param {Number} length The length.\n */\n reserve(length) {\n assert(length >= 0);\n\n if (length > this._array.length) {\n this._array.length = length;\n }\n }\n\n /**\n * Resize the array.\n *\n * @param {Number} length The length.\n */\n resize(length) {\n assert(length >= 0);\n\n this.length = length;\n }\n\n /**\n * Trim the internal array to the specified length. Defaults to the current length.\n *\n * @param {Number} [length] The length.\n */\n trim(length) {\n if (length === null || length === undefined) {\n length = this.length;\n }\n this._array.length = length;\n }\n\n reset() {\n this._array = [];\n this._map = new Map();\n this._length = 0;\n }\n\n find(target) {\n return this._map.has(target);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Tile3D } from '@loaders.gl/tiles';
|
|
2
2
|
import { CullingVolume } from '@math.gl/culling';
|
|
3
|
-
import {
|
|
3
|
+
import { GeospatialViewport } from '../../types';
|
|
4
4
|
export declare type FrameState = {
|
|
5
5
|
camera: {
|
|
6
6
|
position: number[];
|
|
7
7
|
direction: number[];
|
|
8
8
|
up: number[];
|
|
9
9
|
};
|
|
10
|
-
viewport:
|
|
11
|
-
topDownViewport:
|
|
10
|
+
viewport: GeospatialViewport;
|
|
11
|
+
topDownViewport: GeospatialViewport;
|
|
12
12
|
height: number;
|
|
13
13
|
cullingVolume: CullingVolume;
|
|
14
14
|
frameNumber: number;
|
|
15
15
|
sseDenominator: number;
|
|
16
16
|
};
|
|
17
|
-
export declare function getFrameState(viewport:
|
|
17
|
+
export declare function getFrameState(viewport: GeospatialViewport, frameNumber: number): FrameState;
|
|
18
18
|
/**
|
|
19
19
|
* Limit `tiles` array length with `maximumTilesSelected` number.
|
|
20
20
|
* The criteria for this filtering is distance of a tile center
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame-state.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/frame-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,aAAa,EAAQ,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"frame-state.d.ts","sourceRoot":"","sources":["../../../src/tileset/helpers/frame-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,aAAa,EAAQ,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,kBAAkB,EAAW,MAAM,aAAa,CAAC;AAEzD,oBAAY,UAAU,GAAG;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,EAAE,EAAE,MAAM,EAAE,CAAC;KACd,CAAC;IACF,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,EAAE,kBAAkB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAeF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAwD3F;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,MAAM,GAC3B,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAyBtB"}
|
|
@@ -17,6 +17,7 @@ const cullingVolume = new culling_1.CullingVolume([
|
|
|
17
17
|
// Extracts a frame state appropriate for tile culling from a deck.gl viewport
|
|
18
18
|
// TODO - this could likely be generalized and merged back into deck.gl for other culling scenarios
|
|
19
19
|
function getFrameState(viewport, frameNumber) {
|
|
20
|
+
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
20
21
|
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
21
22
|
const { cameraDirection, cameraUp, height } = viewport;
|
|
22
23
|
const { metersPerUnit } = viewport.distanceScales;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EACL,gBAAgB,EAGhB,gBAAgB,EAChB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAC,UAAU,EAAoC,MAAM,uBAAuB,CAAC;AAEpF,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAG9D,OAAO,
|
|
1
|
+
{"version":3,"file":"tileset-3d.d.ts","sourceRoot":"","sources":["../../src/tileset/tileset-3d.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -7,20 +7,28 @@ export declare type BoundingRectangle = {
|
|
|
7
7
|
* We can't import it from Deck.gl to avoid circular reference */
|
|
8
8
|
export declare type Viewport = {
|
|
9
9
|
id: string;
|
|
10
|
-
|
|
11
|
-
latitude: number;
|
|
12
|
-
cameraPosition: [number, number, number];
|
|
13
|
-
cameraDirection: [number, number, number];
|
|
14
|
-
cameraUp: [number, number, number];
|
|
10
|
+
cameraPosition: number[] | Vector3;
|
|
15
11
|
height: number;
|
|
16
12
|
width: number;
|
|
17
|
-
bearing: number;
|
|
18
13
|
zoom: number;
|
|
19
14
|
distanceScales: {
|
|
20
|
-
|
|
15
|
+
unitsPerMeter: number[];
|
|
16
|
+
metersPerUnit: number[];
|
|
21
17
|
};
|
|
22
|
-
center: [
|
|
23
|
-
unprojectPosition: (position: [
|
|
24
|
-
project: (coorinates: [
|
|
18
|
+
center: number[] | Vector3;
|
|
19
|
+
unprojectPosition: (position: number[] | Vector3) => [number, number, number];
|
|
20
|
+
project: (coorinates: number[] | Vector3) => number[];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Contain extra fields from WebMercatorViewport and FirstPersonViewport
|
|
24
|
+
*/
|
|
25
|
+
export declare type GeospatialViewport = Viewport & {
|
|
26
|
+
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
|
|
27
|
+
cameraDirection: [number, number, number];
|
|
28
|
+
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
|
|
29
|
+
cameraUp: [number, number, number];
|
|
30
|
+
longitude: number;
|
|
31
|
+
latitude: number;
|
|
32
|
+
bearing: number;
|
|
25
33
|
};
|
|
26
34
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,oBAAY,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;iEACiE;AACjE,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,oBAAY,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;iEACiE;AACjE,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE;QACd,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9E,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,oBAAY,kBAAkB,GAAG,QAAQ,GAAG;IAC1C,mGAAmG;IACnG,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,mGAAmG;IACnG,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loaders.gl/tiles",
|
|
3
|
-
"version": "3.3.0-alpha.
|
|
3
|
+
"version": "3.3.0-alpha.6",
|
|
4
4
|
"description": "Common components for different tiles loaders.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@loaders.gl/loader-utils": "3.3.0-alpha.
|
|
37
|
-
"@loaders.gl/math": "3.3.0-alpha.
|
|
36
|
+
"@loaders.gl/loader-utils": "3.3.0-alpha.6",
|
|
37
|
+
"@loaders.gl/math": "3.3.0-alpha.6",
|
|
38
38
|
"@math.gl/core": "^3.5.1",
|
|
39
39
|
"@math.gl/culling": "^3.5.1",
|
|
40
40
|
"@math.gl/geospatial": "^3.5.1",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@loaders.gl/core": "^3.2.0"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "718a2998a26883247461ff05f01dcbef8d8c2417"
|
|
48
48
|
}
|
|
@@ -2,7 +2,7 @@ import {Tile3D} from '@loaders.gl/tiles';
|
|
|
2
2
|
import {Vector3} from '@math.gl/core';
|
|
3
3
|
import {CullingVolume, Plane} from '@math.gl/culling';
|
|
4
4
|
import {Ellipsoid} from '@math.gl/geospatial';
|
|
5
|
-
import {Viewport} from '../../types';
|
|
5
|
+
import {GeospatialViewport, Viewport} from '../../types';
|
|
6
6
|
|
|
7
7
|
export type FrameState = {
|
|
8
8
|
camera: {
|
|
@@ -10,8 +10,8 @@ export type FrameState = {
|
|
|
10
10
|
direction: number[];
|
|
11
11
|
up: number[];
|
|
12
12
|
};
|
|
13
|
-
viewport:
|
|
14
|
-
topDownViewport:
|
|
13
|
+
viewport: GeospatialViewport;
|
|
14
|
+
topDownViewport: GeospatialViewport; // Use it to calculate projected radius for a tile
|
|
15
15
|
height: number;
|
|
16
16
|
cullingVolume: CullingVolume;
|
|
17
17
|
frameNumber: number; // TODO: This can be the same between updates, what number is unique for between updates?
|
|
@@ -31,7 +31,8 @@ const cullingVolume = new CullingVolume([
|
|
|
31
31
|
|
|
32
32
|
// Extracts a frame state appropriate for tile culling from a deck.gl viewport
|
|
33
33
|
// TODO - this could likely be generalized and merged back into deck.gl for other culling scenarios
|
|
34
|
-
export function getFrameState(viewport:
|
|
34
|
+
export function getFrameState(viewport: GeospatialViewport, frameNumber: number): FrameState {
|
|
35
|
+
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
35
36
|
// Traverse and and request. Update _selectedTiles so that we know what to render.
|
|
36
37
|
const {cameraDirection, cameraUp, height} = viewport;
|
|
37
38
|
const {metersPerUnit} = viewport.distanceScales;
|
|
@@ -174,7 +175,7 @@ function closestPointOnPlane(
|
|
|
174
175
|
|
|
175
176
|
function worldToCartesian(
|
|
176
177
|
viewport: Viewport,
|
|
177
|
-
point: [
|
|
178
|
+
point: number[] | Vector3,
|
|
178
179
|
out: Vector3 = new Vector3()
|
|
179
180
|
): Vector3 {
|
|
180
181
|
const cartographicPos = viewport.unprojectPosition(point);
|
|
@@ -55,7 +55,7 @@ import Tileset3DTraverser from './traversers/tileset-3d-traverser';
|
|
|
55
55
|
import TilesetTraverser from './traversers/tileset-traverser';
|
|
56
56
|
import I3SetTraverser from './traversers/i3s-tileset-traverser';
|
|
57
57
|
import {TILESET_TYPE} from '../constants';
|
|
58
|
-
import {Viewport} from '../types';
|
|
58
|
+
import {GeospatialViewport, Viewport} from '../types';
|
|
59
59
|
|
|
60
60
|
export type Tileset3DProps = {
|
|
61
61
|
// loading
|
|
@@ -471,7 +471,7 @@ export default class Tileset3D {
|
|
|
471
471
|
if (!viewportsToTraverse.includes(id)) {
|
|
472
472
|
continue; // eslint-disable-line no-continue
|
|
473
473
|
}
|
|
474
|
-
const frameState = getFrameState(viewport, this._frameNumber);
|
|
474
|
+
const frameState = getFrameState(viewport as GeospatialViewport, this._frameNumber);
|
|
475
475
|
this._traverser.traverse(this.roots[id], frameState, this.options);
|
|
476
476
|
}
|
|
477
477
|
}
|
package/src/types.ts
CHANGED
|
@@ -9,19 +9,28 @@ export type BoundingRectangle = {
|
|
|
9
9
|
* We can't import it from Deck.gl to avoid circular reference */
|
|
10
10
|
export type Viewport = {
|
|
11
11
|
id: string;
|
|
12
|
-
|
|
13
|
-
latitude: number;
|
|
14
|
-
cameraPosition: [number, number, number];
|
|
15
|
-
cameraDirection: [number, number, number];
|
|
16
|
-
cameraUp: [number, number, number];
|
|
12
|
+
cameraPosition: number[] | Vector3;
|
|
17
13
|
height: number;
|
|
18
14
|
width: number;
|
|
19
|
-
bearing: number;
|
|
20
15
|
zoom: number;
|
|
21
16
|
distanceScales: {
|
|
22
|
-
|
|
17
|
+
unitsPerMeter: number[];
|
|
18
|
+
metersPerUnit: number[];
|
|
23
19
|
};
|
|
24
|
-
center: [
|
|
25
|
-
unprojectPosition: (position: [
|
|
26
|
-
project: (coorinates: [
|
|
20
|
+
center: number[] | Vector3;
|
|
21
|
+
unprojectPosition: (position: number[] | Vector3) => [number, number, number];
|
|
22
|
+
project: (coorinates: number[] | Vector3) => number[];
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Contain extra fields from WebMercatorViewport and FirstPersonViewport
|
|
27
|
+
*/
|
|
28
|
+
export type GeospatialViewport = Viewport & {
|
|
29
|
+
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
|
|
30
|
+
cameraDirection: [number, number, number];
|
|
31
|
+
/** @todo This field is not represented in Deck.gl viewports. Can be removed in the next version */
|
|
32
|
+
cameraUp: [number, number, number];
|
|
33
|
+
longitude: number;
|
|
34
|
+
latitude: number;
|
|
35
|
+
bearing: number;
|
|
27
36
|
};
|