bruce-cesium 7.6.8 → 7.7.0

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 (30) hide show
  1. package/dist/bruce-cesium.es5.js +17086 -16651
  2. package/dist/bruce-cesium.es5.js.map +1 -1
  3. package/dist/bruce-cesium.umd.js +8503 -8067
  4. package/dist/bruce-cesium.umd.js.map +1 -1
  5. package/dist/lib/bruce-cesium.js +1 -1
  6. package/dist/lib/rendering/menu-item-manager.js +153 -7
  7. package/dist/lib/rendering/menu-item-manager.js.map +1 -1
  8. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js +6 -0
  9. package/dist/lib/rendering/render-managers/other/assembly-render-manager.js.map +1 -1
  10. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js +19 -5
  11. package/dist/lib/rendering/render-managers/tilesets/tileset-cad-render-manager.js.map +1 -1
  12. package/dist/lib/rendering/tileset-render-engine.js +47 -18
  13. package/dist/lib/rendering/tileset-render-engine.js.map +1 -1
  14. package/dist/lib/rendering/view-render-engine.js +58 -63
  15. package/dist/lib/rendering/view-render-engine.js.map +1 -1
  16. package/dist/lib/utils/entity-utils.js +32 -36
  17. package/dist/lib/utils/entity-utils.js.map +1 -1
  18. package/dist/lib/utils/simplify-geometry.js +101 -5
  19. package/dist/lib/utils/simplify-geometry.js.map +1 -1
  20. package/dist/lib/utils/view-utils.js +156 -1
  21. package/dist/lib/utils/view-utils.js.map +1 -1
  22. package/dist/types/bruce-cesium.d.ts +1 -1
  23. package/dist/types/rendering/menu-item-manager.d.ts +24 -1
  24. package/dist/types/rendering/render-managers/other/assembly-render-manager.d.ts +2 -0
  25. package/dist/types/rendering/render-managers/tilesets/tileset-cad-render-manager.d.ts +8 -1
  26. package/dist/types/rendering/tileset-render-engine.d.ts +7 -0
  27. package/dist/types/rendering/view-render-engine.d.ts +6 -0
  28. package/dist/types/utils/simplify-geometry.d.ts +2 -2
  29. package/dist/types/utils/view-utils.d.ts +97 -1
  30. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"simplify-geometry.js","sourceRoot":"","sources":["../../../src/utils/simplify-geometry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simplify-geometry.js","sourceRoot":"","sources":["../../../src/utils/simplify-geometry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ViewUtils = exports.MAX_COMPENSATED_LIGHT_INTENSITY = exports.LIGHT_INTENSITY_COMPENSATION = exports.LIGHTING_SETTINGS_VERSION = exports.DEFAULT_LIGHT_INTENSITY = exports.DEFAULT_BRIGHTNESS_SHIFT = exports.DEFAULT_LIVE_PADDING_SECONDS = exports.CESIUM_MODEL_SPACE_KEY = exports.CESIUM_TIMELINE_INTERVAL_KEY = exports.CESIUM_TIMELINE_LIVE_PADDING_KEY = exports.CESIUM_TIMELINE_LIVE_KEY = exports.CESIUM_TIMELINE_KEY = exports.CESIUM_INSPECTOR_KEY = void 0;
3
+ exports.ViewUtils = exports.MAX_COMPENSATED_LIGHT_INTENSITY = exports.LIGHT_INTENSITY_COMPENSATION = exports.LIGHTING_SETTINGS_VERSION = exports.DEFAULT_LIGHT_INTENSITY = exports.DEFAULT_BRIGHTNESS_SHIFT = exports.DEFAULT_LIVE_PADDING_SECONDS = exports.CESIUM_MODEL_SPACE_POSITIONING_KEY = exports.CESIUM_MODEL_SPACE_KEY = exports.CESIUM_TIMELINE_INTERVAL_KEY = exports.CESIUM_TIMELINE_LIVE_PADDING_KEY = exports.CESIUM_TIMELINE_LIVE_KEY = exports.CESIUM_TIMELINE_KEY = exports.CESIUM_INSPECTOR_KEY = void 0;
4
4
  const bruce_models_1 = require("bruce-models");
5
5
  const Cesium = require("cesium");
6
6
  const cesium_utils_1 = require("../internal/cesium-utils");
@@ -10,6 +10,7 @@ exports.CESIUM_TIMELINE_LIVE_KEY = "_nextspace_timeline_live";
10
10
  exports.CESIUM_TIMELINE_LIVE_PADDING_KEY = "_nextspace_timeline_live_padding";
11
11
  exports.CESIUM_TIMELINE_INTERVAL_KEY = "_nextspace_timeline_interval";
12
12
  exports.CESIUM_MODEL_SPACE_KEY = "_nextspace_model_space";
13
+ exports.CESIUM_MODEL_SPACE_POSITIONING_KEY = "_nextspace_model_space_positioning";
13
14
  exports.DEFAULT_LIVE_PADDING_SECONDS = 30 * 60;
14
15
  // Atmosphere shifts are left alone by default. Tuning against a CAD scene showed the lift washing the
15
16
  // sky without helping models, which are lit by the environment map rather than by the atmosphere.
@@ -560,5 +561,159 @@ var ViewUtils;
560
561
  return Boolean(viewer[exports.CESIUM_MODEL_SPACE_KEY]);
561
562
  }
562
563
  ViewUtils.GetModelSpace = GetModelSpace;
564
+ /**
565
+ * How a model-space scene places what it draws, saved on a bookmark so it keeps the placement it was made with.
566
+ */
567
+ let EModelSpacePositioning;
568
+ (function (EModelSpacePositioning) {
569
+ // Each CAD tileset or Assembly drawn on 0,0 lat/lon by itself, ignoring its offset from its UCS.
570
+ EModelSpacePositioning["Legacy"] = "legacy";
571
+ // Everything drawn where it really is, with one origin, usually a UCS, treated as 0,0,0.
572
+ EModelSpacePositioning["Ucs"] = "ucs";
573
+ })(EModelSpacePositioning = ViewUtils.EModelSpacePositioning || (ViewUtils.EModelSpacePositioning = {}));
574
+ /**
575
+ * Returns the placement a model-space bookmark asks for, legacy when it saved none and shows one item at most.
576
+ * @param settings the bookmark's model-space settings.
577
+ * @param menuItemCount how many CAD tileset and Assembly menu items the bookmark enables.
578
+ */
579
+ function ResolveModelSpacePositioning(settings, menuItemCount) {
580
+ if ((settings === null || settings === void 0 ? void 0 : settings.positioning) === EModelSpacePositioning.Ucs || (settings === null || settings === void 0 ? void 0 : settings.positioning) === EModelSpacePositioning.Legacy) {
581
+ return settings.positioning;
582
+ }
583
+ return menuItemCount > 1 ? EModelSpacePositioning.Ucs : EModelSpacePositioning.Legacy;
584
+ }
585
+ ViewUtils.ResolveModelSpacePositioning = ResolveModelSpacePositioning;
586
+ /**
587
+ * Sets how model-space places what it draws, without moving what is drawn; see MenuItemManager for that.
588
+ * @param viewer
589
+ * @param positioning
590
+ * @param origin the geospatial point treated as 0,0,0, see MenuItemManager.ResolveModelSpaceOrigin.
591
+ */
592
+ function SetModelSpacePositioning(viewer, positioning, origin) {
593
+ if (!viewer) {
594
+ return;
595
+ }
596
+ const state = {
597
+ positioning: positioning !== null && positioning !== void 0 ? positioning : EModelSpacePositioning.Legacy,
598
+ origin: bruce_models_1.Carto.ValidateCarto(origin) ? {
599
+ latitude: Number(origin.latitude),
600
+ longitude: Number(origin.longitude),
601
+ altitude: Number(origin.altitude) || 0
602
+ } : null
603
+ };
604
+ viewer[exports.CESIUM_MODEL_SPACE_POSITIONING_KEY] = state;
605
+ }
606
+ ViewUtils.SetModelSpacePositioning = SetModelSpacePositioning;
607
+ /**
608
+ * Returns how model-space places what it draws, or null when the viewer is not in model-space.
609
+ * @param viewer
610
+ */
611
+ function GetModelSpacePositioning(viewer) {
612
+ var _a;
613
+ if (!GetModelSpace(viewer)) {
614
+ return null;
615
+ }
616
+ const state = viewer[exports.CESIUM_MODEL_SPACE_POSITIONING_KEY];
617
+ return (_a = state === null || state === void 0 ? void 0 : state.positioning) !== null && _a !== void 0 ? _a : EModelSpacePositioning.Legacy;
618
+ }
619
+ ViewUtils.GetModelSpacePositioning = GetModelSpacePositioning;
620
+ /**
621
+ * Returns whether model-space draws everything where it is and treats an origin as 0,0,0.
622
+ * @param viewer
623
+ */
624
+ function IsModelSpaceUcs(viewer) {
625
+ return GetModelSpacePositioning(viewer) === EModelSpacePositioning.Ucs;
626
+ }
627
+ ViewUtils.IsModelSpaceUcs = IsModelSpaceUcs;
628
+ /**
629
+ * Returns the geospatial point treated as 0,0,0, or null when nothing names one and 0,0 lat/lon is used.
630
+ * @param viewer
631
+ */
632
+ function GetModelSpaceOrigin(viewer) {
633
+ const state = viewer === null || viewer === void 0 ? void 0 : viewer[exports.CESIUM_MODEL_SPACE_POSITIONING_KEY];
634
+ return (state === null || state === void 0 ? void 0 : state.origin) ? { ...state.origin } : null;
635
+ }
636
+ ViewUtils.GetModelSpaceOrigin = GetModelSpaceOrigin;
637
+ /**
638
+ * Returns the camera's position and turn in model-space terms, eg. to keep the same view of another origin.
639
+ * @param viewer
640
+ */
641
+ function GetModelSpaceCamera(viewer) {
642
+ const point = ModelSpaceFromPos3d(viewer, viewer.camera.position);
643
+ return {
644
+ ...point,
645
+ heading: Cesium.Math.toDegrees(Number(viewer.camera.heading) || 0),
646
+ pitch: Cesium.Math.toDegrees(Number(viewer.camera.pitch) || 0),
647
+ roll: Cesium.Math.toDegrees(Number(viewer.camera.roll) || 0)
648
+ };
649
+ }
650
+ ViewUtils.GetModelSpaceCamera = GetModelSpaceCamera;
651
+ /**
652
+ * Describes how a CAD tileset or Assembly is placed, which UCS placement does the same whatever the origin.
653
+ * @param modelSpace whether the item is drawn in model-space.
654
+ * @param positioning the model-space placement it uses.
655
+ */
656
+ function GetModelSpacePlacementKey(modelSpace, positioning) {
657
+ if (!modelSpace) {
658
+ return "geo";
659
+ }
660
+ return positioning === EModelSpacePositioning.Ucs ? EModelSpacePositioning.Ucs : EModelSpacePositioning.Legacy;
661
+ }
662
+ ViewUtils.GetModelSpacePlacementKey = GetModelSpacePlacementKey;
663
+ /**
664
+ * Returns the frame model-space x/y/z are measured in: east, north and up from the origin, else 0,0 lat/lon.
665
+ * @param viewer
666
+ */
667
+ function GetModelSpaceFrame(viewer) {
668
+ const origin = IsModelSpaceUcs(viewer) ? GetModelSpaceOrigin(viewer) : null;
669
+ const pos3d = origin
670
+ ? Cesium.Cartesian3.fromDegrees(origin.longitude, origin.latitude, origin.altitude)
671
+ : Cesium.Cartesian3.fromDegrees(0, 0, 0);
672
+ return Cesium.Transforms.eastNorthUpToFixedFrame(pos3d);
673
+ }
674
+ ViewUtils.GetModelSpaceFrame = GetModelSpaceFrame;
675
+ /**
676
+ * Turns model-space x/y/z metres into a position in the scene.
677
+ * @param viewer
678
+ * @param point
679
+ */
680
+ function ModelSpaceToPos3d(viewer, point) {
681
+ const local = new Cesium.Cartesian3(Number(point === null || point === void 0 ? void 0 : point.x) || 0, Number(point === null || point === void 0 ? void 0 : point.y) || 0, Number(point === null || point === void 0 ? void 0 : point.z) || 0);
682
+ return Cesium.Matrix4.multiplyByPoint(GetModelSpaceFrame(viewer), local, new Cesium.Cartesian3());
683
+ }
684
+ ViewUtils.ModelSpaceToPos3d = ModelSpaceToPos3d;
685
+ /**
686
+ * Turns a position in the scene into model-space x/y/z metres from the origin.
687
+ * @param viewer
688
+ * @param pos3d
689
+ */
690
+ function ModelSpaceFromPos3d(viewer, pos3d) {
691
+ const toLocal = Cesium.Matrix4.inverseTransformation(GetModelSpaceFrame(viewer), new Cesium.Matrix4());
692
+ const local = Cesium.Matrix4.multiplyByPoint(toLocal, pos3d, new Cesium.Cartesian3());
693
+ return { x: local.x, y: local.y, z: local.z };
694
+ }
695
+ ViewUtils.ModelSpaceFromPos3d = ModelSpaceFromPos3d;
696
+ /**
697
+ * Moves the camera to a model-space position, measured from the origin in effect.
698
+ * @param viewer
699
+ * @param camera
700
+ * @param durationSeconds
701
+ */
702
+ function FlyToModelSpaceCamera(viewer, camera, durationSeconds) {
703
+ if (!viewer || viewer.isDestroyed()) {
704
+ return;
705
+ }
706
+ viewer.camera.flyTo({
707
+ destination: ModelSpaceToPos3d(viewer, camera),
708
+ orientation: {
709
+ heading: Cesium.Math.toRadians(Number(camera.heading) || 0),
710
+ pitch: Cesium.Math.toRadians(Number(camera.pitch) || 0),
711
+ roll: Cesium.Math.toRadians(Number(camera.roll) || 0)
712
+ },
713
+ duration: durationSeconds,
714
+ easingFunction: Cesium.EasingFunction.CUBIC_IN_OUT
715
+ });
716
+ }
717
+ ViewUtils.FlyToModelSpaceCamera = FlyToModelSpaceCamera;
563
718
  })(ViewUtils = exports.ViewUtils || (exports.ViewUtils = {}));
564
719
  //# sourceMappingURL=view-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-utils.js","sourceRoot":"","sources":["../../../src/utils/view-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-utils.js","sourceRoot":"","sources":["../../../src/utils/view-utils.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export * from "./widgets/widget-info-view";
72
72
  export * from "./widgets/widget-left-panel";
73
73
  export * from "./widgets/widget-nav-compass";
74
74
  export * from "./widgets/widget-view-bar";
75
- export declare const VERSION = "7.6.8";
75
+ export declare const VERSION = "7.7.0";
76
76
  /**
77
77
  * Updates the environment instance used by bruce-cesium to one specified.
78
78
  * This can be used to ensure that the instance a parent is referencing is shared between bruce-cesium, bruce-models, and the parent app.
@@ -1,10 +1,11 @@
1
- import { ApiGetters, BruceApi, BruceEvent, Entity, EntityHistoricData, MenuItem, Style } from "bruce-models";
1
+ import { ApiGetters, BruceApi, BruceEvent, Carto, Entity, EntityHistoricData, IDictionary, MenuItem, Style } from "bruce-models";
2
2
  import * as Cesium from "cesium";
3
3
  import * as SeriesSegmentTypes from "../internal/series-segment";
4
4
  import { RenderManager } from "./render-managers/render-manager";
5
5
  import { VisualsRegister } from "./visuals-register";
6
6
  import { EntitySimulation } from "./render-managers/common/entity-simulation";
7
7
  import { CesiumViewMonitor } from "../viewer/cesium-view-monitor";
8
+ import { ViewUtils } from "../utils/view-utils";
8
9
  interface IRenderedItem {
9
10
  id: string;
10
11
  type: MenuItem.EType;
@@ -33,6 +34,7 @@ export declare namespace MenuItemManager {
33
34
  private authoredAlternations;
34
35
  private styleOverlay;
35
36
  private styleOverlayCounter;
37
+ private modelSpaceOriginRequest;
36
38
  private itemStyleRecords;
37
39
  private itemStyleRecordsLoading;
38
40
  get StyleOverlay(): Style.IEntitySettings | null;
@@ -135,6 +137,8 @@ export declare namespace MenuItemManager {
135
137
  private renderInPlaceOf;
136
138
  private isHandoffCapable;
137
139
  private isStyleSwapCapable;
140
+ private modelSpacePlacementKey;
141
+ private keepsModelSpacePlacement;
138
142
  private computeHandoffKey;
139
143
  private tryClaimHandoffPayload;
140
144
  /**
@@ -149,6 +153,25 @@ export declare namespace MenuItemManager {
149
153
  * Returns the tags and attenuation the item's view authored, before any bookmark wrote over them.
150
154
  */
151
155
  GetAuthoredAlternation(item: MenuItem.IItem): MenuItem.IItem;
156
+ /**
157
+ * Changes model-space placement, re-places what is drawn and keeps the camera's view of the new origin.
158
+ * @param positioning
159
+ * @param items what the origin is found from, see ResolveModelSpaceOrigin. Default: what is drawn now.
160
+ */
161
+ SetModelSpacePositioning(positioning: ViewUtils.EModelSpacePositioning, items?: MenuItem.IItem[]): Promise<void>;
162
+ /**
163
+ * Finds the point UCS model-space treats as 0,0,0, from the first of the items whose root names a place.
164
+ * @param items menu items to look through in order, children included; other types are passed over.
165
+ * @returns its UCS location, else its root's, else a CAD tileset's own; null when none names a place.
166
+ */
167
+ ResolveModelSpaceOrigin(items: MenuItem.IItem[]): Promise<Carto.ICarto | null>;
168
+ /**
169
+ * Works out which UCS each CAD tileset or Assembly menu item is drawn from, to tell what can share a scene.
170
+ * @param items menu items to look at, children included; other types are left out.
171
+ * @returns menu item ID -> the UCS Entity ID, else the root Entity ID, else null when it has no readable root.
172
+ */
173
+ GetModelSpaceUcsIds(items: MenuItem.IItem[]): Promise<IDictionary<string | null>>;
174
+ private resolveModelSpaceRoots;
152
175
  GetEnabledItemIds(): string[];
153
176
  GetEnabledItem(id: string): IRenderedItem;
154
177
  /**
@@ -31,6 +31,8 @@ export declare namespace AssemblyRenderManager {
31
31
  private hierarchyNodeByEntityId;
32
32
  private modelSpace;
33
33
  get ModelSpace(): boolean;
34
+ private modelSpaceUcs;
35
+ get ModelSpacePlacementKey(): string;
34
36
  /**
35
37
  * Every node of the Assembly read so far, so a caller can work out motion in the Assembly's own terms.
36
38
  * @param timeMs the scene time for each node's current pose. Default: the clock's.
@@ -29,6 +29,8 @@ export declare namespace TilesetCadRenderManager {
29
29
  get Disposed(): boolean;
30
30
  private modelSpace;
31
31
  get ModelSpace(): boolean;
32
+ private modelSpaceUcs;
33
+ get ModelSpacePlacementKey(): string;
32
34
  private visualsManager;
33
35
  private cTileset;
34
36
  get Tileset(): Cesium.Cesium3DTileset;
@@ -114,7 +116,12 @@ export declare namespace TilesetCadRenderManager {
114
116
  roll?: number;
115
117
  cTileset?: TilesetRenderEngine.ITilesetExt;
116
118
  }): EntityCoords.IEntityCoords;
117
- static GetHandoffKey(item: MenuItem.Item.ICadTileset, modelSpace?: boolean): string | null;
119
+ /**
120
+ * Returns the key two items must share to hand a loaded tileset from one to the other.
121
+ * @param item
122
+ * @param placement whether it is drawn in model-space, or a ViewUtils.GetModelSpacePlacementKey.
123
+ */
124
+ static GetHandoffKey(item: MenuItem.Item.ICadTileset, placement?: boolean | string): string | null;
118
125
  PrepareHandoff(): RenderManager.IHandoffPayload | null;
119
126
  AdoptHandoff(payload: RenderManager.IHandoffPayload): void;
120
127
  /**
@@ -51,6 +51,7 @@ export declare namespace TilesetRenderEngine {
51
51
  }
52
52
  interface ITilesetExt extends Cesium.Cesium3DTileset {
53
53
  _bruceCoords?: IPositionParams;
54
+ _bruceModelSpace?: boolean;
54
55
  _bruceSettings?: ISettingsParams;
55
56
  _bruceDateRange?: IDateRange;
56
57
  }
@@ -85,6 +86,12 @@ export declare namespace TilesetRenderEngine {
85
86
  * @returns
86
87
  */
87
88
  function OnTilesetReady(cTileset: Cesium.Cesium3DTileset): Promise<void>;
89
+ /**
90
+ * Returns what moves a real location, eg. a feature's, to where legacy model-space draws its tileset.
91
+ * @param cTileset
92
+ * @returns null when the tileset is drawn where its coords put it.
93
+ */
94
+ function GetModelSpaceShift(cTileset: Cesium.Cesium3DTileset): Cesium.Matrix4 | null;
88
95
  function ApplyPosition(params: {
89
96
  cTileset: Cesium.Cesium3DTileset;
90
97
  position: IPositionParams;
@@ -2,6 +2,12 @@ import { ApiGetters, BruceApi, ProjectView, ProjectViewBookmark } from "bruce-mo
2
2
  import * as Cesium from "cesium";
3
3
  import { MenuItemManager } from "./menu-item-manager";
4
4
  export declare namespace ViewRenderEngine {
5
+ /**
6
+ * Returns where a model-space bookmark's camera goes, measured from the origin in effect.
7
+ * @param viewer
8
+ * @param camera x/y/z metres, or lat/lon read as metres from 0,0 at sea level.
9
+ */
10
+ function GetModelSpaceCameraPos3d(viewer: Cesium.Viewer, camera: ProjectViewBookmark.Web3d.ICamera): Cesium.Cartesian3;
5
11
  /**
6
12
  * Whether a bookmark is a Cesium scene this engine can render.
7
13
  */
@@ -19,8 +19,8 @@ export declare namespace SimplifyGeometry {
19
19
  /**
20
20
  * Whether a simplified geometry still describes something a renderer can triangulate.
21
21
  * @param geometry the simplification result.
22
- * @returns false when any polygon has a collapsed ring, a hole outside its outer ring, or a hole
23
- * wound the same way as its outer ring.
22
+ * @returns false when any polygon has a collapsed, zero area or self intersecting ring, a hole outside
23
+ * its outer ring or inside another hole, rings whose edges cross, or a hole wound like its outer ring.
24
24
  */
25
25
  function IsSafeToRender(geometry: Geometry.IGeometry): boolean;
26
26
  }
@@ -1,4 +1,4 @@
1
- import { ProjectViewLegacyBookmark, ProjectViewTile } from "bruce-models";
1
+ import { Carto, ProjectViewLegacyBookmark, ProjectViewTile } from "bruce-models";
2
2
  import * as Cesium from "cesium";
3
3
  export declare const CESIUM_INSPECTOR_KEY = "_nextspace_inspector";
4
4
  export declare const CESIUM_TIMELINE_KEY = "_nextspace_timeline";
@@ -6,6 +6,7 @@ export declare const CESIUM_TIMELINE_LIVE_KEY = "_nextspace_timeline_live";
6
6
  export declare const CESIUM_TIMELINE_LIVE_PADDING_KEY = "_nextspace_timeline_live_padding";
7
7
  export declare const CESIUM_TIMELINE_INTERVAL_KEY = "_nextspace_timeline_interval";
8
8
  export declare const CESIUM_MODEL_SPACE_KEY = "_nextspace_model_space";
9
+ export declare const CESIUM_MODEL_SPACE_POSITIONING_KEY = "_nextspace_model_space_positioning";
9
10
  export declare const DEFAULT_LIVE_PADDING_SECONDS: number;
10
11
  export declare const DEFAULT_BRIGHTNESS_SHIFT = 0;
11
12
  export declare const DEFAULT_LIGHT_INTENSITY = 2;
@@ -151,4 +152,99 @@ export declare namespace ViewUtils {
151
152
  }): void;
152
153
  function SetModelSpace(viewer: Cesium.Viewer, modelSpace: boolean): void;
153
154
  function GetModelSpace(viewer: Cesium.Viewer): boolean;
155
+ /**
156
+ * How a model-space scene places what it draws, saved on a bookmark so it keeps the placement it was made with.
157
+ */
158
+ enum EModelSpacePositioning {
159
+ Legacy = "legacy",
160
+ Ucs = "ucs"
161
+ }
162
+ /**
163
+ * A bookmark's model-space settings, which never hold the origin since the items drawn name it each time.
164
+ */
165
+ interface IModelSpaceSettings {
166
+ positioning?: EModelSpacePositioning;
167
+ }
168
+ /**
169
+ * A camera given in model-space x/y/z metres from the origin, as a model-space bookmark saves it.
170
+ */
171
+ interface IModelSpaceCamera {
172
+ x: number;
173
+ y: number;
174
+ z: number;
175
+ heading?: number;
176
+ pitch?: number;
177
+ roll?: number;
178
+ }
179
+ /**
180
+ * Returns the placement a model-space bookmark asks for, legacy when it saved none and shows one item at most.
181
+ * @param settings the bookmark's model-space settings.
182
+ * @param menuItemCount how many CAD tileset and Assembly menu items the bookmark enables.
183
+ */
184
+ function ResolveModelSpacePositioning(settings: IModelSpaceSettings | null | undefined, menuItemCount: number): EModelSpacePositioning;
185
+ /**
186
+ * Sets how model-space places what it draws, without moving what is drawn; see MenuItemManager for that.
187
+ * @param viewer
188
+ * @param positioning
189
+ * @param origin the geospatial point treated as 0,0,0, see MenuItemManager.ResolveModelSpaceOrigin.
190
+ */
191
+ function SetModelSpacePositioning(viewer: Cesium.Viewer, positioning: EModelSpacePositioning, origin?: Carto.ICarto | null): void;
192
+ /**
193
+ * Returns how model-space places what it draws, or null when the viewer is not in model-space.
194
+ * @param viewer
195
+ */
196
+ function GetModelSpacePositioning(viewer: Cesium.Viewer): EModelSpacePositioning | null;
197
+ /**
198
+ * Returns whether model-space draws everything where it is and treats an origin as 0,0,0.
199
+ * @param viewer
200
+ */
201
+ function IsModelSpaceUcs(viewer: Cesium.Viewer): boolean;
202
+ /**
203
+ * Returns the geospatial point treated as 0,0,0, or null when nothing names one and 0,0 lat/lon is used.
204
+ * @param viewer
205
+ */
206
+ function GetModelSpaceOrigin(viewer: Cesium.Viewer): Carto.ICarto | null;
207
+ /**
208
+ * Returns the camera's position and turn in model-space terms, eg. to keep the same view of another origin.
209
+ * @param viewer
210
+ */
211
+ function GetModelSpaceCamera(viewer: Cesium.Viewer): IModelSpaceCamera;
212
+ /**
213
+ * Describes how a CAD tileset or Assembly is placed, which UCS placement does the same whatever the origin.
214
+ * @param modelSpace whether the item is drawn in model-space.
215
+ * @param positioning the model-space placement it uses.
216
+ */
217
+ function GetModelSpacePlacementKey(modelSpace: boolean, positioning?: EModelSpacePositioning | null): string;
218
+ /**
219
+ * Returns the frame model-space x/y/z are measured in: east, north and up from the origin, else 0,0 lat/lon.
220
+ * @param viewer
221
+ */
222
+ function GetModelSpaceFrame(viewer: Cesium.Viewer): Cesium.Matrix4;
223
+ /**
224
+ * Turns model-space x/y/z metres into a position in the scene.
225
+ * @param viewer
226
+ * @param point
227
+ */
228
+ function ModelSpaceToPos3d(viewer: Cesium.Viewer, point: {
229
+ x: number;
230
+ y: number;
231
+ z: number;
232
+ }): Cesium.Cartesian3;
233
+ /**
234
+ * Turns a position in the scene into model-space x/y/z metres from the origin.
235
+ * @param viewer
236
+ * @param pos3d
237
+ */
238
+ function ModelSpaceFromPos3d(viewer: Cesium.Viewer, pos3d: Cesium.Cartesian3): {
239
+ x: number;
240
+ y: number;
241
+ z: number;
242
+ };
243
+ /**
244
+ * Moves the camera to a model-space position, measured from the origin in effect.
245
+ * @param viewer
246
+ * @param camera
247
+ * @param durationSeconds
248
+ */
249
+ function FlyToModelSpaceCamera(viewer: Cesium.Viewer, camera: IModelSpaceCamera, durationSeconds: number): void;
154
250
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "7.6.8",
3
+ "version": "7.7.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",
@@ -84,7 +84,7 @@
84
84
  "typescript": "^5.0.4"
85
85
  },
86
86
  "dependencies": {
87
- "bruce-models": "^7.1.130",
87
+ "bruce-models": "^7.1.131",
88
88
  "tslib": "^2.4.1"
89
89
  }
90
90
  }