bruce-cesium 0.4.0 → 0.4.2
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-cesium.es5.js +46 -58
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +45 -57
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +30 -30
- package/dist/lib/rendering/entity-render-engine.js +848 -848
- package/dist/lib/rendering/menu-item-manager.js +252 -252
- package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
- package/dist/lib/rendering/render-addons/render-addon.js +2 -2
- package/dist/lib/rendering/render-helper.js +296 -296
- package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
- package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +146 -146
- package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +143 -143
- package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +234 -234
- package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +139 -139
- package/dist/lib/rendering/render-managers/render-manager.js +50 -50
- package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +236 -236
- package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
- package/dist/lib/rendering/tile-render-engine.js +815 -831
- package/dist/lib/rendering/tile-render-engine.js.map +1 -1
- package/dist/lib/rendering/tileset-render-engine.js +499 -499
- package/dist/lib/rendering/view-render-engine.js +305 -309
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +402 -394
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/drawing-utils.js +42 -42
- package/dist/lib/utils/entity-utils.js +99 -99
- package/dist/lib/utils/measure-utils.js +34 -34
- package/dist/lib/utils/view-utils.js +72 -72
- package/dist/lib/viewer/cesium-view-monitor.js +231 -231
- package/dist/lib/viewer/viewer-utils.js +85 -85
- package/dist/types/rendering/tile-render-engine.d.ts +2 -4
- package/dist/types/rendering/visuals-register.d.ts +2 -0
- package/package.json +76 -76
|
@@ -1,253 +1,253 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.MenuItemManager = void 0;
|
|
51
|
-
var bruce_models_1 = require("bruce-models");
|
|
52
|
-
var entities_render_manager_1 = require("./render-managers/entities/entities-render-manager");
|
|
53
|
-
var entities_loaded_render_manager_1 = require("./render-managers/entities/entities-loaded-render-manager");
|
|
54
|
-
var visuals_register_1 = require("./visuals-register");
|
|
55
|
-
var entities_ids_render_manager_1 = require("./render-managers/entities/entities-ids-render-manager");
|
|
56
|
-
var entity_render_manager_1 = require("./render-managers/entities/entity-render-manager");
|
|
57
|
-
var tileset_cad_render_manager_1 = require("./render-managers/tilesets/tileset-cad-render-manager");
|
|
58
|
-
var shared_getters_1 = require("./render-managers/common/shared-getters");
|
|
59
|
-
var cesium_view_monitor_1 = require("../viewer/cesium-view-monitor");
|
|
60
|
-
var tileset_osm_render_manager_1 = require("./render-managers/tilesets/tileset-osm-render-manager");
|
|
61
|
-
/**
|
|
62
|
-
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
63
|
-
*/
|
|
64
|
-
var MenuItemManager;
|
|
65
|
-
(function (MenuItemManager) {
|
|
66
|
-
var Manager = /** @class */ (function () {
|
|
67
|
-
function Manager(viewer, visualsRegister) {
|
|
68
|
-
this.items = [];
|
|
69
|
-
this.onUpdate = null;
|
|
70
|
-
this.viewer = viewer;
|
|
71
|
-
if (!visualsRegister) {
|
|
72
|
-
visualsRegister = new visuals_register_1.VisualsRegister.Register(viewer);
|
|
73
|
-
}
|
|
74
|
-
this.visualsRegister = visualsRegister;
|
|
75
|
-
this.sharedGetters = new shared_getters_1.SharedGetters.Cache();
|
|
76
|
-
this.sharedMonitor = new cesium_view_monitor_1.CesiumViewMonitor(this.viewer);
|
|
77
|
-
}
|
|
78
|
-
Object.defineProperty(Manager.prototype, "Viewer", {
|
|
79
|
-
get: function () {
|
|
80
|
-
return this.viewer;
|
|
81
|
-
},
|
|
82
|
-
enumerable: false,
|
|
83
|
-
configurable: true
|
|
84
|
-
});
|
|
85
|
-
Object.defineProperty(Manager.prototype, "VisualsRegister", {
|
|
86
|
-
get: function () {
|
|
87
|
-
return this.visualsRegister;
|
|
88
|
-
},
|
|
89
|
-
enumerable: false,
|
|
90
|
-
configurable: true
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
93
|
-
get: function () {
|
|
94
|
-
if (!this.onUpdate) {
|
|
95
|
-
this.onUpdate = new bruce_models_1.BruceEvent();
|
|
96
|
-
}
|
|
97
|
-
return this.onUpdate;
|
|
98
|
-
},
|
|
99
|
-
enumerable: false,
|
|
100
|
-
configurable: true
|
|
101
|
-
});
|
|
102
|
-
/**
|
|
103
|
-
* Renders a given menu item and all ids children.
|
|
104
|
-
* Will return the enabled item id.
|
|
105
|
-
* @param params
|
|
106
|
-
* @param recursive
|
|
107
|
-
* @returns
|
|
108
|
-
*/
|
|
109
|
-
Manager.prototype.RenderItem = function (params, recursive) {
|
|
110
|
-
var _a, _b;
|
|
111
|
-
if (recursive === void 0) { recursive = true; }
|
|
112
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
-
var rItem, i, childId;
|
|
114
|
-
return __generator(this, function (_c) {
|
|
115
|
-
switch (_c.label) {
|
|
116
|
-
case 0:
|
|
117
|
-
rItem = this.items.find(function (x) { return x.id == params.item.id; });
|
|
118
|
-
if (!!rItem) return [3 /*break*/, 2];
|
|
119
|
-
rItem = {
|
|
120
|
-
id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruce_models_1.ObjectUtils.UId(),
|
|
121
|
-
childIds: [],
|
|
122
|
-
item: params.item,
|
|
123
|
-
renderManager: null,
|
|
124
|
-
type: params.item.Type
|
|
125
|
-
};
|
|
126
|
-
this.items.push(rItem);
|
|
127
|
-
switch (params.item.Type) {
|
|
128
|
-
case bruce_models_1.MenuItem.EType.Entities:
|
|
129
|
-
rItem.renderManager = new entities_render_manager_1.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
|
|
130
|
-
break;
|
|
131
|
-
case bruce_models_1.MenuItem.EType.EntitiesLoaded:
|
|
132
|
-
rItem.renderManager = new entities_loaded_render_manager_1.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
133
|
-
break;
|
|
134
|
-
case bruce_models_1.MenuItem.EType.EntitiesIds:
|
|
135
|
-
rItem.renderManager = new entities_ids_render_manager_1.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
136
|
-
break;
|
|
137
|
-
case bruce_models_1.MenuItem.EType.Entity:
|
|
138
|
-
rItem.renderManager = new entity_render_manager_1.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
139
|
-
break;
|
|
140
|
-
case bruce_models_1.MenuItem.EType.CadTileset:
|
|
141
|
-
rItem.renderManager = new tileset_cad_render_manager_1.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
142
|
-
break;
|
|
143
|
-
case bruce_models_1.MenuItem.EType.Osm:
|
|
144
|
-
rItem.renderManager = new tileset_osm_render_manager_1.TilesetOsmRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
145
|
-
break;
|
|
146
|
-
case bruce_models_1.MenuItem.EType.PointCloud:
|
|
147
|
-
// TODO;
|
|
148
|
-
break;
|
|
149
|
-
case bruce_models_1.MenuItem.EType.EntityTileset:
|
|
150
|
-
// TODO;
|
|
151
|
-
break;
|
|
152
|
-
case bruce_models_1.MenuItem.EType.Kml:
|
|
153
|
-
// TODO;
|
|
154
|
-
break;
|
|
155
|
-
// Any "none" type can be ignored. These are just containers for other items.
|
|
156
|
-
case bruce_models_1.MenuItem.EType.None:
|
|
157
|
-
break;
|
|
158
|
-
default:
|
|
159
|
-
console.error("Menu item type is not implemented.", params.item.Type);
|
|
160
|
-
}
|
|
161
|
-
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
162
|
-
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
163
|
-
case 1:
|
|
164
|
-
_c.sent();
|
|
165
|
-
_c.label = 2;
|
|
166
|
-
case 2:
|
|
167
|
-
if (!(params.item.Children && recursive)) return [3 /*break*/, 6];
|
|
168
|
-
i = 0;
|
|
169
|
-
_c.label = 3;
|
|
170
|
-
case 3:
|
|
171
|
-
if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
|
|
172
|
-
return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
|
|
173
|
-
case 4:
|
|
174
|
-
childId = _c.sent();
|
|
175
|
-
rItem.childIds.push(childId);
|
|
176
|
-
_c.label = 5;
|
|
177
|
-
case 5:
|
|
178
|
-
i++;
|
|
179
|
-
return [3 /*break*/, 3];
|
|
180
|
-
case 6:
|
|
181
|
-
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
182
|
-
return [2 /*return*/, rItem.id];
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* Disables a menu item by ids id.
|
|
189
|
-
* This will disable all children as well.
|
|
190
|
-
* @param id
|
|
191
|
-
* @param recursive
|
|
192
|
-
*/
|
|
193
|
-
Manager.prototype.RemoveItemById = function (id, recursive) {
|
|
194
|
-
var _a, _b;
|
|
195
|
-
if (recursive === void 0) { recursive = true; }
|
|
196
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
197
|
-
var item, _loop_1, this_1, i;
|
|
198
|
-
return __generator(this, function (_c) {
|
|
199
|
-
switch (_c.label) {
|
|
200
|
-
case 0:
|
|
201
|
-
item = this.items.find(function (x) { return x.id === id; });
|
|
202
|
-
if (!item) return [3 /*break*/, 5];
|
|
203
|
-
if (!recursive) return [3 /*break*/, 4];
|
|
204
|
-
_loop_1 = function (i) {
|
|
205
|
-
var child;
|
|
206
|
-
return __generator(this, function (_a) {
|
|
207
|
-
switch (_a.label) {
|
|
208
|
-
case 0:
|
|
209
|
-
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
210
|
-
if (!child) return [3 /*break*/, 2];
|
|
211
|
-
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
212
|
-
case 1:
|
|
213
|
-
_a.sent();
|
|
214
|
-
_a.label = 2;
|
|
215
|
-
case 2: return [2 /*return*/];
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
};
|
|
219
|
-
this_1 = this;
|
|
220
|
-
i = 0;
|
|
221
|
-
_c.label = 1;
|
|
222
|
-
case 1:
|
|
223
|
-
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
224
|
-
return [5 /*yield**/, _loop_1(i)];
|
|
225
|
-
case 2:
|
|
226
|
-
_c.sent();
|
|
227
|
-
_c.label = 3;
|
|
228
|
-
case 3:
|
|
229
|
-
i++;
|
|
230
|
-
return [3 /*break*/, 1];
|
|
231
|
-
case 4:
|
|
232
|
-
try {
|
|
233
|
-
(_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
234
|
-
}
|
|
235
|
-
catch (e) {
|
|
236
|
-
console.error(e);
|
|
237
|
-
}
|
|
238
|
-
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
239
|
-
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
|
|
240
|
-
_c.label = 5;
|
|
241
|
-
case 5: return [2 /*return*/];
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
};
|
|
246
|
-
Manager.prototype.GetEnabledItemIds = function () {
|
|
247
|
-
return this.items.map(function (x) { return x.id; });
|
|
248
|
-
};
|
|
249
|
-
return Manager;
|
|
250
|
-
}());
|
|
251
|
-
MenuItemManager.Manager = Manager;
|
|
252
|
-
})(MenuItemManager = exports.MenuItemManager || (exports.MenuItemManager = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.MenuItemManager = void 0;
|
|
51
|
+
var bruce_models_1 = require("bruce-models");
|
|
52
|
+
var entities_render_manager_1 = require("./render-managers/entities/entities-render-manager");
|
|
53
|
+
var entities_loaded_render_manager_1 = require("./render-managers/entities/entities-loaded-render-manager");
|
|
54
|
+
var visuals_register_1 = require("./visuals-register");
|
|
55
|
+
var entities_ids_render_manager_1 = require("./render-managers/entities/entities-ids-render-manager");
|
|
56
|
+
var entity_render_manager_1 = require("./render-managers/entities/entity-render-manager");
|
|
57
|
+
var tileset_cad_render_manager_1 = require("./render-managers/tilesets/tileset-cad-render-manager");
|
|
58
|
+
var shared_getters_1 = require("./render-managers/common/shared-getters");
|
|
59
|
+
var cesium_view_monitor_1 = require("../viewer/cesium-view-monitor");
|
|
60
|
+
var tileset_osm_render_manager_1 = require("./render-managers/tilesets/tileset-osm-render-manager");
|
|
61
|
+
/**
|
|
62
|
+
* Utility to keep track of enabled menu items within a Cesium viewer.
|
|
63
|
+
*/
|
|
64
|
+
var MenuItemManager;
|
|
65
|
+
(function (MenuItemManager) {
|
|
66
|
+
var Manager = /** @class */ (function () {
|
|
67
|
+
function Manager(viewer, visualsRegister) {
|
|
68
|
+
this.items = [];
|
|
69
|
+
this.onUpdate = null;
|
|
70
|
+
this.viewer = viewer;
|
|
71
|
+
if (!visualsRegister) {
|
|
72
|
+
visualsRegister = new visuals_register_1.VisualsRegister.Register(viewer);
|
|
73
|
+
}
|
|
74
|
+
this.visualsRegister = visualsRegister;
|
|
75
|
+
this.sharedGetters = new shared_getters_1.SharedGetters.Cache();
|
|
76
|
+
this.sharedMonitor = new cesium_view_monitor_1.CesiumViewMonitor(this.viewer);
|
|
77
|
+
}
|
|
78
|
+
Object.defineProperty(Manager.prototype, "Viewer", {
|
|
79
|
+
get: function () {
|
|
80
|
+
return this.viewer;
|
|
81
|
+
},
|
|
82
|
+
enumerable: false,
|
|
83
|
+
configurable: true
|
|
84
|
+
});
|
|
85
|
+
Object.defineProperty(Manager.prototype, "VisualsRegister", {
|
|
86
|
+
get: function () {
|
|
87
|
+
return this.visualsRegister;
|
|
88
|
+
},
|
|
89
|
+
enumerable: false,
|
|
90
|
+
configurable: true
|
|
91
|
+
});
|
|
92
|
+
Object.defineProperty(Manager.prototype, "OnUpdate", {
|
|
93
|
+
get: function () {
|
|
94
|
+
if (!this.onUpdate) {
|
|
95
|
+
this.onUpdate = new bruce_models_1.BruceEvent();
|
|
96
|
+
}
|
|
97
|
+
return this.onUpdate;
|
|
98
|
+
},
|
|
99
|
+
enumerable: false,
|
|
100
|
+
configurable: true
|
|
101
|
+
});
|
|
102
|
+
/**
|
|
103
|
+
* Renders a given menu item and all ids children.
|
|
104
|
+
* Will return the enabled item id.
|
|
105
|
+
* @param params
|
|
106
|
+
* @param recursive
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
Manager.prototype.RenderItem = function (params, recursive) {
|
|
110
|
+
var _a, _b;
|
|
111
|
+
if (recursive === void 0) { recursive = true; }
|
|
112
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
+
var rItem, i, childId;
|
|
114
|
+
return __generator(this, function (_c) {
|
|
115
|
+
switch (_c.label) {
|
|
116
|
+
case 0:
|
|
117
|
+
rItem = this.items.find(function (x) { return x.id == params.item.id; });
|
|
118
|
+
if (!!rItem) return [3 /*break*/, 2];
|
|
119
|
+
rItem = {
|
|
120
|
+
id: (_a = params.item.id) !== null && _a !== void 0 ? _a : bruce_models_1.ObjectUtils.UId(),
|
|
121
|
+
childIds: [],
|
|
122
|
+
item: params.item,
|
|
123
|
+
renderManager: null,
|
|
124
|
+
type: params.item.Type
|
|
125
|
+
};
|
|
126
|
+
this.items.push(rItem);
|
|
127
|
+
switch (params.item.Type) {
|
|
128
|
+
case bruce_models_1.MenuItem.EType.Entities:
|
|
129
|
+
rItem.renderManager = new entities_render_manager_1.EntitiesRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item, this.sharedGetters);
|
|
130
|
+
break;
|
|
131
|
+
case bruce_models_1.MenuItem.EType.EntitiesLoaded:
|
|
132
|
+
rItem.renderManager = new entities_loaded_render_manager_1.EntitiesLoadedRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
133
|
+
break;
|
|
134
|
+
case bruce_models_1.MenuItem.EType.EntitiesIds:
|
|
135
|
+
rItem.renderManager = new entities_ids_render_manager_1.EntitiesIdsRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
136
|
+
break;
|
|
137
|
+
case bruce_models_1.MenuItem.EType.Entity:
|
|
138
|
+
rItem.renderManager = new entity_render_manager_1.EntityRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
139
|
+
break;
|
|
140
|
+
case bruce_models_1.MenuItem.EType.CadTileset:
|
|
141
|
+
rItem.renderManager = new tileset_cad_render_manager_1.TilesetCadRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, params.item);
|
|
142
|
+
break;
|
|
143
|
+
case bruce_models_1.MenuItem.EType.Osm:
|
|
144
|
+
rItem.renderManager = new tileset_osm_render_manager_1.TilesetOsmRenderManager.Manager(this.viewer, this.visualsRegister, params.apiGetter, this.sharedMonitor, params.item);
|
|
145
|
+
break;
|
|
146
|
+
case bruce_models_1.MenuItem.EType.PointCloud:
|
|
147
|
+
// TODO;
|
|
148
|
+
break;
|
|
149
|
+
case bruce_models_1.MenuItem.EType.EntityTileset:
|
|
150
|
+
// TODO;
|
|
151
|
+
break;
|
|
152
|
+
case bruce_models_1.MenuItem.EType.Kml:
|
|
153
|
+
// TODO;
|
|
154
|
+
break;
|
|
155
|
+
// Any "none" type can be ignored. These are just containers for other items.
|
|
156
|
+
case bruce_models_1.MenuItem.EType.None:
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
159
|
+
console.error("Menu item type is not implemented.", params.item.Type);
|
|
160
|
+
}
|
|
161
|
+
if (!rItem.renderManager) return [3 /*break*/, 2];
|
|
162
|
+
return [4 /*yield*/, rItem.renderManager.Init()];
|
|
163
|
+
case 1:
|
|
164
|
+
_c.sent();
|
|
165
|
+
_c.label = 2;
|
|
166
|
+
case 2:
|
|
167
|
+
if (!(params.item.Children && recursive)) return [3 /*break*/, 6];
|
|
168
|
+
i = 0;
|
|
169
|
+
_c.label = 3;
|
|
170
|
+
case 3:
|
|
171
|
+
if (!(i < params.item.Children.length)) return [3 /*break*/, 6];
|
|
172
|
+
return [4 /*yield*/, this.RenderItem(__assign(__assign({}, params), { item: params.item.Children[i] }))];
|
|
173
|
+
case 4:
|
|
174
|
+
childId = _c.sent();
|
|
175
|
+
rItem.childIds.push(childId);
|
|
176
|
+
_c.label = 5;
|
|
177
|
+
case 5:
|
|
178
|
+
i++;
|
|
179
|
+
return [3 /*break*/, 3];
|
|
180
|
+
case 6:
|
|
181
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: true, itemId: rItem.id });
|
|
182
|
+
return [2 /*return*/, rItem.id];
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Disables a menu item by ids id.
|
|
189
|
+
* This will disable all children as well.
|
|
190
|
+
* @param id
|
|
191
|
+
* @param recursive
|
|
192
|
+
*/
|
|
193
|
+
Manager.prototype.RemoveItemById = function (id, recursive) {
|
|
194
|
+
var _a, _b;
|
|
195
|
+
if (recursive === void 0) { recursive = true; }
|
|
196
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
197
|
+
var item, _loop_1, this_1, i;
|
|
198
|
+
return __generator(this, function (_c) {
|
|
199
|
+
switch (_c.label) {
|
|
200
|
+
case 0:
|
|
201
|
+
item = this.items.find(function (x) { return x.id === id; });
|
|
202
|
+
if (!item) return [3 /*break*/, 5];
|
|
203
|
+
if (!recursive) return [3 /*break*/, 4];
|
|
204
|
+
_loop_1 = function (i) {
|
|
205
|
+
var child;
|
|
206
|
+
return __generator(this, function (_a) {
|
|
207
|
+
switch (_a.label) {
|
|
208
|
+
case 0:
|
|
209
|
+
child = this_1.items.find(function (x) { return x.id === item.childIds[i]; });
|
|
210
|
+
if (!child) return [3 /*break*/, 2];
|
|
211
|
+
return [4 /*yield*/, this_1.RemoveItemById(child.id)];
|
|
212
|
+
case 1:
|
|
213
|
+
_a.sent();
|
|
214
|
+
_a.label = 2;
|
|
215
|
+
case 2: return [2 /*return*/];
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
this_1 = this;
|
|
220
|
+
i = 0;
|
|
221
|
+
_c.label = 1;
|
|
222
|
+
case 1:
|
|
223
|
+
if (!(i < item.childIds.length)) return [3 /*break*/, 4];
|
|
224
|
+
return [5 /*yield**/, _loop_1(i)];
|
|
225
|
+
case 2:
|
|
226
|
+
_c.sent();
|
|
227
|
+
_c.label = 3;
|
|
228
|
+
case 3:
|
|
229
|
+
i++;
|
|
230
|
+
return [3 /*break*/, 1];
|
|
231
|
+
case 4:
|
|
232
|
+
try {
|
|
233
|
+
(_a = item.renderManager) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
234
|
+
}
|
|
235
|
+
catch (e) {
|
|
236
|
+
console.error(e);
|
|
237
|
+
}
|
|
238
|
+
this.items = this.items.filter(function (x) { return x.id !== id; });
|
|
239
|
+
(_b = this.onUpdate) === null || _b === void 0 ? void 0 : _b.Trigger({ isEnabling: false, itemId: item.id });
|
|
240
|
+
_c.label = 5;
|
|
241
|
+
case 5: return [2 /*return*/];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
};
|
|
246
|
+
Manager.prototype.GetEnabledItemIds = function () {
|
|
247
|
+
return this.items.map(function (x) { return x.id; });
|
|
248
|
+
};
|
|
249
|
+
return Manager;
|
|
250
|
+
}());
|
|
251
|
+
MenuItemManager.Manager = Manager;
|
|
252
|
+
})(MenuItemManager = exports.MenuItemManager || (exports.MenuItemManager = {}));
|
|
253
253
|
//# sourceMappingURL=menu-item-manager.js.map
|