bruce-cesium 5.7.7 → 5.7.9

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 (230) hide show
  1. package/package.json +2 -2
  2. package/dist/bruce-cesium.es5.js +0 -32263
  3. package/dist/bruce-cesium.es5.js.map +0 -1
  4. package/dist/bruce-cesium.umd.js +0 -32187
  5. package/dist/bruce-cesium.umd.js.map +0 -1
  6. package/dist/lib/bruce-cesium.js +0 -76
  7. package/dist/lib/bruce-cesium.js.map +0 -1
  8. package/dist/lib/internal/cesium-utils.js +0 -109
  9. package/dist/lib/internal/cesium-utils.js.map +0 -1
  10. package/dist/lib/internal/js-utils.js +0 -22
  11. package/dist/lib/internal/js-utils.js.map +0 -1
  12. package/dist/lib/internal/limited-log.js +0 -17
  13. package/dist/lib/internal/limited-log.js.map +0 -1
  14. package/dist/lib/rendering/cesium-animated-in-out.js +0 -166
  15. package/dist/lib/rendering/cesium-animated-in-out.js.map +0 -1
  16. package/dist/lib/rendering/cesium-animated-property.js +0 -1111
  17. package/dist/lib/rendering/cesium-animated-property.js.map +0 -1
  18. package/dist/lib/rendering/entity-gatherer.js +0 -327
  19. package/dist/lib/rendering/entity-gatherer.js.map +0 -1
  20. package/dist/lib/rendering/entity-render-engine-model3d.js +0 -689
  21. package/dist/lib/rendering/entity-render-engine-model3d.js.map +0 -1
  22. package/dist/lib/rendering/entity-render-engine-point.js +0 -984
  23. package/dist/lib/rendering/entity-render-engine-point.js.map +0 -1
  24. package/dist/lib/rendering/entity-render-engine-polygon.js +0 -669
  25. package/dist/lib/rendering/entity-render-engine-polygon.js.map +0 -1
  26. package/dist/lib/rendering/entity-render-engine-polyline.js +0 -415
  27. package/dist/lib/rendering/entity-render-engine-polyline.js.map +0 -1
  28. package/dist/lib/rendering/entity-render-engine.js +0 -442
  29. package/dist/lib/rendering/entity-render-engine.js.map +0 -1
  30. package/dist/lib/rendering/getters/batched-data-getter.js +0 -91
  31. package/dist/lib/rendering/getters/batched-data-getter.js.map +0 -1
  32. package/dist/lib/rendering/getters/entity-filter-getter.js +0 -634
  33. package/dist/lib/rendering/getters/entity-filter-getter.js.map +0 -1
  34. package/dist/lib/rendering/getters/entity-globe.js +0 -172
  35. package/dist/lib/rendering/getters/entity-globe.js.map +0 -1
  36. package/dist/lib/rendering/menu-item-creator.js +0 -354
  37. package/dist/lib/rendering/menu-item-creator.js.map +0 -1
  38. package/dist/lib/rendering/menu-item-manager.js +0 -464
  39. package/dist/lib/rendering/menu-item-manager.js.map +0 -1
  40. package/dist/lib/rendering/relation-render-engine.js +0 -235
  41. package/dist/lib/rendering/relation-render-engine.js.map +0 -1
  42. package/dist/lib/rendering/render-managers/common/cesium-parabola.js +0 -368
  43. package/dist/lib/rendering/render-managers/common/cesium-parabola.js.map +0 -1
  44. package/dist/lib/rendering/render-managers/common/entity-label.js +0 -703
  45. package/dist/lib/rendering/render-managers/common/entity-label.js.map +0 -1
  46. package/dist/lib/rendering/render-managers/common/point-clustering.js +0 -826
  47. package/dist/lib/rendering/render-managers/common/point-clustering.js.map +0 -1
  48. package/dist/lib/rendering/render-managers/common/shared-getters.js +0 -187
  49. package/dist/lib/rendering/render-managers/common/shared-getters.js.map +0 -1
  50. package/dist/lib/rendering/render-managers/data-source/data-source-static-csv-manager.js +0 -668
  51. package/dist/lib/rendering/render-managers/data-source/data-source-static-csv-manager.js.map +0 -1
  52. package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js +0 -92
  53. package/dist/lib/rendering/render-managers/data-source/data-source-static-kml-manager.js.map +0 -1
  54. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js +0 -143
  55. package/dist/lib/rendering/render-managers/entities/entities-datalab-render-manager.js.map +0 -1
  56. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js +0 -510
  57. package/dist/lib/rendering/render-managers/entities/entities-ids-render-manager.js.map +0 -1
  58. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js +0 -717
  59. package/dist/lib/rendering/render-managers/entities/entities-loaded-render-manager.js.map +0 -1
  60. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js +0 -999
  61. package/dist/lib/rendering/render-managers/entities/entities-render-manager.js.map +0 -1
  62. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js +0 -186
  63. package/dist/lib/rendering/render-managers/entities/entity-render-manager.js.map +0 -1
  64. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +0 -226
  65. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +0 -1
  66. package/dist/lib/rendering/render-managers/other/google-search-render-manager.js +0 -430
  67. package/dist/lib/rendering/render-managers/other/google-search-render-manager.js.map +0 -1
  68. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js +0 -290
  69. package/dist/lib/rendering/render-managers/other/legacy-relations-render-manager.js.map +0 -1
  70. package/dist/lib/rendering/render-managers/other/relations-render-manager.js +0 -401
  71. package/dist/lib/rendering/render-managers/other/relations-render-manager.js.map +0 -1
  72. package/dist/lib/rendering/render-managers/render-manager.js +0 -276
  73. package/dist/lib/rendering/render-managers/render-manager.js.map +0 -1
  74. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js +0 -356
  75. package/dist/lib/rendering/render-managers/tilesets/tileset-arb-render-manager.js.map +0 -1
  76. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +0 -861
  77. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +0 -1
  78. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js +0 -279
  79. package/dist/lib/rendering/render-managers/tilesets/tileset-entities-render-manager.js.map +0 -1
  80. package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js +0 -104
  81. package/dist/lib/rendering/render-managers/tilesets/tileset-google-photos-render-manager.js.map +0 -1
  82. package/dist/lib/rendering/render-managers/tilesets/tileset-i3s-render-manager.js +0 -81
  83. package/dist/lib/rendering/render-managers/tilesets/tileset-i3s-render-manager.js.map +0 -1
  84. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js +0 -378
  85. package/dist/lib/rendering/render-managers/tilesets/tileset-osm-render-manager.js.map +0 -1
  86. package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js +0 -140
  87. package/dist/lib/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.js.map +0 -1
  88. package/dist/lib/rendering/tile-render-engine.js +0 -1328
  89. package/dist/lib/rendering/tile-render-engine.js.map +0 -1
  90. package/dist/lib/rendering/tileset-render-engine.js +0 -588
  91. package/dist/lib/rendering/tileset-render-engine.js.map +0 -1
  92. package/dist/lib/rendering/tileset-styler.js +0 -590
  93. package/dist/lib/rendering/tileset-styler.js.map +0 -1
  94. package/dist/lib/rendering/view-render-engine.js +0 -1004
  95. package/dist/lib/rendering/view-render-engine.js.map +0 -1
  96. package/dist/lib/rendering/visual-register-culler.js +0 -676
  97. package/dist/lib/rendering/visual-register-culler.js.map +0 -1
  98. package/dist/lib/rendering/visuals-register.js +0 -1695
  99. package/dist/lib/rendering/visuals-register.js.map +0 -1
  100. package/dist/lib/utils/cesium-entity-styler.js +0 -915
  101. package/dist/lib/utils/cesium-entity-styler.js.map +0 -1
  102. package/dist/lib/utils/drawing-utils.js +0 -308
  103. package/dist/lib/utils/drawing-utils.js.map +0 -1
  104. package/dist/lib/utils/entity-utils.js +0 -1382
  105. package/dist/lib/utils/entity-utils.js.map +0 -1
  106. package/dist/lib/utils/measure-utils.js +0 -73
  107. package/dist/lib/utils/measure-utils.js.map +0 -1
  108. package/dist/lib/utils/simplify-geometry.js +0 -323
  109. package/dist/lib/utils/simplify-geometry.js.map +0 -1
  110. package/dist/lib/utils/view-utils.js +0 -392
  111. package/dist/lib/utils/view-utils.js.map +0 -1
  112. package/dist/lib/viewer/cesium-view-monitor.js +0 -393
  113. package/dist/lib/viewer/cesium-view-monitor.js.map +0 -1
  114. package/dist/lib/viewer/viewer-event-tracker.js +0 -70
  115. package/dist/lib/viewer/viewer-event-tracker.js.map +0 -1
  116. package/dist/lib/viewer/viewer-utils.js +0 -310
  117. package/dist/lib/viewer/viewer-utils.js.map +0 -1
  118. package/dist/lib/widgets/common/draw-3d-polygon.js +0 -458
  119. package/dist/lib/widgets/common/draw-3d-polygon.js.map +0 -1
  120. package/dist/lib/widgets/common/draw-3d-polyline.js +0 -415
  121. package/dist/lib/widgets/common/draw-3d-polyline.js.map +0 -1
  122. package/dist/lib/widgets/common/measure-creator.js +0 -468
  123. package/dist/lib/widgets/common/measure-creator.js.map +0 -1
  124. package/dist/lib/widgets/common/walkthrough.js +0 -336
  125. package/dist/lib/widgets/common/walkthrough.js.map +0 -1
  126. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-fullscreen.js +0 -36
  127. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-fullscreen.js.map +0 -1
  128. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-search.js +0 -437
  129. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar-search.js.map +0 -1
  130. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar.js +0 -38
  131. package/dist/lib/widgets/controls-view-bar/widget-control-view-bar.js.map +0 -1
  132. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.js +0 -219
  133. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.js.map +0 -1
  134. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-user.js +0 -304
  135. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab-user.js.map +0 -1
  136. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab.js +0 -29
  137. package/dist/lib/widgets/tabs-left-panel/widget-left-panel-tab.js.map +0 -1
  138. package/dist/lib/widgets/widget-bookmarks.js +0 -497
  139. package/dist/lib/widgets/widget-bookmarks.js.map +0 -1
  140. package/dist/lib/widgets/widget-branding.js +0 -165
  141. package/dist/lib/widgets/widget-branding.js.map +0 -1
  142. package/dist/lib/widgets/widget-cursorbar.js +0 -1179
  143. package/dist/lib/widgets/widget-cursorbar.js.map +0 -1
  144. package/dist/lib/widgets/widget-embedded-info-view.js +0 -201
  145. package/dist/lib/widgets/widget-embedded-info-view.js.map +0 -1
  146. package/dist/lib/widgets/widget-info-view.js +0 -681
  147. package/dist/lib/widgets/widget-info-view.js.map +0 -1
  148. package/dist/lib/widgets/widget-left-panel.js +0 -548
  149. package/dist/lib/widgets/widget-left-panel.js.map +0 -1
  150. package/dist/lib/widgets/widget-nav-compass.js +0 -469
  151. package/dist/lib/widgets/widget-nav-compass.js.map +0 -1
  152. package/dist/lib/widgets/widget-view-bar.js +0 -284
  153. package/dist/lib/widgets/widget-view-bar.js.map +0 -1
  154. package/dist/lib/widgets/widget.js +0 -66
  155. package/dist/lib/widgets/widget.js.map +0 -1
  156. package/dist/types/bruce-cesium.d.ts +0 -58
  157. package/dist/types/internal/cesium-utils.d.ts +0 -23
  158. package/dist/types/internal/js-utils.d.ts +0 -8
  159. package/dist/types/internal/limited-log.d.ts +0 -6
  160. package/dist/types/rendering/cesium-animated-in-out.d.ts +0 -12
  161. package/dist/types/rendering/cesium-animated-property.d.ts +0 -245
  162. package/dist/types/rendering/entity-gatherer.d.ts +0 -36
  163. package/dist/types/rendering/entity-render-engine-model3d.d.ts +0 -56
  164. package/dist/types/rendering/entity-render-engine-point.d.ts +0 -73
  165. package/dist/types/rendering/entity-render-engine-polygon.d.ts +0 -26
  166. package/dist/types/rendering/entity-render-engine-polyline.d.ts +0 -47
  167. package/dist/types/rendering/entity-render-engine.d.ts +0 -108
  168. package/dist/types/rendering/getters/batched-data-getter.d.ts +0 -28
  169. package/dist/types/rendering/getters/entity-filter-getter.d.ts +0 -104
  170. package/dist/types/rendering/getters/entity-globe.d.ts +0 -21
  171. package/dist/types/rendering/menu-item-creator.d.ts +0 -53
  172. package/dist/types/rendering/menu-item-manager.d.ts +0 -85
  173. package/dist/types/rendering/relation-render-engine.d.ts +0 -32
  174. package/dist/types/rendering/render-managers/common/cesium-parabola.d.ts +0 -39
  175. package/dist/types/rendering/render-managers/common/entity-label.d.ts +0 -82
  176. package/dist/types/rendering/render-managers/common/point-clustering.d.ts +0 -91
  177. package/dist/types/rendering/render-managers/common/shared-getters.d.ts +0 -41
  178. package/dist/types/rendering/render-managers/data-source/data-source-static-csv-manager.d.ts +0 -41
  179. package/dist/types/rendering/render-managers/data-source/data-source-static-kml-manager.d.ts +0 -25
  180. package/dist/types/rendering/render-managers/entities/entities-datalab-render-manager.d.ts +0 -31
  181. package/dist/types/rendering/render-managers/entities/entities-ids-render-manager.d.ts +0 -76
  182. package/dist/types/rendering/render-managers/entities/entities-loaded-render-manager.d.ts +0 -90
  183. package/dist/types/rendering/render-managers/entities/entities-render-manager.d.ts +0 -90
  184. package/dist/types/rendering/render-managers/entities/entity-render-manager.d.ts +0 -42
  185. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +0 -38
  186. package/dist/types/rendering/render-managers/other/google-search-render-manager.d.ts +0 -45
  187. package/dist/types/rendering/render-managers/other/legacy-relations-render-manager.d.ts +0 -60
  188. package/dist/types/rendering/render-managers/other/relations-render-manager.d.ts +0 -53
  189. package/dist/types/rendering/render-managers/render-manager.d.ts +0 -30
  190. package/dist/types/rendering/render-managers/tilesets/tileset-arb-render-manager.d.ts +0 -37
  191. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +0 -86
  192. package/dist/types/rendering/render-managers/tilesets/tileset-entities-render-manager.d.ts +0 -41
  193. package/dist/types/rendering/render-managers/tilesets/tileset-google-photos-render-manager.d.ts +0 -26
  194. package/dist/types/rendering/render-managers/tilesets/tileset-i3s-render-manager.d.ts +0 -25
  195. package/dist/types/rendering/render-managers/tilesets/tileset-osm-render-manager.d.ts +0 -48
  196. package/dist/types/rendering/render-managers/tilesets/tileset-pointcloud-render-manager.d.ts +0 -27
  197. package/dist/types/rendering/tile-render-engine.d.ts +0 -80
  198. package/dist/types/rendering/tileset-render-engine.d.ts +0 -99
  199. package/dist/types/rendering/tileset-styler.d.ts +0 -86
  200. package/dist/types/rendering/view-render-engine.d.ts +0 -32
  201. package/dist/types/rendering/visual-register-culler.d.ts +0 -18
  202. package/dist/types/rendering/visuals-register.d.ts +0 -351
  203. package/dist/types/utils/cesium-entity-styler.d.ts +0 -103
  204. package/dist/types/utils/drawing-utils.d.ts +0 -59
  205. package/dist/types/utils/entity-utils.d.ts +0 -133
  206. package/dist/types/utils/measure-utils.d.ts +0 -20
  207. package/dist/types/utils/simplify-geometry.d.ts +0 -19
  208. package/dist/types/utils/view-utils.d.ts +0 -101
  209. package/dist/types/viewer/cesium-view-monitor.d.ts +0 -35
  210. package/dist/types/viewer/viewer-event-tracker.d.ts +0 -47
  211. package/dist/types/viewer/viewer-utils.d.ts +0 -88
  212. package/dist/types/widgets/common/draw-3d-polygon.d.ts +0 -62
  213. package/dist/types/widgets/common/draw-3d-polyline.d.ts +0 -50
  214. package/dist/types/widgets/common/measure-creator.d.ts +0 -60
  215. package/dist/types/widgets/common/walkthrough.d.ts +0 -37
  216. package/dist/types/widgets/controls-view-bar/widget-control-view-bar-fullscreen.d.ts +0 -10
  217. package/dist/types/widgets/controls-view-bar/widget-control-view-bar-search.d.ts +0 -18
  218. package/dist/types/widgets/controls-view-bar/widget-control-view-bar.d.ts +0 -23
  219. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-bookmarks.d.ts +0 -11
  220. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab-user.d.ts +0 -24
  221. package/dist/types/widgets/tabs-left-panel/widget-left-panel-tab.d.ts +0 -17
  222. package/dist/types/widgets/widget-bookmarks.d.ts +0 -40
  223. package/dist/types/widgets/widget-branding.d.ts +0 -15
  224. package/dist/types/widgets/widget-cursorbar.d.ts +0 -48
  225. package/dist/types/widgets/widget-embedded-info-view.d.ts +0 -13
  226. package/dist/types/widgets/widget-info-view.d.ts +0 -21
  227. package/dist/types/widgets/widget-left-panel.d.ts +0 -73
  228. package/dist/types/widgets/widget-nav-compass.d.ts +0 -27
  229. package/dist/types/widgets/widget-view-bar.d.ts +0 -37
  230. package/dist/types/widgets/widget.d.ts +0 -29
@@ -1,689 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntityRenderEngineModel3d = void 0;
4
- const bruce_models_1 = require("bruce-models");
5
- const cesium_animated_property_1 = require("./cesium-animated-property");
6
- const Cesium = require("cesium");
7
- const entity_render_engine_1 = require("./entity-render-engine");
8
- const entity_utils_1 = require("../utils/entity-utils");
9
- const js_utils_1 = require("../internal/js-utils");
10
- const cesium_utils_1 = require("../internal/cesium-utils");
11
- const cesium_entity_styler_1 = require("../utils/cesium-entity-styler");
12
- const visual_register_culler_1 = require("./visual-register-culler");
13
- /**
14
- * Handles 3D model rendering.
15
- */
16
- var EntityRenderEngineModel3d;
17
- (function (EntityRenderEngineModel3d) {
18
- /**
19
- * Renders a single 3D model entity.
20
- * This takes an optional prior Cesium Entity to update rather than create from scratch.
21
- * @param params
22
- * @returns
23
- */
24
- function Render(params) {
25
- var _a, _b;
26
- const entity = params.entity;
27
- if (!params.entityHistoric) {
28
- params.entityHistoric = [];
29
- }
30
- const transform = bruce_models_1.Entity.GetValue({
31
- entity: entity,
32
- path: ["Bruce", "Transform"]
33
- });
34
- let heading = (0, js_utils_1.EnsureNumber)(transform === null || transform === void 0 ? void 0 : transform.heading);
35
- heading = (heading + 90) % 360;
36
- const pitch = (0, js_utils_1.EnsureNumber)(transform === null || transform === void 0 ? void 0 : transform.pitch);
37
- const roll = (0, js_utils_1.EnsureNumber)(transform === null || transform === void 0 ? void 0 : transform.roll);
38
- let scale = (0, js_utils_1.EnsureNumber)(transform === null || transform === void 0 ? void 0 : transform.scale, 1);
39
- if (scale <= 0) {
40
- scale = 1;
41
- }
42
- const style = params.style;
43
- let styleScale = (style === null || style === void 0 ? void 0 : style.scale) ? bruce_models_1.Calculator.GetNumber(style === null || style === void 0 ? void 0 : style.scale, entity, params.tags) : null;
44
- styleScale = (0, js_utils_1.EnsureNumber)(styleScale ? styleScale : 1);
45
- if (styleScale <= 0) {
46
- styleScale = 1;
47
- }
48
- let heightRef = getHeightRef(style, Cesium.HeightReference.RELATIVE_TO_GROUND);
49
- let pos3d = entity_utils_1.EntityUtils.GetPos({
50
- viewer: params.viewer,
51
- entity,
52
- recordHeightRef: heightRef,
53
- returnHeightRef: heightRef,
54
- allowRendered: false
55
- });
56
- let blendMode = null;
57
- let blendAmount = null;
58
- let color = null;
59
- if (style === null || style === void 0 ? void 0 : style.customize) {
60
- blendMode = style.fillColorBlendMode;
61
- if (!blendMode) {
62
- blendMode = Cesium.ColorBlendMode.HIGHLIGHT;
63
- }
64
- if (blendMode == Cesium.ColorBlendMode.MIX) {
65
- blendAmount = style.fillColorBlendAmount;
66
- if (!blendAmount) {
67
- blendAmount = 0.5;
68
- }
69
- }
70
- const bColor = bruce_models_1.Calculator.GetColor(style.fillColor, entity, params.tags);
71
- if (bColor) {
72
- color = (0, cesium_utils_1.ColorToCColor)(bColor);
73
- }
74
- }
75
- let siblings = [];
76
- let animateScale = null;
77
- let animatePosition = null;
78
- let shouldShowTrack = false;
79
- const prepareExistingGraphic = (cEntity, maxSiblings = 0) => {
80
- // Gather entity in case previous version had sibling graphics we no longer need.
81
- const parts = entity_utils_1.EntityUtils.GatherEntity({
82
- entity: cEntity,
83
- });
84
- if (parts.length > 1) {
85
- // We'll cull all except the allowed number of siblings.
86
- cEntity._siblingGraphics = cEntity._siblingGraphics.slice(0, maxSiblings);
87
- // We'll remove all that aren't in the allowed (direct) list.
88
- for (let i = 0; i < parts.length - 1; i++) {
89
- const part = parts[i];
90
- if (part && part instanceof Cesium.Entity && params.viewer.entities.contains(part) && !cEntity._siblingGraphics.includes(part)) {
91
- params.viewer.entities.remove(part);
92
- }
93
- }
94
- if (cEntity._parentEntity) {
95
- console.warn("Point.Render: Parent entity was not null. This should not happen.");
96
- }
97
- }
98
- siblings = cEntity._siblingGraphics;
99
- cEntity._siblingGraphics = [];
100
- };
101
- const updateShouldShowTrack = () => {
102
- var _a, _b, _c;
103
- if (!params.entityHistoricDrawTrack) {
104
- return;
105
- }
106
- if ((_a = params.entityHistoric) === null || _a === void 0 ? void 0 : _a.length) {
107
- const lStyle = (_c = (_b = params.fullStyle) === null || _b === void 0 ? void 0 : _b.polylineStyle) !== null && _c !== void 0 ? _c : {};
108
- let width = lStyle.width ? (0, js_utils_1.EnsureNumber)(bruce_models_1.Calculator.GetNumber(lStyle.width, entity, params.tags)) : 2;
109
- if (width == null) {
110
- width = 2;
111
- }
112
- width = (0, js_utils_1.EnsureNumber)(width);
113
- if (width > 0.01) {
114
- const bColor = lStyle.lineColor ? bruce_models_1.Calculator.GetColor(lStyle.lineColor, entity, params.tags) : null;
115
- const cColor = bColor ? (0, cesium_utils_1.ColorToCColor)(bColor) : Cesium.Color.fromCssColorString("rgba(255, 193, 7, 0.8)");
116
- if (cColor.alpha > 0) {
117
- const seriesTrackPosses = cesium_animated_property_1.CesiumAnimatedProperty.GetSeriesPossesForHistoricEntity(params.viewer, heightRef, heightRef, params.entityHistoric);
118
- seriesTrackPosses.reverse();
119
- let posses = seriesTrackPosses.map(x => x.pos3d);
120
- posses = (0, cesium_utils_1.CullDuplicateCPosses)(posses);
121
- shouldShowTrack = posses.length > 1;
122
- }
123
- }
124
- }
125
- ;
126
- };
127
- let cEntity = params.rendered;
128
- if (!cEntity || !cEntity.model) {
129
- updateShouldShowTrack();
130
- if (!color) {
131
- color = Cesium.Color.WHITE.clone();
132
- }
133
- const animateColor = new cesium_animated_property_1.CesiumAnimatedProperty.AnimateColor({
134
- durationMs: 1500,
135
- targetColor: color,
136
- startColor: color.clone().withAlpha(0.001),
137
- viewer: params.viewer
138
- });
139
- let position = null;
140
- // If we have a series of time-based positions then we'll animate as time changes.
141
- const series = cesium_animated_property_1.CesiumAnimatedProperty.GetSeriesPossesForHistoricEntity(params.viewer, heightRef, heightRef, params.entityHistoric);
142
- if (series.length > 1) {
143
- animatePosition = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries({
144
- posses: series,
145
- viewer: params.viewer,
146
- pitch: pitch,
147
- roll: roll
148
- });
149
- position = new Cesium.CallbackProperty(() => animatePosition.GetValue(), false);
150
- position["CesiumAnimatedProperty.AnimatePositionSeries"] = animatePosition;
151
- }
152
- else {
153
- position = new Cesium.CallbackProperty(() => entity_utils_1.EntityUtils.GetPos({
154
- viewer: params.viewer,
155
- entity,
156
- recordHeightRef: heightRef,
157
- returnHeightRef: heightRef,
158
- allowRendered: false
159
- }), true);
160
- }
161
- let getOrient;
162
- if (animatePosition && animatePosition instanceof cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries && animatePosition.GetOrient) {
163
- getOrient = new Cesium.CallbackProperty(() => {
164
- return animatePosition.GetOrient();
165
- }, false);
166
- }
167
- else {
168
- const hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
169
- getOrient = new Cesium.CallbackProperty(() => {
170
- return Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
171
- }, false);
172
- }
173
- cEntity = new Cesium.Entity({
174
- id: bruce_models_1.ObjectUtils.UId(15),
175
- model: {
176
- uri: params.lodUrl,
177
- heightReference: heightRef,
178
- scale: new Cesium.CallbackProperty(() => scale * styleScale, true),
179
- shadows: Cesium.ShadowMode.ENABLED,
180
- colorBlendAmount: blendAmount,
181
- colorBlendMode: blendMode,
182
- color: new Cesium.CallbackProperty(() => {
183
- const color = animateColor.GetColor();
184
- if (animateColor.IsDone() && (cEntity === null || cEntity === void 0 ? void 0 : cEntity.model)) {
185
- cEntity.model.color = new Cesium.CallbackProperty(() => color, true);
186
- }
187
- return color;
188
- }, false),
189
- distanceDisplayCondition: entity_render_engine_1.EntityRenderEngine.GetDisplayCondition(params.minDistance, params.maxDistance)
190
- },
191
- orientation: getOrient,
192
- position: position,
193
- show: true
194
- });
195
- cesium_entity_styler_1.CesiumEntityStyler.BakeDefaultColor({
196
- entity: cEntity,
197
- viewer: params.viewer,
198
- override: true,
199
- colors: {
200
- "model": color
201
- },
202
- refresh: false
203
- });
204
- }
205
- else {
206
- updateShouldShowTrack();
207
- prepareExistingGraphic(cEntity, shouldShowTrack ? 1 : 0);
208
- const currentUri = (0, cesium_utils_1.GetCValue)(params.viewer, cEntity.model.uri);
209
- if (currentUri != params.lodUrl) {
210
- cEntity.model.uri = new Cesium.ConstantProperty(params.lodUrl);
211
- }
212
- cEntity.model.heightReference = new Cesium.ConstantProperty(heightRef);
213
- cEntity.model.shadows = new Cesium.ConstantProperty(Cesium.ShadowMode.ENABLED);
214
- cEntity.model.colorBlendAmount = new Cesium.ConstantProperty(blendAmount);
215
- cEntity.model.colorBlendMode = new Cesium.ConstantProperty(blendMode);
216
- cEntity.model.distanceDisplayCondition = new Cesium.ConstantProperty(entity_render_engine_1.EntityRenderEngine.GetDisplayCondition(params.minDistance, params.maxDistance));
217
- const prevPos3d = (0, cesium_utils_1.GetCValue)(params.viewer, cEntity.position);
218
- let prevStartTime = null;
219
- if (cEntity.position && cEntity.position["CesiumAnimatedProperty.AnimatePositionSeries"]) {
220
- prevStartTime = cEntity.position["CesiumAnimatedProperty.AnimatePositionSeries"].GetAnimateFromDateTime();
221
- }
222
- // If we have a series of time-based positions then we'll animate as time changes.
223
- const series = cesium_animated_property_1.CesiumAnimatedProperty.GetSeriesPossesForHistoricEntity(params.viewer, heightRef, heightRef, params.entityHistoric);
224
- if (series.length > 1) {
225
- animatePosition = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries({
226
- posses: series,
227
- viewer: params.viewer,
228
- pitch: pitch,
229
- roll: roll,
230
- animateFromPos3d: prevPos3d,
231
- animateFromPos3dTimeStart: prevStartTime
232
- });
233
- cEntity.position = new Cesium.CallbackProperty(() => animatePosition.GetValue(), false);
234
- cEntity.position["CesiumAnimatedProperty.AnimatePositionSeries"] = animatePosition;
235
- }
236
- else {
237
- const posChanged = !prevPos3d || !Cesium.Cartesian3.equals(prevPos3d, pos3d);
238
- if (posChanged) {
239
- animatePosition = new cesium_animated_property_1.CesiumAnimatedProperty.AnimatePosition({
240
- durationMs: 200,
241
- targetPos3d: pos3d,
242
- viewer: params.viewer,
243
- startPos3d: prevPos3d
244
- });
245
- cEntity.position = new Cesium.CallbackProperty(() => animatePosition.GetValue(), false);
246
- }
247
- }
248
- if (animatePosition && animatePosition instanceof cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries && animatePosition.GetOrient) {
249
- cEntity.orientation = new Cesium.CallbackProperty(() => {
250
- return animatePosition.GetOrient();
251
- }, false);
252
- }
253
- else {
254
- const prevHeading = cEntity.model._heading;
255
- if (prevHeading == null || prevHeading == heading || isNaN(prevHeading)) {
256
- const hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(heading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
257
- const orient = Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
258
- cEntity.orientation = new Cesium.CallbackProperty(() => orient, true);
259
- }
260
- // Animate orientation. We'll calculate the heading based on movement.
261
- else {
262
- const animateHeading = new cesium_animated_property_1.CesiumAnimatedProperty.AnimateHeading({
263
- durationMs: 200,
264
- targetHeading: heading,
265
- viewer: params.viewer,
266
- startHeading: prevHeading
267
- });
268
- cEntity.orientation = new Cesium.CallbackProperty(() => {
269
- const calcHeading = animateHeading.GetValue();
270
- const hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(calcHeading), Cesium.Math.toRadians(pitch), Cesium.Math.toRadians(roll));
271
- const orient = Cesium.Transforms.headingPitchRollQuaternion(pos3d, hpr);
272
- // We'll stop the costly animation if it's done.
273
- if (animateHeading.IsDone()) {
274
- cEntity.orientation = new Cesium.ConstantProperty(orient);
275
- }
276
- return orient;
277
- }, false);
278
- }
279
- }
280
- // Same file but different scale. We'll animate the scale.
281
- const prevClientFileId = cEntity.model._clientFileId;
282
- if (prevClientFileId == params.lodClientFileId) {
283
- animateScale = new cesium_animated_property_1.CesiumAnimatedProperty.AnimateNumber({
284
- durationMs: 200,
285
- targetValue: scale * styleScale,
286
- viewer: params.viewer,
287
- startValue: cEntity.model.scale,
288
- startPaused: true
289
- });
290
- cEntity.model.scale = new Cesium.CallbackProperty(() => animateScale.GetValue(), false);
291
- }
292
- else {
293
- cEntity.model.scale = new Cesium.CallbackProperty(() => scale * styleScale, true);
294
- }
295
- // We'll use "SetDefaultColor" to updating the internal reference and to allow for an animation.
296
- // cEntity.model.color = new Cesium.CallbackProperty(() => color, true);
297
- cesium_entity_styler_1.CesiumEntityStyler.SetDefaultColor({
298
- color: color ? color : new Cesium.Color(),
299
- entity: cEntity,
300
- viewer: params.viewer,
301
- override: true,
302
- requestRender: false
303
- });
304
- cEntity.show = true;
305
- }
306
- const fileRadiusKey = `model3d_${params.lodUrl}_${scale * styleScale}_radius`;
307
- let heightProm = _fileRadiusCache.Get(fileRadiusKey);
308
- if (!heightProm) {
309
- heightProm = new Promise(async (res) => {
310
- try {
311
- // We'll have an async secondary model created for calculating boundaries.
312
- // Once calculated we remove it.
313
- const modelPrim = await getModelEntity(params.lodUrl, scale * styleScale);
314
- const onReady = () => {
315
- readyEventRemoval === null || readyEventRemoval === void 0 ? void 0 : readyEventRemoval();
316
- readyEventRemoval = null;
317
- const kill = () => {
318
- if (params.viewer && !params.viewer.isDestroyed() && params.viewer.scene.primitives.contains(modelPrim)) {
319
- params.viewer.scene.primitives.remove(modelPrim);
320
- }
321
- if (!modelPrim.isDestroyed()) {
322
- modelPrim.destroy();
323
- }
324
- };
325
- if (!cEntity || !(modelPrim === null || modelPrim === void 0 ? void 0 : modelPrim.boundingSphere)) {
326
- kill();
327
- res(null);
328
- return;
329
- }
330
- let radius = modelPrim.boundingSphere.radius;
331
- let centerOffset = modelPrim.boundingSphere.center;
332
- if (centerOffset) {
333
- // Add the center offset to the radius because I am not good at math.
334
- const magnitude = Cesium.Cartesian3.magnitude(centerOffset);
335
- radius += magnitude;
336
- // Extra padding if the model is super not centered.
337
- // I saw some strange boundaries for some bad models.
338
- if (magnitude > 100) {
339
- radius += 100;
340
- }
341
- }
342
- kill();
343
- res(radius);
344
- };
345
- let readyEventRemoval = null;
346
- // Newer Cesium versions have readyEvent. They don't use readyPromise.
347
- if (modelPrim["readyEvent"]) {
348
- modelPrim["readyEvent"].addEventListener(onReady);
349
- }
350
- // Older Cesium versions don't have readyEvent, they use readyPromise.
351
- else if (modelPrim["readyPromise"]) {
352
- modelPrim["readyPromise"].then(() => {
353
- onReady();
354
- }).catch((e) => {
355
- console.error(e);
356
- res(null);
357
- });
358
- }
359
- params.viewer.scene.primitives.add(modelPrim);
360
- }
361
- catch (e) {
362
- console.error(e);
363
- res(null);
364
- }
365
- });
366
- _fileRadiusCache.Set(fileRadiusKey, heightProm);
367
- }
368
- heightProm.then((radius) => {
369
- if (model) {
370
- model._radius = radius;
371
- model._radiusLoaded = true;
372
- if (params.viewer && params.viewer.scene && !params.viewer.isDestroyed()) {
373
- visual_register_culler_1.VisualRegisterCuller.MarkShouldRecheck(params.viewer);
374
- }
375
- }
376
- // Rough estimate on when the model is ready in the scene.
377
- if (animateScale) {
378
- animateScale.Play();
379
- }
380
- });
381
- const model = cEntity.model;
382
- model._radiusLoaded = false;
383
- model._clientFileId = params.lodClientFileId;
384
- model._entityScale = {
385
- record: scale,
386
- style: styleScale
387
- };
388
- model._heading = heading;
389
- // Generate a polyline 'track' for the historic data.
390
- // We do this for historic data that exists and is moving.
391
- if (shouldShowTrack && animatePosition && animatePosition instanceof cesium_animated_property_1.CesiumAnimatedProperty.AnimatePositionSeries && animatePosition.GetSeries) {
392
- const lStyle = (_b = (_a = params.fullStyle) === null || _a === void 0 ? void 0 : _a.polylineStyle) !== null && _b !== void 0 ? _b : {};
393
- const bColor = lStyle.lineColor ? bruce_models_1.Calculator.GetColor(lStyle.lineColor, entity, params.tags) : null;
394
- const cColor = bColor ? (0, cesium_utils_1.ColorToCColor)(bColor) : Cesium.Color.fromCssColorString("rgba(255, 193, 7, 0.8)");
395
- let width = lStyle.lineWidth ? (0, js_utils_1.EnsureNumber)(bruce_models_1.Calculator.GetNumber(lStyle.lineWidth, entity, params.tags)) : 2;
396
- if (width == null) {
397
- width = 2;
398
- }
399
- width = (0, js_utils_1.EnsureNumber)(width);
400
- const lHeightRef = getHeightRef(lStyle, heightRef);
401
- let trackEntity = siblings === null || siblings === void 0 ? void 0 : siblings[0];
402
- if (!trackEntity || !trackEntity.polyline) {
403
- trackEntity = new Cesium.Entity({
404
- id: bruce_models_1.ObjectUtils.UId(15),
405
- polyline: {
406
- positions: [],
407
- width: width,
408
- material: cColor,
409
- clampToGround: lHeightRef == Cesium.HeightReference.CLAMP_TO_GROUND,
410
- zIndex: 0,
411
- classificationType: Cesium.ClassificationType.BOTH
412
- }
413
- });
414
- // Visual was updated in a way that needs a full refresh.
415
- if (params.rego) {
416
- params.rego.stale = true;
417
- }
418
- }
419
- trackEntity._parentEntity = null;
420
- trackEntity._noEdit = true;
421
- trackEntity.polyline.positions = new Cesium.CallbackProperty(() => {
422
- return animatePosition.GetSeries();
423
- }, false);
424
- // We'll use "SetDefaultColor" to updating the internal reference and to allow for an animation.
425
- // WARNING: polyline does not support animation (yet?).
426
- cesium_entity_styler_1.CesiumEntityStyler.SetDefaultColor({
427
- color: cColor,
428
- entity: trackEntity,
429
- viewer: params.viewer,
430
- override: true,
431
- requestRender: false
432
- });
433
- siblings.push(trackEntity);
434
- trackEntity._parentEntity = cEntity;
435
- }
436
- cEntity._siblingGraphics = siblings;
437
- return cEntity;
438
- }
439
- EntityRenderEngineModel3d.Render = Render;
440
- /**
441
- * Renders a group of 3D model Entities.
442
- * This will take an optional set of prior rendered Cesium Entities to update rather than create from scratch.
443
- * @param params
444
- * @returns
445
- */
446
- async function RenderGroup(params) {
447
- var _a, _b, _c, _d, _e, _f, _g;
448
- const api = params.apiGetter.getApi();
449
- await api.Loading;
450
- const cEntities = new Map();
451
- const reqBody = {
452
- "strict": false,
453
- "externalSources": false,
454
- "Items": []
455
- };
456
- for (let i = 0; i < params.entities.length; i++) {
457
- const entity = params.entities[i];
458
- const zoomItem = params.zoomItems[entity.Bruce.ID];
459
- const style = zoomItem.StyleID != -1 ? (_a = (await getStyle(api, entity, zoomItem.StyleID))) === null || _a === void 0 ? void 0 : _a.Settings : zoomItem.Style;
460
- const tagIds = entity.Bruce["Layer.ID"];
461
- let tags = [];
462
- if (tagIds && tagIds.length > 0) {
463
- tags = (await bruce_models_1.EntityTag.GetListByIds({
464
- api,
465
- tagIds
466
- })).tags;
467
- }
468
- const mStyle = (_b = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _b !== void 0 ? _b : {};
469
- let group = mStyle.lodGroup ? bruce_models_1.Calculator.GetString(mStyle.lodGroup, entity, tags) : null;
470
- if (!group) {
471
- group = "DEFAULT";
472
- }
473
- let level = +zoomItem.LODLevel;
474
- if (!level) {
475
- level = 0;
476
- }
477
- let catId = zoomItem.LODCategoryID;
478
- if (!catId) {
479
- catId = "glb";
480
- }
481
- reqBody.Items.push({
482
- "entityId": entity.Bruce.ID,
483
- "categoryId": catId,
484
- "group": group,
485
- "level": level
486
- });
487
- }
488
- const { lods: lodData } = await bruce_models_1.EntityLod.GetLods({
489
- api,
490
- filter: reqBody
491
- });
492
- for (let i = 0; i < params.entities.length; i++) {
493
- const entity = params.entities[i];
494
- const zoomItem = params.zoomItems[entity.Bruce.ID];
495
- const style = zoomItem.StyleID != -1 ? (_c = (await getStyle(api, entity, zoomItem.StyleID))) === null || _c === void 0 ? void 0 : _c.Settings : zoomItem.Style;
496
- const tagIds = entity.Bruce["Layer.ID"];
497
- let tags = [];
498
- if (tagIds && tagIds.length > 0) {
499
- tags = (await bruce_models_1.EntityTag.GetListByIds({
500
- api,
501
- tagIds
502
- })).tags;
503
- }
504
- const lod = lodData.find(x => x.entityId == entity.Bruce.ID);
505
- if (!(lod === null || lod === void 0 ? void 0 : lod.clientFileId)) {
506
- continue;
507
- }
508
- let rego = null;
509
- // Only used for historic tracks right now.
510
- // So won't bother getting it if we don't have historic data.
511
- if ((_d = params.entitiesHistoric) === null || _d === void 0 ? void 0 : _d[entity.Bruce.ID]) {
512
- rego = params.visualRegister.GetRego({
513
- entityId: entity.Bruce.ID,
514
- menuItemId: params.menuItemId
515
- });
516
- }
517
- const mStyle = (_e = style === null || style === void 0 ? void 0 : style.modelStyle) !== null && _e !== void 0 ? _e : {};
518
- const cEntity = Render({
519
- rendered: (_f = params.rendered) === null || _f === void 0 ? void 0 : _f.get(entity.Bruce.ID),
520
- entity: entity,
521
- entityHistoric: (_g = params.entitiesHistoric) === null || _g === void 0 ? void 0 : _g[entity.Bruce.ID],
522
- style: mStyle,
523
- tags: tags,
524
- viewer: params.viewer,
525
- lodUrl: bruce_models_1.ClientFile.GetUrl({
526
- api,
527
- fileId: lod.clientFileId,
528
- viaCdn: true
529
- }),
530
- lodClientFileId: lod.clientFileId,
531
- maxDistance: zoomItem.MaxZoom,
532
- minDistance: zoomItem.MinZoom,
533
- fullStyle: style,
534
- entityHistoricDrawTrack: params.entityHistoricDrawTrack,
535
- rego: rego
536
- });
537
- if (cEntity) {
538
- const name = await getName(api, entity);
539
- cEntity.name = name;
540
- cEntity._renderGroup = entity_render_engine_1.EntityRenderEngine.GetRenderGroupId(zoomItem);
541
- cEntities.set(entity.Bruce.ID, cEntity);
542
- }
543
- }
544
- return cEntities;
545
- }
546
- EntityRenderEngineModel3d.RenderGroup = RenderGroup;
547
- })(EntityRenderEngineModel3d = exports.EntityRenderEngineModel3d || (exports.EntityRenderEngineModel3d = {}));
548
- function getHeightRef(style, defaultStyle) {
549
- var _a;
550
- let heightRef = defaultStyle == null ? Cesium.HeightReference.CLAMP_TO_GROUND : defaultStyle;
551
- const altOptionId = (_a = style === null || style === void 0 ? void 0 : style.altitudeOption) === null || _a === void 0 ? void 0 : _a.id;
552
- if (altOptionId == 0) {
553
- heightRef = Cesium.HeightReference.CLAMP_TO_GROUND;
554
- }
555
- else if (altOptionId == 1) {
556
- heightRef = Cesium.HeightReference.NONE;
557
- }
558
- else if (altOptionId == 2) {
559
- heightRef = Cesium.HeightReference.RELATIVE_TO_GROUND;
560
- }
561
- return heightRef;
562
- }
563
- async function getName(api, entity) {
564
- try {
565
- const typeId = entity.Bruce["EntityType.ID"];
566
- let type = null;
567
- if (typeId) {
568
- type = (await bruce_models_1.EntityType.Get({
569
- api,
570
- entityTypeId: typeId
571
- })).entityType;
572
- }
573
- if (type) {
574
- const name = bruce_models_1.Entity.CalculateName({
575
- entity,
576
- type,
577
- defaultToId: false
578
- });
579
- return name ? name : "Unnamed Entity";
580
- }
581
- }
582
- catch (e) {
583
- let hideError = false;
584
- // TODO: we need a util for extracting code + message rather than writing all this every time.
585
- if (e && typeof e == "object" && e.ERROR) {
586
- const error = e.ERROR;
587
- const code = error && typeof error == "object" ? error.Code : "";
588
- // Avoiding logging a common error.
589
- // This happens when rendering entities that don't have records.
590
- hideError = String(code).toLowerCase() == "notfound";
591
- }
592
- if (!hideError) {
593
- console.error(e);
594
- }
595
- }
596
- return "Unknown entity";
597
- }
598
- async function getStyle(api, entity, styleId) {
599
- let style = null;
600
- if (styleId && styleId != -1) {
601
- try {
602
- style = (await bruce_models_1.Style.Get({
603
- api,
604
- styleId
605
- })).style;
606
- }
607
- // Probably deleted.
608
- catch (e) {
609
- console.error(e);
610
- }
611
- }
612
- if (!style) {
613
- const typeId = entity.Bruce["EntityType.ID"];
614
- if (typeId) {
615
- try {
616
- const { entityType: type } = await bruce_models_1.EntityType.Get({
617
- api,
618
- entityTypeId: typeId
619
- });
620
- if (type["DisplaySetting.ID"]) {
621
- try {
622
- style = (await bruce_models_1.Style.Get({
623
- api,
624
- styleId: type["DisplaySetting.ID"]
625
- })).style;
626
- }
627
- catch (e) {
628
- let hideError = false;
629
- // TODO: we need a util for extracting code + message rather than writing all this every time.
630
- if (e && typeof e == "object" && e.ERROR) {
631
- const error = e.ERROR;
632
- const code = error && typeof error == "object" ? error.Code : "";
633
- // Avoiding logging a common error.
634
- // This happens when rendering entities that don't have records.
635
- hideError = String(code).toLowerCase() == "notfound";
636
- }
637
- if (!hideError) {
638
- console.error(e);
639
- }
640
- }
641
- }
642
- }
643
- catch (e) {
644
- let hideError = false;
645
- // TODO: we need a util for extracting code + message rather than writing all this every time.
646
- if (e && typeof e == "object" && e.ERROR) {
647
- const error = e.ERROR;
648
- const code = error && typeof error == "object" ? error.Code : "";
649
- // Avoiding logging a common error.
650
- // This happens when rendering entities that don't have records.
651
- hideError = String(code).toLowerCase() == "notfound";
652
- }
653
- if (!hideError) {
654
- console.error(e);
655
- }
656
- }
657
- }
658
- }
659
- return style;
660
- }
661
- let _fileValidationCache = {};
662
- let _fileHeightCache = {};
663
- // Key = url + scale.
664
- let _fileRadiusCache = new bruce_models_1.LRUCache(1000);
665
- /**
666
- * Util to support both old and newer versions of Cesium for creating 3D model primitives.
667
- * @param url
668
- */
669
- async function getModelEntity(url, scale) {
670
- const CESIUM = Cesium;
671
- // Newer versions of Cesium have a fromGltfAsync method.
672
- if (CESIUM.Model.hasOwnProperty("fromGltfAsync")) {
673
- return await CESIUM.Model.fromGltfAsync({
674
- url: url,
675
- asynchronous: true,
676
- scale: scale
677
- });
678
- }
679
- // Older versions of Cesium have a fromGltf method.
680
- else if (Cesium.Model.hasOwnProperty("fromGltf")) {
681
- return CESIUM.Model.fromGltf({
682
- url: url,
683
- asynchronous: true,
684
- scale: scale
685
- });
686
- }
687
- return null;
688
- }
689
- //# sourceMappingURL=entity-render-engine-model3d.js.map