bruce-cesium 4.7.2 → 4.7.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.
- package/dist/bruce-cesium.es5.js +190 -4
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +186 -1
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +2 -1
- package/dist/lib/bruce-cesium.js.map +1 -1
- package/dist/lib/rendering/menu-item-manager.js +10 -0
- package/dist/lib/rendering/menu-item-manager.js.map +1 -1
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +219 -0
- package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +1 -0
- package/dist/types/bruce-cesium.d.ts +2 -1
- package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +30 -0
- package/package.json +3 -2
package/dist/bruce-cesium.umd.js
CHANGED
|
@@ -16003,6 +16003,182 @@
|
|
|
16003
16003
|
TilesetCadRenderManager.Manager = Manager;
|
|
16004
16004
|
})(exports.TilesetCadRenderManager || (exports.TilesetCadRenderManager = {}));
|
|
16005
16005
|
|
|
16006
|
+
(function (DataLabRenderManager) {
|
|
16007
|
+
var Manager = /** @class */ (function () {
|
|
16008
|
+
function Manager(params) {
|
|
16009
|
+
this.getter = null;
|
|
16010
|
+
this.disposed = false;
|
|
16011
|
+
var viewer = params.viewer, item = params.item, apiGetter = params.apiGetter, monitor = params.monitor, visualsRegister = params.visualsRegister;
|
|
16012
|
+
this.viewer = viewer;
|
|
16013
|
+
this.item = item;
|
|
16014
|
+
this.apiGetter = apiGetter;
|
|
16015
|
+
this.monitor = monitor;
|
|
16016
|
+
this.visualsManager = visualsRegister;
|
|
16017
|
+
}
|
|
16018
|
+
Object.defineProperty(Manager.prototype, "Disposed", {
|
|
16019
|
+
get: function () {
|
|
16020
|
+
return this.disposed;
|
|
16021
|
+
},
|
|
16022
|
+
enumerable: false,
|
|
16023
|
+
configurable: true
|
|
16024
|
+
});
|
|
16025
|
+
Manager.prototype.Init = function () {
|
|
16026
|
+
var _this = this;
|
|
16027
|
+
var _a;
|
|
16028
|
+
if (this.disposed) {
|
|
16029
|
+
throw new Error("This manager has already been disposed.");
|
|
16030
|
+
}
|
|
16031
|
+
if (!((_a = this.item.CameraZoomSettings) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
16032
|
+
this.item.CameraZoomSettings = [
|
|
16033
|
+
{
|
|
16034
|
+
MinZoom: 0,
|
|
16035
|
+
MaxZoom: 200000,
|
|
16036
|
+
DisplayType: BModels.ZoomControl.EDisplayType.Model3D,
|
|
16037
|
+
LODCategoryID: "glb",
|
|
16038
|
+
LODLevel: 0,
|
|
16039
|
+
StyleID: 0
|
|
16040
|
+
}
|
|
16041
|
+
];
|
|
16042
|
+
}
|
|
16043
|
+
// Perform the initial query and subscribe to updates
|
|
16044
|
+
this.getter = new BatchedDataGetter.Getter([this.item.DataLabQueryID], this.monitor, 1);
|
|
16045
|
+
this.getter.OnUpdate.Subscribe(function (queryIds) {
|
|
16046
|
+
_this.onGetterUpdate(queryIds[0]);
|
|
16047
|
+
});
|
|
16048
|
+
this.getter.Start();
|
|
16049
|
+
};
|
|
16050
|
+
Manager.prototype.Dispose = function () {
|
|
16051
|
+
if (this.disposed) {
|
|
16052
|
+
return;
|
|
16053
|
+
}
|
|
16054
|
+
this.doDispose();
|
|
16055
|
+
};
|
|
16056
|
+
Manager.prototype.doDispose = function () {
|
|
16057
|
+
var _a;
|
|
16058
|
+
this.disposed = true;
|
|
16059
|
+
(_a = this.getter) === null || _a === void 0 ? void 0 : _a.Dispose();
|
|
16060
|
+
this.visualsManager.RemoveRegos({
|
|
16061
|
+
menuItemId: this.item.id
|
|
16062
|
+
});
|
|
16063
|
+
};
|
|
16064
|
+
Manager.prototype.onGetterUpdate = function (queryId) {
|
|
16065
|
+
var _a;
|
|
16066
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
16067
|
+
var api, result, query, queryResult, error_1;
|
|
16068
|
+
var _b;
|
|
16069
|
+
return __generator(this, function (_c) {
|
|
16070
|
+
switch (_c.label) {
|
|
16071
|
+
case 0:
|
|
16072
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
16073
|
+
return [2 /*return*/];
|
|
16074
|
+
}
|
|
16075
|
+
_c.label = 1;
|
|
16076
|
+
case 1:
|
|
16077
|
+
_c.trys.push([1, 4, , 5]);
|
|
16078
|
+
api = this.apiGetter.getApi();
|
|
16079
|
+
return [4 /*yield*/, BModels.DataLab.Get({ api: api, queryId: queryId })];
|
|
16080
|
+
case 2:
|
|
16081
|
+
result = _c.sent();
|
|
16082
|
+
query = result.query;
|
|
16083
|
+
return [4 /*yield*/, BModels.DataLab.Run({ api: api, query: (_b = {},
|
|
16084
|
+
_b[BModels.DataLab.EReqKey.Primary] = {
|
|
16085
|
+
Items: ((_a = query === null || query === void 0 ? void 0 : query.PrimarySelectionCriteria) === null || _a === void 0 ? void 0 : _a.Items) || [],
|
|
16086
|
+
},
|
|
16087
|
+
_b) })];
|
|
16088
|
+
case 3:
|
|
16089
|
+
queryResult = _c.sent();
|
|
16090
|
+
this.renderDataLabEntities(queryResult.entities || []);
|
|
16091
|
+
return [3 /*break*/, 5];
|
|
16092
|
+
case 4:
|
|
16093
|
+
error_1 = _c.sent();
|
|
16094
|
+
console.error("Failed to perform query or render DataLab entities:", error_1);
|
|
16095
|
+
return [3 /*break*/, 5];
|
|
16096
|
+
case 5: return [2 /*return*/];
|
|
16097
|
+
}
|
|
16098
|
+
});
|
|
16099
|
+
});
|
|
16100
|
+
};
|
|
16101
|
+
Manager.prototype.renderDataLabEntities = function (entities) {
|
|
16102
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
16103
|
+
var _a, updated, cEntities, i, entity, id, cEntity, rego;
|
|
16104
|
+
return __generator(this, function (_b) {
|
|
16105
|
+
switch (_b.label) {
|
|
16106
|
+
case 0:
|
|
16107
|
+
if (this.disposed || this.viewer.isDestroyed()) {
|
|
16108
|
+
return [2 /*return*/];
|
|
16109
|
+
}
|
|
16110
|
+
return [4 /*yield*/, exports.EntityRenderEngine.Render({
|
|
16111
|
+
viewer: this.viewer,
|
|
16112
|
+
apiGetter: this.apiGetter,
|
|
16113
|
+
entities: entities,
|
|
16114
|
+
menuItemId: this.item.id,
|
|
16115
|
+
visualRegister: this.visualsManager,
|
|
16116
|
+
zoomControl: this.item.CameraZoomSettings
|
|
16117
|
+
})];
|
|
16118
|
+
case 1:
|
|
16119
|
+
_a = _b.sent(), updated = _a.updated, cEntities = _a.entities;
|
|
16120
|
+
for (i = 0; i < entities.length; i++) {
|
|
16121
|
+
entity = entities[i];
|
|
16122
|
+
id = entity.Bruce.ID;
|
|
16123
|
+
cEntity = cEntities.get(id);
|
|
16124
|
+
if (cEntity) {
|
|
16125
|
+
rego = this.visualsManager.GetRego({
|
|
16126
|
+
entityId: id,
|
|
16127
|
+
menuItemId: this.item.id
|
|
16128
|
+
});
|
|
16129
|
+
if (!rego) {
|
|
16130
|
+
this.visualsManager.AddRego({
|
|
16131
|
+
rego: {
|
|
16132
|
+
entityId: id,
|
|
16133
|
+
menuItemId: this.item.id,
|
|
16134
|
+
menuItemType: this.item.Type,
|
|
16135
|
+
visual: cEntity,
|
|
16136
|
+
priority: 0,
|
|
16137
|
+
entityTypeId: entity.Bruce["EntityType.ID"],
|
|
16138
|
+
accountId: this.apiGetter.accountId,
|
|
16139
|
+
name: cEntity.name
|
|
16140
|
+
},
|
|
16141
|
+
requestRender: false
|
|
16142
|
+
});
|
|
16143
|
+
}
|
|
16144
|
+
}
|
|
16145
|
+
else {
|
|
16146
|
+
this.visualsManager.RemoveRegos({
|
|
16147
|
+
entityId: id,
|
|
16148
|
+
menuItemId: this.item.id,
|
|
16149
|
+
requestRender: false
|
|
16150
|
+
});
|
|
16151
|
+
}
|
|
16152
|
+
}
|
|
16153
|
+
this.viewer.scene.requestRender();
|
|
16154
|
+
return [2 /*return*/];
|
|
16155
|
+
}
|
|
16156
|
+
});
|
|
16157
|
+
});
|
|
16158
|
+
};
|
|
16159
|
+
Manager.prototype.ReRender = function () {
|
|
16160
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
16161
|
+
return __generator(this, function (_a) {
|
|
16162
|
+
switch (_a.label) {
|
|
16163
|
+
case 0:
|
|
16164
|
+
if (this.disposed) {
|
|
16165
|
+
return [2 /*return*/];
|
|
16166
|
+
}
|
|
16167
|
+
// Re-perform the query and render again
|
|
16168
|
+
return [4 /*yield*/, this.onGetterUpdate(this.item.DataLabQueryID)];
|
|
16169
|
+
case 1:
|
|
16170
|
+
// Re-perform the query and render again
|
|
16171
|
+
_a.sent();
|
|
16172
|
+
return [2 /*return*/];
|
|
16173
|
+
}
|
|
16174
|
+
});
|
|
16175
|
+
});
|
|
16176
|
+
};
|
|
16177
|
+
return Manager;
|
|
16178
|
+
}());
|
|
16179
|
+
DataLabRenderManager.Manager = Manager;
|
|
16180
|
+
})(exports.DataLabRenderManager || (exports.DataLabRenderManager = {}));
|
|
16181
|
+
|
|
16006
16182
|
/**
|
|
16007
16183
|
* This is a helper for making entity requests based on a grid area.
|
|
16008
16184
|
* It will return grid cells based on given view-area then will remember when stuff-
|
|
@@ -20818,6 +20994,15 @@
|
|
|
20818
20994
|
getters: params.getters
|
|
20819
20995
|
});
|
|
20820
20996
|
break;
|
|
20997
|
+
case BModels.MenuItem.EType.DataLab:
|
|
20998
|
+
rItem.renderManager = new exports.DataLabRenderManager.Manager({
|
|
20999
|
+
viewer: this.viewer,
|
|
21000
|
+
item: params.item,
|
|
21001
|
+
apiGetter: params.apiGetter,
|
|
21002
|
+
monitor: this.sharedMonitor,
|
|
21003
|
+
visualsRegister: this.visualsRegister
|
|
21004
|
+
});
|
|
21005
|
+
break;
|
|
20821
21006
|
// Any "none" type can be ignored. These are just containers for other items.
|
|
20822
21007
|
case BModels.MenuItem.EType.None:
|
|
20823
21008
|
break;
|
|
@@ -28184,7 +28369,7 @@
|
|
|
28184
28369
|
return WidgetViewBar;
|
|
28185
28370
|
}(exports.Widget.AWidget));
|
|
28186
28371
|
|
|
28187
|
-
var VERSION = "4.7.
|
|
28372
|
+
var VERSION = "4.7.4";
|
|
28188
28373
|
|
|
28189
28374
|
exports.VERSION = VERSION;
|
|
28190
28375
|
exports.CesiumParabola = CesiumParabola;
|