bruce-cesium 0.4.1 → 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.
Files changed (31) hide show
  1. package/dist/bruce-cesium.es5.js +9 -1
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +8 -0
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +30 -30
  6. package/dist/lib/rendering/entity-render-engine.js +848 -848
  7. package/dist/lib/rendering/menu-item-manager.js +252 -252
  8. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  9. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  10. package/dist/lib/rendering/render-helper.js +296 -296
  11. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  12. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +146 -146
  13. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +143 -143
  14. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +234 -234
  15. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +139 -139
  16. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  17. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +236 -236
  18. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  19. package/dist/lib/rendering/tile-render-engine.js +815 -815
  20. package/dist/lib/rendering/tileset-render-engine.js +499 -499
  21. package/dist/lib/rendering/view-render-engine.js +305 -305
  22. package/dist/lib/rendering/visuals-register.js +402 -394
  23. package/dist/lib/rendering/visuals-register.js.map +1 -1
  24. package/dist/lib/utils/drawing-utils.js +42 -42
  25. package/dist/lib/utils/entity-utils.js +99 -99
  26. package/dist/lib/utils/measure-utils.js +34 -34
  27. package/dist/lib/utils/view-utils.js +72 -72
  28. package/dist/lib/viewer/cesium-view-monitor.js +231 -231
  29. package/dist/lib/viewer/viewer-utils.js +85 -85
  30. package/dist/types/rendering/visuals-register.d.ts +2 -0
  31. package/package.json +76 -76
@@ -1,235 +1,235 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.EntitiesRenderManager = void 0;
40
- var bruce_models_1 = require("bruce-models");
41
- var entity_render_engine_1 = require("../../entity-render-engine");
42
- var render_manager_1 = require("../render-manager");
43
- /**
44
- * Manager for rendering Bruce entities.
45
- * This will request entities based on setup menu item filter.
46
- */
47
- var EntitiesRenderManager;
48
- (function (EntitiesRenderManager) {
49
- var Manager = /** @class */ (function () {
50
- function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
51
- this.getter = null;
52
- this.getterSub = null;
53
- this.disposed = false;
54
- this.renderedEntities = {};
55
- this.entityCheckQueue = null;
56
- this.entityCheckRemoval = null;
57
- this.isRunningCheck = false;
58
- this.viewMonitorRemoval = null;
59
- this.viewer = viewer;
60
- this.sharedGetters = sharedGetters;
61
- this.monitor = monitor;
62
- this.apiGetter = apiGetter;
63
- this.item = item;
64
- this.visualsManager = visualsManager;
65
- }
66
- Object.defineProperty(Manager.prototype, "Disposed", {
67
- get: function () {
68
- return this.disposed;
69
- },
70
- enumerable: false,
71
- configurable: true
72
- });
73
- Manager.prototype.Init = function () {
74
- var _a;
75
- return __awaiter(this, void 0, void 0, function () {
76
- var api, minMax;
77
- var _this = this;
78
- return __generator(this, function (_b) {
79
- if (this.disposed) {
80
- throw (new Error("This item is disposed."));
81
- }
82
- api = this.apiGetter.getApi();
83
- this.getter = this.sharedGetters.GetOrCreateFilterGetter({
84
- api: api,
85
- attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
86
- batchSize: 500,
87
- typeId: this.item.BruceEntity["EntityType.ID"],
88
- monitor: this.monitor
89
- });
90
- minMax = render_manager_1.RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
91
- this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
92
- this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
93
- _this.onGetterUpdate(entities);
94
- });
95
- this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
96
- _this.entityCheckQueue.Call();
97
- });
98
- this.entityCheckQueue = new bruce_models_1.DelayQueue(function () {
99
- _this.doEntityCheck();
100
- }, 3000);
101
- return [2 /*return*/];
102
- });
103
- });
104
- };
105
- Manager.prototype.Dispose = function () {
106
- var _a, _b, _c;
107
- if (this.disposed) {
108
- return;
109
- }
110
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
111
- this.getterSub = null;
112
- if (this.getter) {
113
- this.getter.ExcludeMenuItem(this.item.id);
114
- }
115
- this.disposed = true;
116
- this.visualsManager.RemoveByMenuItemId(this.item.id);
117
- (_b = this.entityCheckRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
118
- (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
119
- };
120
- Manager.prototype.doEntityCheck = function () {
121
- return __awaiter(this, void 0, void 0, function () {
122
- var api, ids_1, CHECK_BATCH_SIZE_1, checkBatch, e_1;
123
- var _this = this;
124
- return __generator(this, function (_a) {
125
- switch (_a.label) {
126
- case 0:
127
- if (this.isRunningCheck) {
128
- this.entityCheckQueue.Call();
129
- return [2 /*return*/];
130
- }
131
- this.isRunningCheck = true;
132
- api = this.apiGetter.getApi();
133
- _a.label = 1;
134
- case 1:
135
- _a.trys.push([1, 5, , 6]);
136
- ids_1 = Object.keys(this.renderedEntities);
137
- if (this.disposed) {
138
- return [2 /*return*/];
139
- }
140
- if (!(ids_1.length > 0)) return [3 /*break*/, 4];
141
- CHECK_BATCH_SIZE_1 = 150;
142
- checkBatch = function () { return __awaiter(_this, void 0, void 0, function () {
143
- var entityIds, entities;
144
- return __generator(this, function (_a) {
145
- switch (_a.label) {
146
- case 0:
147
- entityIds = ids_1.splice(0, CHECK_BATCH_SIZE_1);
148
- return [4 /*yield*/, bruce_models_1.Entity.GetListByIds(api, entityIds)];
149
- case 1:
150
- entities = _a.sent();
151
- if (this.disposed) {
152
- return [2 /*return*/];
153
- }
154
- this.distributeGenerateBatches(entities);
155
- return [2 /*return*/];
156
- }
157
- });
158
- }); };
159
- _a.label = 2;
160
- case 2:
161
- if (!(ids_1.length > 0)) return [3 /*break*/, 4];
162
- return [4 /*yield*/, checkBatch()];
163
- case 3:
164
- _a.sent();
165
- return [3 /*break*/, 2];
166
- case 4: return [3 /*break*/, 6];
167
- case 5:
168
- e_1 = _a.sent();
169
- console.error(e_1);
170
- return [3 /*break*/, 6];
171
- case 6:
172
- this.isRunningCheck = false;
173
- return [2 /*return*/];
174
- }
175
- });
176
- });
177
- };
178
- Manager.prototype.distributeGenerateBatches = function (entities) {
179
- var BATCH_SIZE = 50;
180
- while (entities.length > 0) {
181
- var batch = entities.splice(0, BATCH_SIZE);
182
- this.onGetterUpdate(batch);
183
- }
184
- };
185
- Manager.prototype.onGetterUpdate = function (entities) {
186
- var _a;
187
- return __awaiter(this, void 0, void 0, function () {
188
- var cEntities, i, entity, id, cEntity, visual;
189
- return __generator(this, function (_b) {
190
- switch (_b.label) {
191
- case 0:
192
- if (this.disposed) {
193
- return [2 /*return*/];
194
- }
195
- return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
196
- viewer: this.viewer,
197
- apiGetter: this.apiGetter,
198
- entities: entities,
199
- menuItemId: this.item.id,
200
- visualRegister: this.visualsManager,
201
- zoomControl: this.item.CameraZoomSettings
202
- })];
203
- case 1:
204
- cEntities = _b.sent();
205
- for (i = 0; i < entities.length; i++) {
206
- entity = entities[i];
207
- id = entity.Bruce.ID;
208
- cEntity = cEntities[id];
209
- this.renderedEntities[id] = !!cEntity;
210
- if (cEntity) {
211
- visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
212
- if (!visual || visual != cEntity) {
213
- this.visualsManager.Add({
214
- entityId: id,
215
- menuItemId: this.item.id,
216
- visual: cEntity,
217
- priority: 0,
218
- entityTypeId: entity.Bruce["EntityType.ID"]
219
- });
220
- }
221
- }
222
- else {
223
- this.visualsManager.Remove(id, this.item.id);
224
- }
225
- }
226
- return [2 /*return*/];
227
- }
228
- });
229
- });
230
- };
231
- return Manager;
232
- }());
233
- EntitiesRenderManager.Manager = Manager;
234
- })(EntitiesRenderManager = exports.EntitiesRenderManager || (exports.EntitiesRenderManager = {}));
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.EntitiesRenderManager = void 0;
40
+ var bruce_models_1 = require("bruce-models");
41
+ var entity_render_engine_1 = require("../../entity-render-engine");
42
+ var render_manager_1 = require("../render-manager");
43
+ /**
44
+ * Manager for rendering Bruce entities.
45
+ * This will request entities based on setup menu item filter.
46
+ */
47
+ var EntitiesRenderManager;
48
+ (function (EntitiesRenderManager) {
49
+ var Manager = /** @class */ (function () {
50
+ function Manager(viewer, visualsManager, apiGetter, monitor, item, sharedGetters) {
51
+ this.getter = null;
52
+ this.getterSub = null;
53
+ this.disposed = false;
54
+ this.renderedEntities = {};
55
+ this.entityCheckQueue = null;
56
+ this.entityCheckRemoval = null;
57
+ this.isRunningCheck = false;
58
+ this.viewMonitorRemoval = null;
59
+ this.viewer = viewer;
60
+ this.sharedGetters = sharedGetters;
61
+ this.monitor = monitor;
62
+ this.apiGetter = apiGetter;
63
+ this.item = item;
64
+ this.visualsManager = visualsManager;
65
+ }
66
+ Object.defineProperty(Manager.prototype, "Disposed", {
67
+ get: function () {
68
+ return this.disposed;
69
+ },
70
+ enumerable: false,
71
+ configurable: true
72
+ });
73
+ Manager.prototype.Init = function () {
74
+ var _a;
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ var api, minMax;
77
+ var _this = this;
78
+ return __generator(this, function (_b) {
79
+ if (this.disposed) {
80
+ throw (new Error("This item is disposed."));
81
+ }
82
+ api = this.apiGetter.getApi();
83
+ this.getter = this.sharedGetters.GetOrCreateFilterGetter({
84
+ api: api,
85
+ attrFilter: (_a = this.item.BruceEntity.Filter) !== null && _a !== void 0 ? _a : {},
86
+ batchSize: 500,
87
+ typeId: this.item.BruceEntity["EntityType.ID"],
88
+ monitor: this.monitor
89
+ });
90
+ minMax = render_manager_1.RenderManager.Utils.GetZoomMinMax(this.item.CameraZoomSettings);
91
+ this.getter.IncludeMenuItem(this.item.id, [], minMax[0], minMax[1]);
92
+ this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
93
+ _this.onGetterUpdate(entities);
94
+ });
95
+ this.viewMonitorRemoval = this.monitor.Updated().Subscribe(function () {
96
+ _this.entityCheckQueue.Call();
97
+ });
98
+ this.entityCheckQueue = new bruce_models_1.DelayQueue(function () {
99
+ _this.doEntityCheck();
100
+ }, 3000);
101
+ return [2 /*return*/];
102
+ });
103
+ });
104
+ };
105
+ Manager.prototype.Dispose = function () {
106
+ var _a, _b, _c;
107
+ if (this.disposed) {
108
+ return;
109
+ }
110
+ (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
111
+ this.getterSub = null;
112
+ if (this.getter) {
113
+ this.getter.ExcludeMenuItem(this.item.id);
114
+ }
115
+ this.disposed = true;
116
+ this.visualsManager.RemoveByMenuItemId(this.item.id);
117
+ (_b = this.entityCheckRemoval) === null || _b === void 0 ? void 0 : _b.call(this);
118
+ (_c = this.viewMonitorRemoval) === null || _c === void 0 ? void 0 : _c.call(this);
119
+ };
120
+ Manager.prototype.doEntityCheck = function () {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var api, ids_1, CHECK_BATCH_SIZE_1, checkBatch, e_1;
123
+ var _this = this;
124
+ return __generator(this, function (_a) {
125
+ switch (_a.label) {
126
+ case 0:
127
+ if (this.isRunningCheck) {
128
+ this.entityCheckQueue.Call();
129
+ return [2 /*return*/];
130
+ }
131
+ this.isRunningCheck = true;
132
+ api = this.apiGetter.getApi();
133
+ _a.label = 1;
134
+ case 1:
135
+ _a.trys.push([1, 5, , 6]);
136
+ ids_1 = Object.keys(this.renderedEntities);
137
+ if (this.disposed) {
138
+ return [2 /*return*/];
139
+ }
140
+ if (!(ids_1.length > 0)) return [3 /*break*/, 4];
141
+ CHECK_BATCH_SIZE_1 = 150;
142
+ checkBatch = function () { return __awaiter(_this, void 0, void 0, function () {
143
+ var entityIds, entities;
144
+ return __generator(this, function (_a) {
145
+ switch (_a.label) {
146
+ case 0:
147
+ entityIds = ids_1.splice(0, CHECK_BATCH_SIZE_1);
148
+ return [4 /*yield*/, bruce_models_1.Entity.GetListByIds(api, entityIds)];
149
+ case 1:
150
+ entities = _a.sent();
151
+ if (this.disposed) {
152
+ return [2 /*return*/];
153
+ }
154
+ this.distributeGenerateBatches(entities);
155
+ return [2 /*return*/];
156
+ }
157
+ });
158
+ }); };
159
+ _a.label = 2;
160
+ case 2:
161
+ if (!(ids_1.length > 0)) return [3 /*break*/, 4];
162
+ return [4 /*yield*/, checkBatch()];
163
+ case 3:
164
+ _a.sent();
165
+ return [3 /*break*/, 2];
166
+ case 4: return [3 /*break*/, 6];
167
+ case 5:
168
+ e_1 = _a.sent();
169
+ console.error(e_1);
170
+ return [3 /*break*/, 6];
171
+ case 6:
172
+ this.isRunningCheck = false;
173
+ return [2 /*return*/];
174
+ }
175
+ });
176
+ });
177
+ };
178
+ Manager.prototype.distributeGenerateBatches = function (entities) {
179
+ var BATCH_SIZE = 50;
180
+ while (entities.length > 0) {
181
+ var batch = entities.splice(0, BATCH_SIZE);
182
+ this.onGetterUpdate(batch);
183
+ }
184
+ };
185
+ Manager.prototype.onGetterUpdate = function (entities) {
186
+ var _a;
187
+ return __awaiter(this, void 0, void 0, function () {
188
+ var cEntities, i, entity, id, cEntity, visual;
189
+ return __generator(this, function (_b) {
190
+ switch (_b.label) {
191
+ case 0:
192
+ if (this.disposed) {
193
+ return [2 /*return*/];
194
+ }
195
+ return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
196
+ viewer: this.viewer,
197
+ apiGetter: this.apiGetter,
198
+ entities: entities,
199
+ menuItemId: this.item.id,
200
+ visualRegister: this.visualsManager,
201
+ zoomControl: this.item.CameraZoomSettings
202
+ })];
203
+ case 1:
204
+ cEntities = _b.sent();
205
+ for (i = 0; i < entities.length; i++) {
206
+ entity = entities[i];
207
+ id = entity.Bruce.ID;
208
+ cEntity = cEntities[id];
209
+ this.renderedEntities[id] = !!cEntity;
210
+ if (cEntity) {
211
+ visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
212
+ if (!visual || visual != cEntity) {
213
+ this.visualsManager.Add({
214
+ entityId: id,
215
+ menuItemId: this.item.id,
216
+ visual: cEntity,
217
+ priority: 0,
218
+ entityTypeId: entity.Bruce["EntityType.ID"]
219
+ });
220
+ }
221
+ }
222
+ else {
223
+ this.visualsManager.Remove(id, this.item.id);
224
+ }
225
+ }
226
+ return [2 /*return*/];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ return Manager;
232
+ }());
233
+ EntitiesRenderManager.Manager = Manager;
234
+ })(EntitiesRenderManager = exports.EntitiesRenderManager || (exports.EntitiesRenderManager = {}));
235
235
  //# sourceMappingURL=entities-render-manager.js.map