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.
- package/dist/bruce-cesium.es5.js +9 -1
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +8 -0
- 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 -815
- package/dist/lib/rendering/tileset-render-engine.js +499 -499
- package/dist/lib/rendering/view-render-engine.js +305 -305
- 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/visuals-register.d.ts +2 -0
- package/package.json +76 -76
|
@@ -1,237 +1,237 @@
|
|
|
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.TilesetCadRenderManager = void 0;
|
|
40
|
-
var bruce_models_1 = require("bruce-models");
|
|
41
|
-
var Cesium = require("cesium");
|
|
42
|
-
var tileset_render_engine_1 = require("../../tileset-render-engine");
|
|
43
|
-
/**
|
|
44
|
-
* Manager for rendering CAD tilesets.
|
|
45
|
-
* CAD tilesets are referred to as "MODEL" tilesets in some other areas of Bruce code.
|
|
46
|
-
*/
|
|
47
|
-
var TilesetCadRenderManager;
|
|
48
|
-
(function (TilesetCadRenderManager) {
|
|
49
|
-
var Manager = /** @class */ (function () {
|
|
50
|
-
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
51
|
-
this.disposed = false;
|
|
52
|
-
this.cTileset = null;
|
|
53
|
-
this.styler = null;
|
|
54
|
-
this.viewer = viewer;
|
|
55
|
-
this.apiGetter = apiGetter;
|
|
56
|
-
this.item = item;
|
|
57
|
-
this.visualsManager = visualsManager;
|
|
58
|
-
}
|
|
59
|
-
Object.defineProperty(Manager.prototype, "Disposed", {
|
|
60
|
-
get: function () {
|
|
61
|
-
return this.disposed;
|
|
62
|
-
},
|
|
63
|
-
enumerable: false,
|
|
64
|
-
configurable: true
|
|
65
|
-
});
|
|
66
|
-
Manager.prototype.Init = function () {
|
|
67
|
-
var _a;
|
|
68
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
-
var tilesetId, api, tileset, settings, rootId, coords, cTileset;
|
|
70
|
-
var _this = this;
|
|
71
|
-
return __generator(this, function (_b) {
|
|
72
|
-
switch (_b.label) {
|
|
73
|
-
case 0:
|
|
74
|
-
tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
75
|
-
if (!tilesetId) {
|
|
76
|
-
return [2 /*return*/];
|
|
77
|
-
}
|
|
78
|
-
api = this.apiGetter.getApi();
|
|
79
|
-
return [4 /*yield*/, bruce_models_1.Tileset.Get(api, tilesetId)];
|
|
80
|
-
case 1:
|
|
81
|
-
tileset = _b.sent();
|
|
82
|
-
if (!tileset) {
|
|
83
|
-
return [2 /*return*/];
|
|
84
|
-
}
|
|
85
|
-
settings = tileset.settings;
|
|
86
|
-
rootId = settings.rootEntityId;
|
|
87
|
-
return [4 /*yield*/, bruce_models_1.EntityCoords.GetEntityCoords(api, rootId)];
|
|
88
|
-
case 2:
|
|
89
|
-
coords = _b.sent();
|
|
90
|
-
cTileset = this.cTileset = tileset_render_engine_1.TilesetRenderEngine.Render({
|
|
91
|
-
apiGetter: this.apiGetter,
|
|
92
|
-
tileset: tileset,
|
|
93
|
-
viewer: this.viewer,
|
|
94
|
-
coords: coords
|
|
95
|
-
});
|
|
96
|
-
cTileset.readyPromise.then(function () {
|
|
97
|
-
_this.onCTilesetLoad();
|
|
98
|
-
});
|
|
99
|
-
cTileset.tileLoad.addEventListener(function (tile) {
|
|
100
|
-
_this.mapCTile(tile);
|
|
101
|
-
});
|
|
102
|
-
this.styler = new tileset_render_engine_1.TilesetRenderEngine.CadStyler(api, this.cTileset, this.item.styleId, this.item.StyleMapping);
|
|
103
|
-
return [2 /*return*/];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
Manager.prototype.onCTilesetLoad = function () {
|
|
109
|
-
if (this.disposed) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
if (this.item.FlyTo) {
|
|
113
|
-
this.viewer.zoomTo(this.cTileset, new Cesium.HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
Manager.prototype.mapCTile = function (tile) {
|
|
117
|
-
var content = tile.content;
|
|
118
|
-
for (var i = 0; i < content.featuresLength; i++) {
|
|
119
|
-
var feature = content.getFeature(i);
|
|
120
|
-
var rego = this.mapTilesetFeature(feature);
|
|
121
|
-
if (rego === null || rego === void 0 ? void 0 : rego.entityId) {
|
|
122
|
-
this.styler.QueueEntities([rego]);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
Manager.prototype.mapTilesetFeature = function (feature) {
|
|
127
|
-
var _a, _b, _c;
|
|
128
|
-
var version = (_c = (_b = (_a = feature === null || feature === void 0 ? void 0 : feature.tileset) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.modelTree) === null || _c === void 0 ? void 0 : _c.version;
|
|
129
|
-
if (!version) {
|
|
130
|
-
version = 1;
|
|
131
|
-
}
|
|
132
|
-
var rego = {
|
|
133
|
-
entityId: null,
|
|
134
|
-
entityTypeId: null,
|
|
135
|
-
menuItemId: this.item.id,
|
|
136
|
-
priority: 0,
|
|
137
|
-
visual: feature
|
|
138
|
-
};
|
|
139
|
-
if (version == 1) {
|
|
140
|
-
var pathStr = feature.getProperty("BrucePath");
|
|
141
|
-
if (pathStr != undefined) {
|
|
142
|
-
var path = pathStr.split("|");
|
|
143
|
-
var entityTypeId = this.getEntityTypeByPath(path);
|
|
144
|
-
rego.entityTypeId = entityTypeId;
|
|
145
|
-
rego.entityId = path[path.length - 1];
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else if (version == 2) {
|
|
149
|
-
var geomId = +feature.getProperty("GeomId");
|
|
150
|
-
if (geomId != null && (!!geomId || geomId == 0)) {
|
|
151
|
-
var meta = this.getMetaByGeomId(geomId, feature.tileset);
|
|
152
|
-
if (meta) {
|
|
153
|
-
rego.entityId = meta.id;
|
|
154
|
-
rego.entityTypeId = meta.typeId;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
console.log("Unhandled tileset tree version = " + version);
|
|
160
|
-
}
|
|
161
|
-
if (rego === null || rego === void 0 ? void 0 : rego.entityId) {
|
|
162
|
-
this.visualsManager.Add(rego);
|
|
163
|
-
return rego;
|
|
164
|
-
}
|
|
165
|
-
return null;
|
|
166
|
-
};
|
|
167
|
-
Manager.prototype.getMetaByGeomId = function (geomId, tileset) {
|
|
168
|
-
var _a;
|
|
169
|
-
var modelTree = (_a = tileset === null || tileset === void 0 ? void 0 : tileset.extensions) === null || _a === void 0 ? void 0 : _a.modelTree;
|
|
170
|
-
return this.digMetaByGeomId(geomId, modelTree, []);
|
|
171
|
-
};
|
|
172
|
-
Manager.prototype.digMetaByGeomId = function (geomId, branch, path) {
|
|
173
|
-
path = [].concat(path);
|
|
174
|
-
path.push(branch.id);
|
|
175
|
-
if (branch.geomId == geomId) {
|
|
176
|
-
return { id: path[path.length - 1], typeId: branch.typeId };
|
|
177
|
-
}
|
|
178
|
-
else if (branch.children) {
|
|
179
|
-
for (var i = 0; i < branch.children.length; i++) {
|
|
180
|
-
var meta = this.digMetaByGeomId(geomId, branch.children[i], path);
|
|
181
|
-
if (meta) {
|
|
182
|
-
return meta;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return null;
|
|
187
|
-
};
|
|
188
|
-
Manager.prototype.getEntityTypeByPath = function (path) {
|
|
189
|
-
var _a, _b;
|
|
190
|
-
var modelTree = (_b = (_a = this.cTileset) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.modelTree;
|
|
191
|
-
if (modelTree) {
|
|
192
|
-
var data = this.digModelTreeByPath(modelTree, path);
|
|
193
|
-
if (data) {
|
|
194
|
-
return data.typeId;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
return null;
|
|
198
|
-
};
|
|
199
|
-
Manager.prototype.digModelTreeByPath = function (branch, path) {
|
|
200
|
-
// Dereference.
|
|
201
|
-
path = JSON.parse(JSON.stringify(path));
|
|
202
|
-
if (path.length <= 0) {
|
|
203
|
-
return null;
|
|
204
|
-
}
|
|
205
|
-
var pathTop = path.splice(0, 1)[0];
|
|
206
|
-
if (pathTop != branch.id) {
|
|
207
|
-
return null;
|
|
208
|
-
}
|
|
209
|
-
else if (path.length == 0 && pathTop == branch.id) {
|
|
210
|
-
return branch;
|
|
211
|
-
}
|
|
212
|
-
else if (branch.children) {
|
|
213
|
-
for (var i = 0; i < branch.children.length; i++) {
|
|
214
|
-
var foundPath = this.digModelTreeByPath(branch.children[i], path);
|
|
215
|
-
if (foundPath) {
|
|
216
|
-
return foundPath;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
return null;
|
|
221
|
-
};
|
|
222
|
-
Manager.prototype.Dispose = function () {
|
|
223
|
-
if (this.disposed) {
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
this.disposed = true;
|
|
227
|
-
if (this.cTileset) {
|
|
228
|
-
this.cTileset.show = false;
|
|
229
|
-
}
|
|
230
|
-
this.styler.Dispose();
|
|
231
|
-
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
232
|
-
};
|
|
233
|
-
return Manager;
|
|
234
|
-
}());
|
|
235
|
-
TilesetCadRenderManager.Manager = Manager;
|
|
236
|
-
})(TilesetCadRenderManager = exports.TilesetCadRenderManager || (exports.TilesetCadRenderManager = {}));
|
|
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.TilesetCadRenderManager = void 0;
|
|
40
|
+
var bruce_models_1 = require("bruce-models");
|
|
41
|
+
var Cesium = require("cesium");
|
|
42
|
+
var tileset_render_engine_1 = require("../../tileset-render-engine");
|
|
43
|
+
/**
|
|
44
|
+
* Manager for rendering CAD tilesets.
|
|
45
|
+
* CAD tilesets are referred to as "MODEL" tilesets in some other areas of Bruce code.
|
|
46
|
+
*/
|
|
47
|
+
var TilesetCadRenderManager;
|
|
48
|
+
(function (TilesetCadRenderManager) {
|
|
49
|
+
var Manager = /** @class */ (function () {
|
|
50
|
+
function Manager(viewer, visualsManager, apiGetter, item) {
|
|
51
|
+
this.disposed = false;
|
|
52
|
+
this.cTileset = null;
|
|
53
|
+
this.styler = null;
|
|
54
|
+
this.viewer = viewer;
|
|
55
|
+
this.apiGetter = apiGetter;
|
|
56
|
+
this.item = item;
|
|
57
|
+
this.visualsManager = visualsManager;
|
|
58
|
+
}
|
|
59
|
+
Object.defineProperty(Manager.prototype, "Disposed", {
|
|
60
|
+
get: function () {
|
|
61
|
+
return this.disposed;
|
|
62
|
+
},
|
|
63
|
+
enumerable: false,
|
|
64
|
+
configurable: true
|
|
65
|
+
});
|
|
66
|
+
Manager.prototype.Init = function () {
|
|
67
|
+
var _a;
|
|
68
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
+
var tilesetId, api, tileset, settings, rootId, coords, cTileset;
|
|
70
|
+
var _this = this;
|
|
71
|
+
return __generator(this, function (_b) {
|
|
72
|
+
switch (_b.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
tilesetId = (_a = this.item.tileset) === null || _a === void 0 ? void 0 : _a.TilesetID;
|
|
75
|
+
if (!tilesetId) {
|
|
76
|
+
return [2 /*return*/];
|
|
77
|
+
}
|
|
78
|
+
api = this.apiGetter.getApi();
|
|
79
|
+
return [4 /*yield*/, bruce_models_1.Tileset.Get(api, tilesetId)];
|
|
80
|
+
case 1:
|
|
81
|
+
tileset = _b.sent();
|
|
82
|
+
if (!tileset) {
|
|
83
|
+
return [2 /*return*/];
|
|
84
|
+
}
|
|
85
|
+
settings = tileset.settings;
|
|
86
|
+
rootId = settings.rootEntityId;
|
|
87
|
+
return [4 /*yield*/, bruce_models_1.EntityCoords.GetEntityCoords(api, rootId)];
|
|
88
|
+
case 2:
|
|
89
|
+
coords = _b.sent();
|
|
90
|
+
cTileset = this.cTileset = tileset_render_engine_1.TilesetRenderEngine.Render({
|
|
91
|
+
apiGetter: this.apiGetter,
|
|
92
|
+
tileset: tileset,
|
|
93
|
+
viewer: this.viewer,
|
|
94
|
+
coords: coords
|
|
95
|
+
});
|
|
96
|
+
cTileset.readyPromise.then(function () {
|
|
97
|
+
_this.onCTilesetLoad();
|
|
98
|
+
});
|
|
99
|
+
cTileset.tileLoad.addEventListener(function (tile) {
|
|
100
|
+
_this.mapCTile(tile);
|
|
101
|
+
});
|
|
102
|
+
this.styler = new tileset_render_engine_1.TilesetRenderEngine.CadStyler(api, this.cTileset, this.item.styleId, this.item.StyleMapping);
|
|
103
|
+
return [2 /*return*/];
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
Manager.prototype.onCTilesetLoad = function () {
|
|
109
|
+
if (this.disposed) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
if (this.item.FlyTo) {
|
|
113
|
+
this.viewer.zoomTo(this.cTileset, new Cesium.HeadingPitchRange(0.0, -0.5, this.cTileset.boundingSphere.radius / 4.0));
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
Manager.prototype.mapCTile = function (tile) {
|
|
117
|
+
var content = tile.content;
|
|
118
|
+
for (var i = 0; i < content.featuresLength; i++) {
|
|
119
|
+
var feature = content.getFeature(i);
|
|
120
|
+
var rego = this.mapTilesetFeature(feature);
|
|
121
|
+
if (rego === null || rego === void 0 ? void 0 : rego.entityId) {
|
|
122
|
+
this.styler.QueueEntities([rego]);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
Manager.prototype.mapTilesetFeature = function (feature) {
|
|
127
|
+
var _a, _b, _c;
|
|
128
|
+
var version = (_c = (_b = (_a = feature === null || feature === void 0 ? void 0 : feature.tileset) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.modelTree) === null || _c === void 0 ? void 0 : _c.version;
|
|
129
|
+
if (!version) {
|
|
130
|
+
version = 1;
|
|
131
|
+
}
|
|
132
|
+
var rego = {
|
|
133
|
+
entityId: null,
|
|
134
|
+
entityTypeId: null,
|
|
135
|
+
menuItemId: this.item.id,
|
|
136
|
+
priority: 0,
|
|
137
|
+
visual: feature
|
|
138
|
+
};
|
|
139
|
+
if (version == 1) {
|
|
140
|
+
var pathStr = feature.getProperty("BrucePath");
|
|
141
|
+
if (pathStr != undefined) {
|
|
142
|
+
var path = pathStr.split("|");
|
|
143
|
+
var entityTypeId = this.getEntityTypeByPath(path);
|
|
144
|
+
rego.entityTypeId = entityTypeId;
|
|
145
|
+
rego.entityId = path[path.length - 1];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else if (version == 2) {
|
|
149
|
+
var geomId = +feature.getProperty("GeomId");
|
|
150
|
+
if (geomId != null && (!!geomId || geomId == 0)) {
|
|
151
|
+
var meta = this.getMetaByGeomId(geomId, feature.tileset);
|
|
152
|
+
if (meta) {
|
|
153
|
+
rego.entityId = meta.id;
|
|
154
|
+
rego.entityTypeId = meta.typeId;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
console.log("Unhandled tileset tree version = " + version);
|
|
160
|
+
}
|
|
161
|
+
if (rego === null || rego === void 0 ? void 0 : rego.entityId) {
|
|
162
|
+
this.visualsManager.Add(rego);
|
|
163
|
+
return rego;
|
|
164
|
+
}
|
|
165
|
+
return null;
|
|
166
|
+
};
|
|
167
|
+
Manager.prototype.getMetaByGeomId = function (geomId, tileset) {
|
|
168
|
+
var _a;
|
|
169
|
+
var modelTree = (_a = tileset === null || tileset === void 0 ? void 0 : tileset.extensions) === null || _a === void 0 ? void 0 : _a.modelTree;
|
|
170
|
+
return this.digMetaByGeomId(geomId, modelTree, []);
|
|
171
|
+
};
|
|
172
|
+
Manager.prototype.digMetaByGeomId = function (geomId, branch, path) {
|
|
173
|
+
path = [].concat(path);
|
|
174
|
+
path.push(branch.id);
|
|
175
|
+
if (branch.geomId == geomId) {
|
|
176
|
+
return { id: path[path.length - 1], typeId: branch.typeId };
|
|
177
|
+
}
|
|
178
|
+
else if (branch.children) {
|
|
179
|
+
for (var i = 0; i < branch.children.length; i++) {
|
|
180
|
+
var meta = this.digMetaByGeomId(geomId, branch.children[i], path);
|
|
181
|
+
if (meta) {
|
|
182
|
+
return meta;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return null;
|
|
187
|
+
};
|
|
188
|
+
Manager.prototype.getEntityTypeByPath = function (path) {
|
|
189
|
+
var _a, _b;
|
|
190
|
+
var modelTree = (_b = (_a = this.cTileset) === null || _a === void 0 ? void 0 : _a.extensions) === null || _b === void 0 ? void 0 : _b.modelTree;
|
|
191
|
+
if (modelTree) {
|
|
192
|
+
var data = this.digModelTreeByPath(modelTree, path);
|
|
193
|
+
if (data) {
|
|
194
|
+
return data.typeId;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return null;
|
|
198
|
+
};
|
|
199
|
+
Manager.prototype.digModelTreeByPath = function (branch, path) {
|
|
200
|
+
// Dereference.
|
|
201
|
+
path = JSON.parse(JSON.stringify(path));
|
|
202
|
+
if (path.length <= 0) {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
var pathTop = path.splice(0, 1)[0];
|
|
206
|
+
if (pathTop != branch.id) {
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
else if (path.length == 0 && pathTop == branch.id) {
|
|
210
|
+
return branch;
|
|
211
|
+
}
|
|
212
|
+
else if (branch.children) {
|
|
213
|
+
for (var i = 0; i < branch.children.length; i++) {
|
|
214
|
+
var foundPath = this.digModelTreeByPath(branch.children[i], path);
|
|
215
|
+
if (foundPath) {
|
|
216
|
+
return foundPath;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return null;
|
|
221
|
+
};
|
|
222
|
+
Manager.prototype.Dispose = function () {
|
|
223
|
+
if (this.disposed) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
this.disposed = true;
|
|
227
|
+
if (this.cTileset) {
|
|
228
|
+
this.cTileset.show = false;
|
|
229
|
+
}
|
|
230
|
+
this.styler.Dispose();
|
|
231
|
+
this.visualsManager.RemoveByMenuItemId(this.item.id);
|
|
232
|
+
};
|
|
233
|
+
return Manager;
|
|
234
|
+
}());
|
|
235
|
+
TilesetCadRenderManager.Manager = Manager;
|
|
236
|
+
})(TilesetCadRenderManager = exports.TilesetCadRenderManager || (exports.TilesetCadRenderManager = {}));
|
|
237
237
|
//# sourceMappingURL=tileset-cad-render-manager.js.map
|