bruce-models 1.0.3 → 1.0.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/dist/bruce-models.es5.js +114 -92
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +119 -92
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/entity/getters/entity-filter-getter.js +28 -7
- package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-globe.js +86 -85
- package/dist/lib/entity/getters/entity-globe.js.map +1 -1
- package/dist/types/entity/getters/entity-filter-getter.d.ts +9 -0
- package/dist/types/entity/getters/entity-globe.d.ts +7 -8
- package/package.json +1 -1
|
@@ -51,6 +51,7 @@ var EntityFilterGetter;
|
|
|
51
51
|
this.onUpdate = null;
|
|
52
52
|
this.LastStateUpdates = {};
|
|
53
53
|
this.onStateUpdate = null;
|
|
54
|
+
this.onScanUpdate = null;
|
|
54
55
|
this.viewPortChangeRemoval = null;
|
|
55
56
|
this.cells = null;
|
|
56
57
|
this.registeredItems = {};
|
|
@@ -79,6 +80,20 @@ var EntityFilterGetter;
|
|
|
79
80
|
}
|
|
80
81
|
return this.onStateUpdate;
|
|
81
82
|
}
|
|
83
|
+
get OnScanUpdate() {
|
|
84
|
+
if (!this.onScanUpdate) {
|
|
85
|
+
this.onScanUpdate = new bruce_event_1.BruceEvent();
|
|
86
|
+
}
|
|
87
|
+
return this.onScanUpdate;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Returns id that represents the combined menu item parameters.
|
|
91
|
+
* If integrity changes while a request is running, the request will not emit a response.
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
getIntegrityId() {
|
|
95
|
+
return this.tagIds == null ? "" : this.tagIds.join();
|
|
96
|
+
}
|
|
82
97
|
viewAreaSub() {
|
|
83
98
|
this.viewAreaDispose();
|
|
84
99
|
this.viewPortChangeRemoval = this.viewPort.Updated().Subscribe(() => {
|
|
@@ -165,8 +180,9 @@ var EntityFilterGetter;
|
|
|
165
180
|
// Increase id so that existing loops stop.
|
|
166
181
|
this.getterLoopId += 1;
|
|
167
182
|
const loopId = this.getterLoopId;
|
|
183
|
+
const loopIntegrity = this.getIntegrityId();
|
|
168
184
|
new Promise(() => __awaiter(this, void 0, void 0, function* () {
|
|
169
|
-
var _a, _b, _c, _d, _e;
|
|
185
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
170
186
|
// Minor delay to stop 50 menu items enabling doing their first request all together.
|
|
171
187
|
// This gives it time to recognize only 1 request is needed.
|
|
172
188
|
// Would be better to not use this delay but we're on a clock.
|
|
@@ -189,6 +205,7 @@ var EntityFilterGetter;
|
|
|
189
205
|
return;
|
|
190
206
|
}
|
|
191
207
|
const cells = this.cells.GetCellsForView(this.viewRect);
|
|
208
|
+
(_a = this.onScanUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(cells);
|
|
192
209
|
let curCellIndex = cells.length > 0 ? 0 : null;
|
|
193
210
|
let postedScanning = false;
|
|
194
211
|
let postedLoading = false;
|
|
@@ -209,6 +226,7 @@ var EntityFilterGetter;
|
|
|
209
226
|
if (!cells[curCellIndex]) {
|
|
210
227
|
curCellIndex = null;
|
|
211
228
|
}
|
|
229
|
+
(_b = this.onScanUpdate) === null || _b === void 0 ? void 0 : _b.Trigger(cells);
|
|
212
230
|
continue;
|
|
213
231
|
}
|
|
214
232
|
try {
|
|
@@ -221,24 +239,27 @@ var EntityFilterGetter;
|
|
|
221
239
|
sortOrder: api_1.Api.ESortOrder.Asc,
|
|
222
240
|
entityTypeConditions: this.attrFilter
|
|
223
241
|
});
|
|
242
|
+
const integrity = this.getIntegrityId();
|
|
243
|
+
if (loopIntegrity == integrity && page) {
|
|
244
|
+
(_c = this.onUpdate) === null || _c === void 0 ? void 0 : _c.Trigger(page);
|
|
245
|
+
}
|
|
224
246
|
if (this.getterLoopId != loopId) {
|
|
225
247
|
break;
|
|
226
248
|
}
|
|
227
|
-
if (page) {
|
|
228
|
-
(_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(page);
|
|
229
|
-
}
|
|
230
249
|
if (!postedLoading) {
|
|
231
250
|
this.postStatus({ msg: EStatus.Loading, revoking: false });
|
|
232
251
|
postedLoading = true;
|
|
233
252
|
}
|
|
253
|
+
// Only mark as fetched when ALL pages are done.
|
|
234
254
|
if (page.length <= 0) {
|
|
235
|
-
curCell.Fetched = true;
|
|
255
|
+
curCell.Fetched = true;
|
|
256
|
+
(_d = this.onScanUpdate) === null || _d === void 0 ? void 0 : _d.Trigger(cells);
|
|
236
257
|
continue;
|
|
237
258
|
}
|
|
238
259
|
// Checking to make sure it's not just the same batch over and over again.
|
|
239
260
|
if (page.length > 0) {
|
|
240
|
-
const first = (
|
|
241
|
-
const last = (
|
|
261
|
+
const first = (_f = (_e = page[0]) === null || _e === void 0 ? void 0 : _e.Bruce) === null || _f === void 0 ? void 0 : _f.ID;
|
|
262
|
+
const last = (_h = (_g = page[page.length - 1]) === null || _g === void 0 ? void 0 : _g.Bruce) === null || _h === void 0 ? void 0 : _h.ID;
|
|
242
263
|
if (prevFirstId == first && prevLastId == last) {
|
|
243
264
|
break;
|
|
244
265
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-filter-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/entity-filter-getter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAoC;AAGpC,0DAAsD;AAGtD,sCAAmC;AACnC,iDAA6C;AAG7C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,MAAM,iBAAiB;IAKnB,YAAY,MAAgB,EAAE,SAAiB,EAAE,SAAiB;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED,SAAe,KAAK,CAAC,YAAoB;;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvB,UAAU,CAAC,GAAG,EAAE;gBACZ,GAAG,EAAE,CAAC;YACV,CAAC,EAAE,YAAY,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAED;;;;GAIG;AACH,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"entity-filter-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/entity-filter-getter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EntityGlobe = void 0;
|
|
4
|
-
class Cell {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.Fetched = false;
|
|
7
|
-
this.IsFetched = null;
|
|
8
|
-
this.FetchPageIndex = 0;
|
|
9
|
-
this.Boundaries = null;
|
|
10
|
-
}
|
|
11
|
-
GetBounds() {
|
|
12
|
-
// Entity data works in -180 to 180 range.
|
|
13
|
-
function prepareRangeForBounds(range) {
|
|
14
|
-
if (range > 180) {
|
|
15
|
-
return range - 360;
|
|
16
|
-
}
|
|
17
|
-
return range;
|
|
18
|
-
}
|
|
19
|
-
// Add minor decimal as API crashes when giving it whole numbers.
|
|
20
|
-
const maxLon = prepareRangeForBounds(this.Boundaries.maxLongitude) + 0.00001;
|
|
21
|
-
const minLon = prepareRangeForBounds(this.Boundaries.minLongitude) - 0.00001;
|
|
22
|
-
const maxLat = prepareRangeForBounds(this.Boundaries.maxLatitude) + 0.00001;
|
|
23
|
-
const minLat = prepareRangeForBounds(this.Boundaries.minLatitude) - 0.00001;
|
|
24
|
-
return {
|
|
25
|
-
east: maxLon,
|
|
26
|
-
north: maxLat,
|
|
27
|
-
south: minLat,
|
|
28
|
-
west: minLon
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function floorValueToCellSize(size, value) {
|
|
33
|
-
return Math.floor(value / size) * size;
|
|
34
|
-
}
|
|
35
|
-
function getCellSizeFromHeight(height) {
|
|
36
|
-
if (height < 1000) {
|
|
37
|
-
return 0.01;
|
|
38
|
-
}
|
|
39
|
-
if (height < 5000) {
|
|
40
|
-
return 0.025;
|
|
41
|
-
}
|
|
42
|
-
else if (height < 10000) {
|
|
43
|
-
return 0.05;
|
|
44
|
-
}
|
|
45
|
-
else if (height < 30000) {
|
|
46
|
-
return 0.1;
|
|
47
|
-
}
|
|
48
|
-
else if (height < 70000) {
|
|
49
|
-
return 0.2;
|
|
50
|
-
}
|
|
51
|
-
else if (height < 100000) {
|
|
52
|
-
return 0.3;
|
|
53
|
-
}
|
|
54
|
-
else if (height < 150000) {
|
|
55
|
-
return 0.4;
|
|
56
|
-
}
|
|
57
|
-
else if (height < 200000) {
|
|
58
|
-
return 0.5;
|
|
59
|
-
}
|
|
60
|
-
else if (height < 300000) {
|
|
61
|
-
return 0.6;
|
|
62
|
-
}
|
|
63
|
-
else if (height < 500000) {
|
|
64
|
-
return 1;
|
|
65
|
-
}
|
|
66
|
-
return 1.5;
|
|
67
|
-
}
|
|
68
|
-
function isCellFetched(cell) {
|
|
69
|
-
if (cell.Fetched) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
function getOrCreateCell(cells, cellSize, lon, maxLon, lat, maxLat) {
|
|
75
|
-
const id = cellSize + "_" + lon + "_" + maxLon + "_" + lat + "_" + maxLat;
|
|
76
|
-
let cell = cells[id];
|
|
77
|
-
if (!cell) {
|
|
78
|
-
cell = cells[id] = new Cell();
|
|
79
|
-
cell.Boundaries = {
|
|
80
|
-
minLatitude: lat,
|
|
81
|
-
maxLatitude: maxLat,
|
|
82
|
-
minLongitude: lon,
|
|
83
|
-
maxLongitude: maxLon
|
|
84
|
-
};
|
|
85
|
-
cell.IsFetched = () => isCellFetched(cell);
|
|
86
|
-
}
|
|
87
|
-
return [id, cell];
|
|
88
|
-
}
|
|
89
4
|
/**
|
|
90
5
|
* This is a helper for making entity requests based on a grid area.
|
|
91
6
|
* It will return grid cells based on given view-area then will remember when stuff-
|
|
@@ -93,6 +8,35 @@ function getOrCreateCell(cells, cellSize, lon, maxLon, lat, maxLat) {
|
|
|
93
8
|
*/
|
|
94
9
|
var EntityGlobe;
|
|
95
10
|
(function (EntityGlobe) {
|
|
11
|
+
class Cell {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.Fetched = false;
|
|
14
|
+
this.IsFetched = null;
|
|
15
|
+
this.FetchPageIndex = 0;
|
|
16
|
+
this.Boundaries = null;
|
|
17
|
+
}
|
|
18
|
+
GetBounds() {
|
|
19
|
+
// Entity data works in -180 to 180 range.
|
|
20
|
+
function prepareRangeForBounds(range) {
|
|
21
|
+
if (range > 180) {
|
|
22
|
+
return range - 360;
|
|
23
|
+
}
|
|
24
|
+
return range;
|
|
25
|
+
}
|
|
26
|
+
// Add minor decimal as API crashes when giving it whole numbers.
|
|
27
|
+
const maxLon = prepareRangeForBounds(this.Boundaries.maxLongitude) + 0.00001;
|
|
28
|
+
const minLon = prepareRangeForBounds(this.Boundaries.minLongitude) - 0.00001;
|
|
29
|
+
const maxLat = prepareRangeForBounds(this.Boundaries.maxLatitude) + 0.00001;
|
|
30
|
+
const minLat = prepareRangeForBounds(this.Boundaries.minLatitude) - 0.00001;
|
|
31
|
+
return {
|
|
32
|
+
east: maxLon,
|
|
33
|
+
north: maxLat,
|
|
34
|
+
south: minLat,
|
|
35
|
+
west: minLon
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
EntityGlobe.Cell = Cell;
|
|
96
40
|
class Grid {
|
|
97
41
|
constructor() {
|
|
98
42
|
this.cells = {};
|
|
@@ -205,4 +149,61 @@ function area(rect) {
|
|
|
205
149
|
let { west: w, south: s, north: n, east: e } = rect;
|
|
206
150
|
return Math.abs((e - w) * (n - s));
|
|
207
151
|
}
|
|
152
|
+
function floorValueToCellSize(size, value) {
|
|
153
|
+
return Math.floor(value / size) * size;
|
|
154
|
+
}
|
|
155
|
+
function getCellSizeFromHeight(height) {
|
|
156
|
+
if (height < 1000) {
|
|
157
|
+
return 0.01;
|
|
158
|
+
}
|
|
159
|
+
if (height < 5000) {
|
|
160
|
+
return 0.025;
|
|
161
|
+
}
|
|
162
|
+
else if (height < 10000) {
|
|
163
|
+
return 0.05;
|
|
164
|
+
}
|
|
165
|
+
else if (height < 30000) {
|
|
166
|
+
return 0.1;
|
|
167
|
+
}
|
|
168
|
+
else if (height < 70000) {
|
|
169
|
+
return 0.2;
|
|
170
|
+
}
|
|
171
|
+
else if (height < 100000) {
|
|
172
|
+
return 0.3;
|
|
173
|
+
}
|
|
174
|
+
else if (height < 150000) {
|
|
175
|
+
return 0.4;
|
|
176
|
+
}
|
|
177
|
+
else if (height < 200000) {
|
|
178
|
+
return 0.5;
|
|
179
|
+
}
|
|
180
|
+
else if (height < 300000) {
|
|
181
|
+
return 0.6;
|
|
182
|
+
}
|
|
183
|
+
else if (height < 500000) {
|
|
184
|
+
return 1;
|
|
185
|
+
}
|
|
186
|
+
return 1.5;
|
|
187
|
+
}
|
|
188
|
+
function isCellFetched(cell) {
|
|
189
|
+
if (cell.Fetched) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
function getOrCreateCell(cells, cellSize, lon, maxLon, lat, maxLat) {
|
|
195
|
+
const id = cellSize + "_" + lon + "_" + maxLon + "_" + lat + "_" + maxLat;
|
|
196
|
+
let cell = cells[id];
|
|
197
|
+
if (!cell) {
|
|
198
|
+
cell = cells[id] = new EntityGlobe.Cell();
|
|
199
|
+
cell.Boundaries = {
|
|
200
|
+
minLatitude: lat,
|
|
201
|
+
maxLatitude: maxLat,
|
|
202
|
+
minLongitude: lon,
|
|
203
|
+
maxLongitude: maxLon
|
|
204
|
+
};
|
|
205
|
+
cell.IsFetched = () => isCellFetched(cell);
|
|
206
|
+
}
|
|
207
|
+
return [id, cell];
|
|
208
|
+
}
|
|
208
209
|
//# sourceMappingURL=entity-globe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-globe.js","sourceRoot":"","sources":["../../../../src/entity/getters/entity-globe.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"entity-globe.js","sourceRoot":"","sources":["../../../../src/entity/getters/entity-globe.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BruceApi } from "../../api/bruce-api";
|
|
|
2
2
|
import { BruceEvent } from "../../common/bruce-event";
|
|
3
3
|
import { IDictionary } from "../../common/dictionary";
|
|
4
4
|
import { Entity } from "../entity";
|
|
5
|
+
import { EntityGlobe } from "./entity-globe";
|
|
5
6
|
import { ViewMonitor } from "./view-monitor";
|
|
6
7
|
/**
|
|
7
8
|
* This is a batched entity getter.
|
|
@@ -23,6 +24,8 @@ export declare namespace EntityFilterGetter {
|
|
|
23
24
|
LastStateUpdates: IDictionary<IStatusUpdate>;
|
|
24
25
|
private onStateUpdate;
|
|
25
26
|
get OnStateUpdate(): BruceEvent<IStatusUpdate>;
|
|
27
|
+
private onScanUpdate;
|
|
28
|
+
get OnScanUpdate(): BruceEvent<EntityGlobe.Cell[]>;
|
|
26
29
|
private api;
|
|
27
30
|
private viewPort;
|
|
28
31
|
private viewPortChangeRemoval;
|
|
@@ -38,6 +41,12 @@ export declare namespace EntityFilterGetter {
|
|
|
38
41
|
private viewRect;
|
|
39
42
|
private viewCenter;
|
|
40
43
|
constructor(api: BruceApi.Api, viewPort: ViewMonitor.IMonitor, typeId: string, batchSize: number, attrFilter: IDictionary<any>);
|
|
44
|
+
/**
|
|
45
|
+
* Returns id that represents the combined menu item parameters.
|
|
46
|
+
* If integrity changes while a request is running, the request will not emit a response.
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
private getIntegrityId;
|
|
41
50
|
private viewAreaSub;
|
|
42
51
|
private viewAreaDispose;
|
|
43
52
|
GetMenuItems(): string[];
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Bounds } from "../../bruce-models";
|
|
2
|
-
declare class Cell {
|
|
3
|
-
Fetched: boolean;
|
|
4
|
-
IsFetched: () => boolean;
|
|
5
|
-
FetchPageIndex: number;
|
|
6
|
-
Boundaries: Bounds.IBounds;
|
|
7
|
-
GetBounds(): Bounds.IReqBounds;
|
|
8
|
-
}
|
|
9
2
|
/**
|
|
10
3
|
* This is a helper for making entity requests based on a grid area.
|
|
11
4
|
* It will return grid cells based on given view-area then will remember when stuff-
|
|
12
5
|
* was fully-fetched for those cells to avoid making duplicate requests.
|
|
13
6
|
*/
|
|
14
7
|
export declare namespace EntityGlobe {
|
|
8
|
+
class Cell {
|
|
9
|
+
Fetched: boolean;
|
|
10
|
+
IsFetched: () => boolean;
|
|
11
|
+
FetchPageIndex: number;
|
|
12
|
+
Boundaries: Bounds.IBounds;
|
|
13
|
+
GetBounds(): Bounds.IReqBounds;
|
|
14
|
+
}
|
|
15
15
|
class Grid {
|
|
16
16
|
private cells;
|
|
17
17
|
private patches;
|
|
@@ -19,4 +19,3 @@ export declare namespace EntityGlobe {
|
|
|
19
19
|
private intersections;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
export {};
|