bruce-cesium 0.3.1 → 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 +16 -9
  3. package/dist/bruce-cesium.es5.js.map +1 -1
  4. package/dist/bruce-cesium.umd.js +15 -8
  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 -249
  11. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  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 +4 -2
  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,145 +1,145 @@
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.EntitiesIdsRenderManager = void 0;
40
- var bruce_models_1 = require("bruce-models");
41
- var entity_render_engine_1 = require("../../entity-render-engine");
42
- /**
43
- * Render manager for rendering an array of entity ids.
44
- * This will render them in batches to avoid overloading the viewer.
45
- */
46
- var EntitiesIdsRenderManager;
47
- (function (EntitiesIdsRenderManager) {
48
- var Manager = /** @class */ (function () {
49
- function Manager(viewer, visualsManager, apiGetter, monitor, item) {
50
- this.getter = null;
51
- this.getterSub = null;
52
- this.disposed = false;
53
- this.renderedEntities = {};
54
- this.viewer = viewer;
55
- this.apiGetter = apiGetter;
56
- this.monitor = monitor;
57
- this.item = item;
58
- this.visualsManager = visualsManager;
59
- }
60
- Object.defineProperty(Manager.prototype, "Disposed", {
61
- get: function () {
62
- return this.disposed;
63
- },
64
- enumerable: false,
65
- configurable: true
66
- });
67
- Manager.prototype.Init = function () {
68
- return __awaiter(this, void 0, void 0, function () {
69
- var _this = this;
70
- return __generator(this, function (_a) {
71
- if (this.disposed) {
72
- throw (new Error("This item is disposed."));
73
- }
74
- this.getter = new bruce_models_1.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
75
- this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
76
- _this.onGetterUpdate(ids);
77
- });
78
- this.getter.Start();
79
- return [2 /*return*/];
80
- });
81
- });
82
- };
83
- Manager.prototype.Dispose = function () {
84
- var _a;
85
- if (this.disposed) {
86
- return;
87
- }
88
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
89
- this.getterSub = null;
90
- this.disposed = true;
91
- this.visualsManager.RemoveByMenuItemId(this.item.id);
92
- };
93
- Manager.prototype.onGetterUpdate = function (entityIds) {
94
- var _a;
95
- return __awaiter(this, void 0, void 0, function () {
96
- var api, entities, cEntities, i, id, cEntity, visual;
97
- return __generator(this, function (_b) {
98
- switch (_b.label) {
99
- case 0:
100
- if (this.disposed) {
101
- return [2 /*return*/];
102
- }
103
- api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
104
- return [4 /*yield*/, bruce_models_1.Entity.GetListByIds(api, entityIds)];
105
- case 1:
106
- entities = _b.sent();
107
- return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
108
- viewer: this.viewer,
109
- apiGetter: this.apiGetter,
110
- entities: entities,
111
- menuItemId: this.item.id,
112
- visualRegister: this.visualsManager,
113
- zoomControl: this.item.CameraZoomSettings
114
- })];
115
- case 2:
116
- cEntities = _b.sent();
117
- for (i = 0; i < entities.length; i++) {
118
- id = entities[i].Bruce.ID;
119
- cEntity = cEntities[id];
120
- this.renderedEntities[id] = !!cEntity;
121
- if (cEntity) {
122
- visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
123
- if (!visual || visual != cEntity) {
124
- this.visualsManager.Add({
125
- entityId: id,
126
- menuItemId: this.item.id,
127
- visual: cEntity,
128
- priority: 0
129
- });
130
- }
131
- }
132
- else {
133
- this.visualsManager.Remove(id, this.item.id);
134
- }
135
- }
136
- return [2 /*return*/];
137
- }
138
- });
139
- });
140
- };
141
- return Manager;
142
- }());
143
- EntitiesIdsRenderManager.Manager = Manager;
144
- })(EntitiesIdsRenderManager = exports.EntitiesIdsRenderManager || (exports.EntitiesIdsRenderManager = {}));
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.EntitiesIdsRenderManager = void 0;
40
+ var bruce_models_1 = require("bruce-models");
41
+ var entity_render_engine_1 = require("../../entity-render-engine");
42
+ /**
43
+ * Render manager for rendering an array of entity ids.
44
+ * This will render them in batches to avoid overloading the viewer.
45
+ */
46
+ var EntitiesIdsRenderManager;
47
+ (function (EntitiesIdsRenderManager) {
48
+ var Manager = /** @class */ (function () {
49
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
50
+ this.getter = null;
51
+ this.getterSub = null;
52
+ this.disposed = false;
53
+ this.renderedEntities = {};
54
+ this.viewer = viewer;
55
+ this.apiGetter = apiGetter;
56
+ this.monitor = monitor;
57
+ this.item = item;
58
+ this.visualsManager = visualsManager;
59
+ }
60
+ Object.defineProperty(Manager.prototype, "Disposed", {
61
+ get: function () {
62
+ return this.disposed;
63
+ },
64
+ enumerable: false,
65
+ configurable: true
66
+ });
67
+ Manager.prototype.Init = function () {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ var _this = this;
70
+ return __generator(this, function (_a) {
71
+ if (this.disposed) {
72
+ throw (new Error("This item is disposed."));
73
+ }
74
+ this.getter = new bruce_models_1.BatchedDataGetter.Getter(this.item.BruceEntity.EntityIds, this.monitor, 500);
75
+ this.getterSub = this.getter.OnUpdate.Subscribe(function (ids) {
76
+ _this.onGetterUpdate(ids);
77
+ });
78
+ this.getter.Start();
79
+ return [2 /*return*/];
80
+ });
81
+ });
82
+ };
83
+ Manager.prototype.Dispose = function () {
84
+ var _a;
85
+ if (this.disposed) {
86
+ return;
87
+ }
88
+ (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
89
+ this.getterSub = null;
90
+ this.disposed = true;
91
+ this.visualsManager.RemoveByMenuItemId(this.item.id);
92
+ };
93
+ Manager.prototype.onGetterUpdate = function (entityIds) {
94
+ var _a;
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var api, entities, cEntities, i, id, cEntity, visual;
97
+ return __generator(this, function (_b) {
98
+ switch (_b.label) {
99
+ case 0:
100
+ if (this.disposed) {
101
+ return [2 /*return*/];
102
+ }
103
+ api = this.apiGetter.getApi(this.apiGetter.accountId, this.apiGetter.env);
104
+ return [4 /*yield*/, bruce_models_1.Entity.GetListByIds(api, entityIds)];
105
+ case 1:
106
+ entities = _b.sent();
107
+ return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
108
+ viewer: this.viewer,
109
+ apiGetter: this.apiGetter,
110
+ entities: entities,
111
+ menuItemId: this.item.id,
112
+ visualRegister: this.visualsManager,
113
+ zoomControl: this.item.CameraZoomSettings
114
+ })];
115
+ case 2:
116
+ cEntities = _b.sent();
117
+ for (i = 0; i < entities.length; i++) {
118
+ id = entities[i].Bruce.ID;
119
+ cEntity = cEntities[id];
120
+ this.renderedEntities[id] = !!cEntity;
121
+ if (cEntity) {
122
+ visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
123
+ if (!visual || visual != cEntity) {
124
+ this.visualsManager.Add({
125
+ entityId: id,
126
+ menuItemId: this.item.id,
127
+ visual: cEntity,
128
+ priority: 0
129
+ });
130
+ }
131
+ }
132
+ else {
133
+ this.visualsManager.Remove(id, this.item.id);
134
+ }
135
+ }
136
+ return [2 /*return*/];
137
+ }
138
+ });
139
+ });
140
+ };
141
+ return Manager;
142
+ }());
143
+ EntitiesIdsRenderManager.Manager = Manager;
144
+ })(EntitiesIdsRenderManager = exports.EntitiesIdsRenderManager || (exports.EntitiesIdsRenderManager = {}));
145
145
  //# sourceMappingURL=entities-ids-render-manager.js.map
@@ -1,142 +1,142 @@
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.EntitiesLoadedRenderManager = void 0;
40
- var bruce_models_1 = require("bruce-models");
41
- var entity_render_engine_1 = require("../../entity-render-engine");
42
- /**
43
- * Render manager for a group of pre-loaded entities.
44
- * The entities may or may not have records.
45
- * If the entities DON'T have records, it is recommended to avoid using the 3dmodel visualization as it will fail to locate LODs.
46
- */
47
- var EntitiesLoadedRenderManager;
48
- (function (EntitiesLoadedRenderManager) {
49
- var Manager = /** @class */ (function () {
50
- function Manager(viewer, visualsManager, apiGetter, monitor, item) {
51
- this.getter = null;
52
- this.getterSub = null;
53
- this.disposed = false;
54
- this.renderedEntities = {};
55
- this.viewer = viewer;
56
- this.apiGetter = apiGetter;
57
- this.monitor = monitor;
58
- this.item = item;
59
- this.visualsManager = visualsManager;
60
- }
61
- Object.defineProperty(Manager.prototype, "Disposed", {
62
- get: function () {
63
- return this.disposed;
64
- },
65
- enumerable: false,
66
- configurable: true
67
- });
68
- Manager.prototype.Init = function () {
69
- return __awaiter(this, void 0, void 0, function () {
70
- var _this = this;
71
- return __generator(this, function (_a) {
72
- if (this.disposed) {
73
- throw (new Error("This item is disposed."));
74
- }
75
- this.getter = new bruce_models_1.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
76
- this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
77
- _this.onGetterUpdate(entities);
78
- });
79
- this.getter.Start();
80
- return [2 /*return*/];
81
- });
82
- });
83
- };
84
- Manager.prototype.Dispose = function () {
85
- var _a;
86
- if (this.disposed) {
87
- return;
88
- }
89
- (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
90
- this.getterSub = null;
91
- this.disposed = true;
92
- this.visualsManager.RemoveByMenuItemId(this.item.id);
93
- };
94
- Manager.prototype.onGetterUpdate = function (entities) {
95
- var _a;
96
- return __awaiter(this, void 0, void 0, function () {
97
- var cEntities, i, id, cEntity, visual;
98
- return __generator(this, function (_b) {
99
- switch (_b.label) {
100
- case 0:
101
- if (this.disposed) {
102
- return [2 /*return*/];
103
- }
104
- return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
105
- viewer: this.viewer,
106
- apiGetter: this.apiGetter,
107
- entities: entities,
108
- menuItemId: this.item.id,
109
- visualRegister: this.visualsManager,
110
- zoomControl: this.item.CameraZoomSettings
111
- })];
112
- case 1:
113
- cEntities = _b.sent();
114
- for (i = 0; i < entities.length; i++) {
115
- id = entities[i].Bruce.ID;
116
- cEntity = cEntities[id];
117
- this.renderedEntities[id] = !!cEntity;
118
- if (cEntity) {
119
- visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
120
- if (!visual || visual != cEntity) {
121
- this.visualsManager.Add({
122
- entityId: id,
123
- menuItemId: this.item.id,
124
- visual: cEntity,
125
- priority: 0
126
- });
127
- }
128
- }
129
- else {
130
- this.visualsManager.Remove(id, this.item.id);
131
- }
132
- }
133
- return [2 /*return*/];
134
- }
135
- });
136
- });
137
- };
138
- return Manager;
139
- }());
140
- EntitiesLoadedRenderManager.Manager = Manager;
141
- })(EntitiesLoadedRenderManager = exports.EntitiesLoadedRenderManager || (exports.EntitiesLoadedRenderManager = {}));
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.EntitiesLoadedRenderManager = void 0;
40
+ var bruce_models_1 = require("bruce-models");
41
+ var entity_render_engine_1 = require("../../entity-render-engine");
42
+ /**
43
+ * Render manager for a group of pre-loaded entities.
44
+ * The entities may or may not have records.
45
+ * If the entities DON'T have records, it is recommended to avoid using the 3dmodel visualization as it will fail to locate LODs.
46
+ */
47
+ var EntitiesLoadedRenderManager;
48
+ (function (EntitiesLoadedRenderManager) {
49
+ var Manager = /** @class */ (function () {
50
+ function Manager(viewer, visualsManager, apiGetter, monitor, item) {
51
+ this.getter = null;
52
+ this.getterSub = null;
53
+ this.disposed = false;
54
+ this.renderedEntities = {};
55
+ this.viewer = viewer;
56
+ this.apiGetter = apiGetter;
57
+ this.monitor = monitor;
58
+ this.item = item;
59
+ this.visualsManager = visualsManager;
60
+ }
61
+ Object.defineProperty(Manager.prototype, "Disposed", {
62
+ get: function () {
63
+ return this.disposed;
64
+ },
65
+ enumerable: false,
66
+ configurable: true
67
+ });
68
+ Manager.prototype.Init = function () {
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var _this = this;
71
+ return __generator(this, function (_a) {
72
+ if (this.disposed) {
73
+ throw (new Error("This item is disposed."));
74
+ }
75
+ this.getter = new bruce_models_1.BatchedDataGetter.Getter(this.item.BruceEntity.Entities, this.monitor, 500);
76
+ this.getterSub = this.getter.OnUpdate.Subscribe(function (entities) {
77
+ _this.onGetterUpdate(entities);
78
+ });
79
+ this.getter.Start();
80
+ return [2 /*return*/];
81
+ });
82
+ });
83
+ };
84
+ Manager.prototype.Dispose = function () {
85
+ var _a;
86
+ if (this.disposed) {
87
+ return;
88
+ }
89
+ (_a = this.getterSub) === null || _a === void 0 ? void 0 : _a.call(this);
90
+ this.getterSub = null;
91
+ this.disposed = true;
92
+ this.visualsManager.RemoveByMenuItemId(this.item.id);
93
+ };
94
+ Manager.prototype.onGetterUpdate = function (entities) {
95
+ var _a;
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var cEntities, i, id, cEntity, visual;
98
+ return __generator(this, function (_b) {
99
+ switch (_b.label) {
100
+ case 0:
101
+ if (this.disposed) {
102
+ return [2 /*return*/];
103
+ }
104
+ return [4 /*yield*/, entity_render_engine_1.EntityRenderEngine.Render({
105
+ viewer: this.viewer,
106
+ apiGetter: this.apiGetter,
107
+ entities: entities,
108
+ menuItemId: this.item.id,
109
+ visualRegister: this.visualsManager,
110
+ zoomControl: this.item.CameraZoomSettings
111
+ })];
112
+ case 1:
113
+ cEntities = _b.sent();
114
+ for (i = 0; i < entities.length; i++) {
115
+ id = entities[i].Bruce.ID;
116
+ cEntity = cEntities[id];
117
+ this.renderedEntities[id] = !!cEntity;
118
+ if (cEntity) {
119
+ visual = (_a = this.visualsManager.GetRego(id, this.item.id)) === null || _a === void 0 ? void 0 : _a.visual;
120
+ if (!visual || visual != cEntity) {
121
+ this.visualsManager.Add({
122
+ entityId: id,
123
+ menuItemId: this.item.id,
124
+ visual: cEntity,
125
+ priority: 0
126
+ });
127
+ }
128
+ }
129
+ else {
130
+ this.visualsManager.Remove(id, this.item.id);
131
+ }
132
+ }
133
+ return [2 /*return*/];
134
+ }
135
+ });
136
+ });
137
+ };
138
+ return Manager;
139
+ }());
140
+ EntitiesLoadedRenderManager.Manager = Manager;
141
+ })(EntitiesLoadedRenderManager = exports.EntitiesLoadedRenderManager || (exports.EntitiesLoadedRenderManager = {}));
142
142
  //# sourceMappingURL=entities-loaded-render-manager.js.map