mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 19:34:01 +00:00
Format the layer lifecycle, standalone application and Bhote Koshi event with Prettier
This commit is contained in:
1 parent
62296a833c
commit
0c190c3a15
3 files changed
+52
-16
No files matched your search
+40
-13
@@ -903,13 +903,19 @@ function focusView(viewer, viewpoint, engine) {
|
|||||||
);
|
);
|
||||||
if (engine) {
|
if (engine) {
|
||||||
engine.camera.cancelFlight();
|
engine.camera.cancelFlight();
|
||||||
engine.camera.flyToSphere({center: target, radius: 80}, {
|
engine.camera.flyToSphere(
|
||||||
heading:offset.heading, pitch:offset.pitch, range:offset.range, duration:2.2,
|
{ center: target, radius: 80 },
|
||||||
|
{
|
||||||
|
heading: offset.heading,
|
||||||
|
pitch: offset.pitch,
|
||||||
|
range: offset.range,
|
||||||
|
duration: 2.2,
|
||||||
complete: () => {
|
complete: () => {
|
||||||
engine.camera.lookAt(target, offset);
|
engine.camera.lookAt(target, offset);
|
||||||
engine.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
|
engine.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
|
||||||
},
|
},
|
||||||
});
|
},
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
viewer.camera.cancelFlight?.();
|
viewer.camera.cancelFlight?.();
|
||||||
@@ -1190,7 +1196,10 @@ export function createBhoteKoshiEventLayer({
|
|||||||
]));
|
]));
|
||||||
if (!_enabled) return;
|
if (!_enabled) return;
|
||||||
if (_native) {
|
if (_native) {
|
||||||
await _native.loadImages(event.imagery.rectangle, [beforeProvider, afterProvider]);
|
await _native.loadImages(event.imagery.rectangle, [
|
||||||
|
beforeProvider,
|
||||||
|
afterProvider,
|
||||||
|
]);
|
||||||
setSplit(_split);
|
setSplit(_split);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1210,9 +1219,12 @@ export function createBhoteKoshiEventLayer({
|
|||||||
: [];
|
: [];
|
||||||
let sampled = null;
|
let sampled = null;
|
||||||
try {
|
try {
|
||||||
sampled = _engine && !_viewer
|
sampled =
|
||||||
|
_engine && !_viewer
|
||||||
? observations.map(({ lon, lat }) => ({
|
? observations.map(({ lon, lat }) => ({
|
||||||
height: _engine.surface.terrainHeight(Cesium.Cartographic.fromDegrees(lon,lat)),
|
height: _engine.surface.terrainHeight(
|
||||||
|
Cesium.Cartographic.fromDegrees(lon, lat),
|
||||||
|
),
|
||||||
}))
|
}))
|
||||||
: await terrainSampler(_viewer, observations, { signal });
|
: await terrainSampler(_viewer, observations, { signal });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -1601,13 +1613,17 @@ export function createBhoteKoshiEventLayer({
|
|||||||
if (_sceneControls.evidencePathElevation !== 'source') {
|
if (_sceneControls.evidencePathElevation !== 'source') {
|
||||||
// Sample once while preparing the shot, never from an animation frame.
|
// Sample once while preparing the shot, never from an animation frame.
|
||||||
try {
|
try {
|
||||||
height = _engine?.surface?.sampleHeight?.(position) ?? _viewer?.scene?.sampleHeight?.(
|
height =
|
||||||
|
_engine?.surface?.sampleHeight?.(position) ??
|
||||||
|
_viewer?.scene?.sampleHeight?.(
|
||||||
position,
|
position,
|
||||||
[_floodCore, _floodHalo, _surgePoint].filter(Boolean),
|
[_floodCore, _floodHalo, _surgePoint].filter(Boolean),
|
||||||
);
|
);
|
||||||
} catch {}
|
} catch {}
|
||||||
if (!Number.isFinite(height))
|
if (!Number.isFinite(height))
|
||||||
height = _engine?.surface?.terrainHeight(position) ?? _viewer?.scene?.globe?.getHeight?.(position);
|
height =
|
||||||
|
_engine?.surface?.terrainHeight(position) ??
|
||||||
|
_viewer?.scene?.globe?.getHeight?.(position);
|
||||||
}
|
}
|
||||||
if (!Number.isFinite(height)) height = point.fallbackElevationM;
|
if (!Number.isFinite(height)) height = point.fallbackElevationM;
|
||||||
return Cesium.Cartesian3.fromDegrees(point.lon, point.lat, height + 8);
|
return Cesium.Cartesian3.fromDegrees(point.lon, point.lat, height + 8);
|
||||||
@@ -2615,7 +2631,12 @@ export function createBhoteKoshiEventLayer({
|
|||||||
|
|
||||||
function syncFloodSurfaceMode() {
|
function syncFloodSurfaceMode() {
|
||||||
const nextMode = usesPhotorealFloodSurface() ? 'tiles' : 'terrain';
|
const nextMode = usesPhotorealFloodSurface() ? 'tiles' : 'terrain';
|
||||||
if ((!_viewer && !_native) || !_floodDataSource || _floodSurfaceMode === nextMode) return;
|
if (
|
||||||
|
(!_viewer && !_native) ||
|
||||||
|
!_floodDataSource ||
|
||||||
|
_floodSurfaceMode === nextMode
|
||||||
|
)
|
||||||
|
return;
|
||||||
_nativeFlood?.destroy();
|
_nativeFlood?.destroy();
|
||||||
_nativeFlood = null;
|
_nativeFlood = null;
|
||||||
_viewer?.dataSources.remove(_floodDataSource, true);
|
_viewer?.dataSources.remove(_floodDataSource, true);
|
||||||
@@ -3483,7 +3504,8 @@ export function createBhoteKoshiEventLayer({
|
|||||||
_embeddedEvidenceIndex = -1;
|
_embeddedEvidenceIndex = -1;
|
||||||
_embeddedMedia?.hide?.();
|
_embeddedMedia?.hide?.();
|
||||||
setSplit(0.5);
|
setSplit(0.5);
|
||||||
if (cameraForScene()) focusView(_viewer, _event.viewpoints.corridor, _engine);
|
if (cameraForScene())
|
||||||
|
focusView(_viewer, _event.viewpoints.corridor, _engine);
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeImagery() {
|
function removeImagery() {
|
||||||
@@ -3504,7 +3526,10 @@ export function createBhoteKoshiEventLayer({
|
|||||||
if (_mapStackController) {
|
if (_mapStackController) {
|
||||||
_comparisonLease = acquireImageryComparison(_mapStackController, {
|
_comparisonLease = acquireImageryComparison(_mapStackController, {
|
||||||
owner: BHOTE_KOSHI_LAYER_ID,
|
owner: BHOTE_KOSHI_LAYER_ID,
|
||||||
switchPolicy: _presentation === BHOTE_KOSHI_SCENE_PRESENTATION ? 'preserve' : 'esri',
|
switchPolicy:
|
||||||
|
_presentation === BHOTE_KOSHI_SCENE_PRESENTATION
|
||||||
|
? 'preserve'
|
||||||
|
: 'esri',
|
||||||
});
|
});
|
||||||
await _comparisonLease.ready;
|
await _comparisonLease.ready;
|
||||||
}
|
}
|
||||||
@@ -3534,7 +3559,8 @@ export function createBhoteKoshiEventLayer({
|
|||||||
removeImagery();
|
removeImagery();
|
||||||
_nativeFlood?.destroy();
|
_nativeFlood?.destroy();
|
||||||
_nativeFlood = null;
|
_nativeFlood = null;
|
||||||
if (_floodDataSource && _viewer) _viewer.dataSources.remove(_floodDataSource,false);
|
if (_floodDataSource && _viewer)
|
||||||
|
_viewer.dataSources.remove(_floodDataSource, false);
|
||||||
_native?.destroy();
|
_native?.destroy();
|
||||||
_native = null;
|
_native = null;
|
||||||
_engine = _viewer = null;
|
_engine = _viewer = null;
|
||||||
@@ -3704,7 +3730,8 @@ export function createBhoteKoshiEventLayer({
|
|||||||
_nativeFlood = null;
|
_nativeFlood = null;
|
||||||
_native?.clear();
|
_native?.clear();
|
||||||
_providers = null;
|
_providers = null;
|
||||||
if (_floodDataSource && _viewer) _viewer.dataSources.remove(_floodDataSource, true);
|
if (_floodDataSource && _viewer)
|
||||||
|
_viewer.dataSources.remove(_floodDataSource, true);
|
||||||
_floodDataSource = null;
|
_floodDataSource = null;
|
||||||
_floodSurfaceMode = null;
|
_floodSurfaceMode = null;
|
||||||
_floodHalo = null;
|
_floodHalo = null;
|
||||||
|
|||||||
@@ -152,9 +152,13 @@ export class LayerLifecycle {
|
|||||||
const entry = this.layers.get(layer.id);
|
const entry = this.layers.get(layer.id);
|
||||||
if (!entry) this.register(layer);
|
if (!entry) this.register(layer);
|
||||||
else {
|
else {
|
||||||
if (entry.module !== layer) throw new Error(`Layer owner changed: ${layer.id}`);
|
if (entry.module !== layer)
|
||||||
|
throw new Error(`Layer owner changed: ${layer.id}`);
|
||||||
if (entry.initialized) {
|
if (entry.initialized) {
|
||||||
const ready = layer.attachRenderer(viewer, { ...this._moduleContext(), ...options });
|
const ready = layer.attachRenderer(viewer, {
|
||||||
|
...this._moduleContext(),
|
||||||
|
...options,
|
||||||
|
});
|
||||||
if (ready?.then) attachments.push(ready);
|
if (ready?.then) attachments.push(ready);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,7 +136,12 @@ export function createStandaloneApplication({
|
|||||||
catalog,
|
catalog,
|
||||||
}),
|
}),
|
||||||
createData: (context) =>
|
createData: (context) =>
|
||||||
createStandaloneData({ ...context, allowQaRegistration, catalog, layerSession }),
|
createStandaloneData({
|
||||||
|
...context,
|
||||||
|
allowQaRegistration,
|
||||||
|
catalog,
|
||||||
|
layerSession,
|
||||||
|
}),
|
||||||
createTools: async (context) => {
|
createTools: async (context) => {
|
||||||
const tools = await createStandaloneTools({
|
const tools = await createStandaloneTools({
|
||||||
...context,
|
...context,
|
||||||
|
|||||||
Reference in new issue
Block a user