bruce-cesium 0.3.3 → 0.3.4

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 (78) hide show
  1. package/README.md +0 -0
  2. package/dist/bruce-cesium.es5.js +5 -1
  3. package/dist/bruce-cesium.es5.js.map +1 -1
  4. package/dist/bruce-cesium.umd.js +4 -0
  5. package/dist/bruce-cesium.umd.js.map +1 -1
  6. package/dist/lib/bruce-cesium.js +30 -30
  7. package/dist/lib/bruce-cesium.js.map +0 -0
  8. package/dist/lib/rendering/entity-render-engine.js +848 -848
  9. package/dist/lib/rendering/entity-render-engine.js.map +0 -0
  10. package/dist/lib/rendering/menu-item-manager.js +252 -252
  11. package/dist/lib/rendering/menu-item-manager.js.map +0 -0
  12. package/dist/lib/rendering/render-addons/measure-addon.js +186 -186
  13. package/dist/lib/rendering/render-addons/measure-addon.js.map +0 -0
  14. package/dist/lib/rendering/render-addons/render-addon.js +2 -2
  15. package/dist/lib/rendering/render-addons/render-addon.js.map +0 -0
  16. package/dist/lib/rendering/render-helper.js +279 -279
  17. package/dist/lib/rendering/render-helper.js.map +0 -0
  18. package/dist/lib/rendering/render-managers/common/shared-getters.js +31 -31
  19. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -0
  20. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +144 -144
  21. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -0
  22. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +141 -141
  23. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -0
  24. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +232 -232
  25. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -0
  26. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +138 -138
  27. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -0
  28. package/dist/lib/rendering/render-managers/render-manager.js +50 -50
  29. package/dist/lib/rendering/render-managers/render-manager.js.map +0 -0
  30. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +230 -230
  31. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -0
  32. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +320 -320
  33. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +0 -0
  34. package/dist/lib/rendering/tile-render-engine.js +542 -542
  35. package/dist/lib/rendering/tile-render-engine.js.map +0 -0
  36. package/dist/lib/rendering/tileset-render-engine.js +472 -472
  37. package/dist/lib/rendering/tileset-render-engine.js.map +0 -0
  38. package/dist/lib/rendering/view-render-engine.js +138 -138
  39. package/dist/lib/rendering/view-render-engine.js.map +0 -0
  40. package/dist/lib/rendering/visuals-register.js +394 -394
  41. package/dist/lib/rendering/visuals-register.js.map +0 -0
  42. package/dist/lib/utils/drawing-utils.js +42 -42
  43. package/dist/lib/utils/drawing-utils.js.map +0 -0
  44. package/dist/lib/utils/entity-utils.js +99 -99
  45. package/dist/lib/utils/entity-utils.js.map +0 -0
  46. package/dist/lib/utils/measure-utils.js +34 -34
  47. package/dist/lib/utils/measure-utils.js.map +0 -0
  48. package/dist/lib/utils/view-utils.js +34 -34
  49. package/dist/lib/utils/view-utils.js.map +0 -0
  50. package/dist/lib/viewer/cesium-view-monitor.js +231 -227
  51. package/dist/lib/viewer/cesium-view-monitor.js.map +1 -1
  52. package/dist/lib/viewer/viewer-utils.js +85 -85
  53. package/dist/lib/viewer/viewer-utils.js.map +0 -0
  54. package/dist/types/bruce-cesium.d.ts +0 -0
  55. package/dist/types/rendering/entity-render-engine.d.ts +0 -0
  56. package/dist/types/rendering/menu-item-manager.d.ts +0 -0
  57. package/dist/types/rendering/render-addons/measure-addon.d.ts +0 -0
  58. package/dist/types/rendering/render-addons/render-addon.d.ts +0 -0
  59. package/dist/types/rendering/render-helper.d.ts +0 -0
  60. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -0
  61. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -0
  62. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -0
  63. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -0
  64. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -0
  65. package/dist/types/rendering/render-managers/render-manager.d.ts +0 -0
  66. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -0
  67. package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +0 -0
  68. package/dist/types/rendering/tile-render-engine.d.ts +0 -0
  69. package/dist/types/rendering/tileset-render-engine.d.ts +0 -0
  70. package/dist/types/rendering/view-render-engine.d.ts +0 -0
  71. package/dist/types/rendering/visuals-register.d.ts +0 -0
  72. package/dist/types/utils/drawing-utils.d.ts +0 -0
  73. package/dist/types/utils/entity-utils.d.ts +0 -0
  74. package/dist/types/utils/measure-utils.d.ts +0 -0
  75. package/dist/types/utils/view-utils.d.ts +0 -0
  76. package/dist/types/viewer/cesium-view-monitor.d.ts +0 -0
  77. package/dist/types/viewer/viewer-utils.d.ts +0 -0
  78. package/package.json +73 -73
@@ -1,233 +1,233 @@
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(this.apiGetter.accountId, this.apiGetter.env);
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(this.apiGetter.accountId, this.apiGetter.env);
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, 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
- id = entities[i].Bruce.ID;
207
- cEntity = cEntities[id];
208
- this.renderedEntities[id] = !!cEntity;
209
- if (cEntity) {
210
- visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
211
- if (!visual || visual != cEntity) {
212
- this.visualsManager.Add({
213
- entityId: id,
214
- menuItemId: this.item.id,
215
- visual: cEntity,
216
- priority: 0
217
- });
218
- }
219
- }
220
- else {
221
- this.visualsManager.Remove(id, this.item.id);
222
- }
223
- }
224
- return [2 /*return*/];
225
- }
226
- });
227
- });
228
- };
229
- return Manager;
230
- }());
231
- EntitiesRenderManager.Manager = Manager;
232
- })(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(this.apiGetter.accountId, this.apiGetter.env);
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(this.apiGetter.accountId, this.apiGetter.env);
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, 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
+ id = entities[i].Bruce.ID;
207
+ cEntity = cEntities[id];
208
+ this.renderedEntities[id] = !!cEntity;
209
+ if (cEntity) {
210
+ visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
211
+ if (!visual || visual != cEntity) {
212
+ this.visualsManager.Add({
213
+ entityId: id,
214
+ menuItemId: this.item.id,
215
+ visual: cEntity,
216
+ priority: 0
217
+ });
218
+ }
219
+ }
220
+ else {
221
+ this.visualsManager.Remove(id, this.item.id);
222
+ }
223
+ }
224
+ return [2 /*return*/];
225
+ }
226
+ });
227
+ });
228
+ };
229
+ return Manager;
230
+ }());
231
+ EntitiesRenderManager.Manager = Manager;
232
+ })(EntitiesRenderManager = exports.EntitiesRenderManager || (exports.EntitiesRenderManager = {}));
233
233
  //# sourceMappingURL=entities-render-manager.js.map