bruce-cesium 2.2.3 → 2.2.5

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.
@@ -180,5 +180,83 @@ var DrawingUtils;
180
180
  return pos3d;
181
181
  }
182
182
  DrawingUtils.EnsurePosHeight = EnsurePosHeight;
183
+ /**
184
+ * Returns an accurate 3d position from a given screen position.
185
+ * @param viewer
186
+ * @param cursor
187
+ * @returns
188
+ */
189
+ DrawingUtils.GetAccuratePosition = (function () {
190
+ var cachedPick = null;
191
+ var cacheTimestamp = null;
192
+ var cachedCameraState = null;
193
+ return function (viewer, cursor, pickOnly) {
194
+ if (pickOnly === void 0) { pickOnly = false; }
195
+ var scene = viewer.scene;
196
+ var camera = scene.camera;
197
+ // Check if we can use cached position.
198
+ if (cachedPick && cacheTimestamp) {
199
+ var timeElapsed = Date.now() - cacheTimestamp;
200
+ var isWithinCacheDuration = timeElapsed < 3000; // 3 seconds
201
+ var isNearPreviousPick = Cesium.Cartesian2.distanceSquared(cursor, cachedPick.cursor) < 9; // 3 pixels
202
+ var directionDot = Cesium.Cartesian3.dot(camera.directionWC, cachedCameraState.direction);
203
+ var directionLengths = Cesium.Cartesian3.magnitude(camera.directionWC) * Cesium.Cartesian3.magnitude(cachedCameraState.direction);
204
+ var angle = Math.acos(directionDot / directionLengths);
205
+ var hasCameraMoved = Math.abs(camera.positionWC.x - cachedCameraState.position.x) > 2 || // 2 meters
206
+ Math.abs(camera.positionWC.y - cachedCameraState.position.y) > 2 ||
207
+ angle > Cesium.Math.toRadians(5); // 5 degrees
208
+ if (isWithinCacheDuration && isNearPreviousPick && !hasCameraMoved) {
209
+ return cachedPick.position;
210
+ }
211
+ }
212
+ // Actual picking logic
213
+ // https://community.cesium.com/t/scene-pick-returning-point-inside-the-globe/18940/9
214
+ var pos3d = null;
215
+ // Means we can accurately pick right now.
216
+ if (!pickOnly && scene.globe.depthTestAgainstTerrain) {
217
+ pos3d = scene.pickPosition(cursor);
218
+ }
219
+ // Means we cannot guarantee an accurate pick.
220
+ // We want to prioritize pick-position when we can, so we'll try use it and if the result is sus then we'll use some fallbacks.
221
+ else {
222
+ if (!pickOnly) {
223
+ pos3d = scene.pickPosition(cursor);
224
+ }
225
+ if (Cesium.defined(pos3d)) {
226
+ var carto = Cesium.Cartographic.fromCartesian(pos3d);
227
+ if (!Cesium.defined(carto) || carto.height < 0) {
228
+ pos3d = null;
229
+ }
230
+ }
231
+ if (!Cesium.defined(pos3d)) {
232
+ pos3d = null;
233
+ var ray = scene.camera.getPickRay(cursor);
234
+ if (scene.pickPositionSupported) {
235
+ var pickedObject = scene.pick(cursor, 1, 1);
236
+ if (Cesium.defined(pickedObject) &&
237
+ (pickedObject instanceof Cesium.Cesium3DTileFeature ||
238
+ pickedObject.primitive instanceof Cesium.Cesium3DTileset ||
239
+ pickedObject.primitive instanceof Cesium.Model)) {
240
+ pos3d = scene.pickPosition(cursor);
241
+ }
242
+ }
243
+ if (!pickOnly && !Cesium.defined(pos3d)) {
244
+ pos3d = scene.globe.pick(ray, scene);
245
+ }
246
+ }
247
+ }
248
+ // Update cache.
249
+ cachedPick = {
250
+ position: pos3d,
251
+ cursor: cursor.clone()
252
+ };
253
+ cacheTimestamp = Date.now();
254
+ cachedCameraState = {
255
+ position: camera.positionWC.clone(),
256
+ direction: camera.directionWC.clone()
257
+ };
258
+ return pos3d;
259
+ };
260
+ })();
183
261
  })(DrawingUtils = exports.DrawingUtils || (exports.DrawingUtils = {}));
184
262
  //# sourceMappingURL=drawing-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawing-utils.js","sourceRoot":"","sources":["../../../src/utils/drawing-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drawing-utils.js","sourceRoot":"","sources":["../../../src/utils/drawing-utils.ts"],"names":[],"mappings":"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"}
@@ -107,5 +107,60 @@ var ViewUtils;
107
107
  return (_b = (_a = params.viewer[exports.CESIUM_INSPECTOR_KEY]) === null || _a === void 0 ? void 0 : _a.viewModel) === null || _b === void 0 ? void 0 : _b.wireframe;
108
108
  }
109
109
  ViewUtils.GetTerrainWireframeStatus = GetTerrainWireframeStatus;
110
+ /**
111
+ * Changes between perspective and orthographic view.
112
+ * When Cesium stops being bad at picking positions in 2d mode we'll use the flat earth mode instead.
113
+ * @param params
114
+ */
115
+ function Set2dStatus(params) {
116
+ var viewer = params.viewer, is2d = params.status, moveCamera = params.moveCamera;
117
+ var curLens2d = viewer.camera.frustum instanceof Cesium.OrthographicFrustum;
118
+ if (curLens2d && !is2d) {
119
+ viewer.camera.switchToPerspectiveFrustum();
120
+ viewer.scene.screenSpaceCameraController.enableTilt = true;
121
+ }
122
+ else if (!curLens2d && is2d) {
123
+ viewer.camera.switchToOrthographicFrustum();
124
+ viewer.scene.screenSpaceCameraController.enableTilt = false;
125
+ if (moveCamera != false) {
126
+ try {
127
+ // Face camera downwards to make it look 2d.
128
+ // We want to try make it look at the center-point of the current view.
129
+ // If center cannot be calculated then we'll simply raise the camera and face it downwards.
130
+ var scene = viewer.scene;
131
+ var windowPosition = new Cesium.Cartesian2(scene.canvas.clientWidth / 2, scene.canvas.clientHeight / 2);
132
+ var ray = viewer.camera.getPickRay(windowPosition);
133
+ var intersection = scene.globe.pick(ray, scene);
134
+ var center = void 0;
135
+ if (Cesium.defined(intersection)) {
136
+ center = Cesium.Cartographic.fromCartesian(intersection);
137
+ }
138
+ // Use current camera position if we can't calculate the center.
139
+ else {
140
+ center = Cesium.Cartographic.fromCartesian(viewer.camera.position);
141
+ center.height = 0;
142
+ }
143
+ center.height = viewer.camera.positionCartographic.height + 100;
144
+ viewer.camera.setView({
145
+ destination: Cesium.Cartographic.toCartesian(center),
146
+ orientation: {
147
+ heading: 0.0,
148
+ pitch: Cesium.Math.toRadians(-90.0),
149
+ roll: 0.0
150
+ }
151
+ });
152
+ }
153
+ catch (e) {
154
+ console.error(e);
155
+ }
156
+ }
157
+ }
158
+ }
159
+ ViewUtils.Set2dStatus = Set2dStatus;
160
+ function Get2dStatus(params) {
161
+ var viewer = params.viewer;
162
+ return viewer.camera.frustum instanceof Cesium.OrthographicFrustum;
163
+ }
164
+ ViewUtils.Get2dStatus = Get2dStatus;
110
165
  })(ViewUtils = exports.ViewUtils || (exports.ViewUtils = {}));
111
166
  //# 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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"}
@@ -26,4 +26,4 @@ export * from "./utils/view-utils";
26
26
  export * from "./utils/drawing-utils";
27
27
  export * from "./utils/measure-utils";
28
28
  export * from "./utils/entity-utils";
29
- export declare const VERSION = "2.2.2";
29
+ export declare const VERSION = "2.2.5";
@@ -18,6 +18,7 @@ export declare namespace TilesetCadRenderManager {
18
18
  get Tileset(): Cesium.Cesium3DTileset;
19
19
  private styler;
20
20
  private hasHitDepthLimit;
21
+ private rootId;
21
22
  constructor(params: {
22
23
  viewer: Cesium.Viewer;
23
24
  register: VisualsRegister.Register;
@@ -13,6 +13,7 @@ export declare namespace VisualsRegister {
13
13
  entityTypeId?: string;
14
14
  sourceId?: number;
15
15
  sourceEntityId?: string;
16
+ rootId?: string;
16
17
  tilesetId?: string;
17
18
  tagIds?: number[];
18
19
  menuItemId: string;
@@ -36,4 +36,11 @@ export declare namespace DrawingUtils {
36
36
  desiredHeightRef: Cesium.HeightReference;
37
37
  heightRef: Cesium.HeightReference;
38
38
  }): Cesium.Cartesian3;
39
+ /**
40
+ * Returns an accurate 3d position from a given screen position.
41
+ * @param viewer
42
+ * @param cursor
43
+ * @returns
44
+ */
45
+ const GetAccuratePosition: (viewer: Cesium.Viewer, cursor: Cesium.Cartesian2, pickOnly?: boolean) => any;
39
46
  }
@@ -29,4 +29,17 @@ export declare namespace ViewUtils {
29
29
  function GetTerrainWireframeStatus(params: {
30
30
  viewer: Cesium.Viewer;
31
31
  }): any;
32
+ /**
33
+ * Changes between perspective and orthographic view.
34
+ * When Cesium stops being bad at picking positions in 2d mode we'll use the flat earth mode instead.
35
+ * @param params
36
+ */
37
+ function Set2dStatus(params: {
38
+ viewer: Cesium.Viewer;
39
+ status: boolean;
40
+ moveCamera?: boolean;
41
+ }): void;
42
+ function Get2dStatus(params: {
43
+ viewer: Cesium.Viewer;
44
+ }): boolean;
32
45
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-cesium",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-cesium.umd.js",