Skip to content

Commit

Permalink
deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
TJKoury committed Aug 4, 2024
1 parent 0a74ab1 commit f48b1e2
Show file tree
Hide file tree
Showing 9 changed files with 100 additions and 79 deletions.
38 changes: 19 additions & 19 deletions docs/assets/app-1ba6ace9.js → docs/assets/app-7f879cc8.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion docs/assets/index-7172a59a.css

This file was deleted.

1 change: 1 addition & 0 deletions docs/assets/index-7bb9a9e2.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
<meta name="HandheldFriendly" content="true" />

<title>SDA TAP LAB</title>
<script type="module" crossorigin src="./assets/app-1ba6ace9.js"></script>
<link rel="stylesheet" href="./assets/index-7172a59a.css">
<script type="module" crossorigin src="./assets/app-7f879cc8.js"></script>
<link rel="stylesheet" href="./assets/index-7bb9a9e2.css">
</head>
<body>
<div id="app" class="flex flex-col fixed top-0 z-0 w-full h-full"></div>
Expand Down
18 changes: 9 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "sda-tap-lab",
"version": "0.8.4+1722790341957",
"version": "0.8.4+1722803191402",
"type": "module",
"scripts": {
"deploy": "npm run build && git add -A && git commit -m 'deploy' && git push",
Expand Down Expand Up @@ -47,7 +47,7 @@
"flowbite-svelte": "^0.44.20",
"jquery": "^3.7.1",
"lz-string": "^1.5.0",
"orbpro": "^1.120.2",
"orbpro": "^1.120.3",
"pure-ipfs-only-hash": "^4.0.2",
"svelte-awesome": "^3.2.1",
"xxhashjs": "^0.2.2"
Expand Down
38 changes: 17 additions & 21 deletions src/lib/SelectionWidget/SelectionWidget.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@
$: $forceHideWidget = !$trackedEntity;
const updateSegments = (percentComplete: any) => {
let total = segments.reduce((total, s) => total + s.size, 0);
const updateSegments = (percentComplete: number) => {
let progress = 360 * (percentComplete / 100);
segments[0].size = progress;
segments[1].size = 360 - progress;
Expand All @@ -41,8 +40,8 @@
const options = {
innerRadius: 30,
outerRadius: 40,
startAngle: acc,
endAngle: (acc += (angle * segment.size) / total),
startAngle: (acc * Math.PI) / 180,
endAngle: ((acc += segment.size) * Math.PI) / 180,
};
return {
color: segment.color,
Expand All @@ -53,21 +52,21 @@
};
const fn = arc();
let angle = Math.PI * 2;
updateSegments(90);
let selectedTrackerEvent: any;
let ePosition: any = new Cartesian3();
let ePosition = new Cartesian3();
let c2 = { x: 0, y: 0 };
let svgOpacity = 1; // Default opacity
let svgOpacity = 1;
const revoke = () => {
if (selectedTrackerEvent) {
selectedTrackerEvent();
viewer.clock.onTick.removeEventListener(selectedTrackerEvent);
selectedTrackerEvent = null;
} else if (cameraDistanceChecker) {
}
if (cameraDistanceChecker) {
cameraDistanceChecker();
viewer.clock.onTick.removeEventListener(cameraDistanceChecker);
}
Expand All @@ -80,26 +79,22 @@
if (viewer && viewer.scene) {
cameraDistanceChecker = viewer.clock.onTick.addEventListener(() => {
if ($selectedEntity && $selectedEntity?.position) {
if ($selectedEntity && $selectedEntity.position) {
const cameraPosition = viewer.camera.positionWC;
const entityPosition = $selectedEntity.position.getValue(
viewer.clock.currentTime,
ePosition
);
const distance = Cartesian3.distance(cameraPosition, entityPosition!);
if (distance < 10000) {
svgOpacity = Math.max(0, distance / 10000);
} else {
svgOpacity = 1;
}
const distance = Cartesian3.distance(cameraPosition, entityPosition);
svgOpacity = distance < 10000 ? distance / 10000 : 1;
}
});
}
if (!sESubscription) {
sESubscription = selectedEntity.subscribe((s: any) => {
revoke();
if (!selectedTrackerEvent && s && viewer?.clock) {
if (!selectedTrackerEvent && s && viewer.clock) {
selectedTrackerEvent = viewer.scene.postRender.addEventListener(
() => {
c2 = {
Expand All @@ -113,7 +108,7 @@
}
);
segments[1].color = (statusColors[
($selectedEntity as any)?.properties?.CAT?.getValue()?.OPS_STATUS_CODE
$selectedEntity?.properties?.CAT?.getValue()?.OPS_STATUS_CODE
] || [null, "#aaaaaa"])[1];
updateSegments(0);
}
Expand All @@ -131,8 +126,9 @@
id="selected"
class="fixed flex text-white pointer-events-none"
style="width:{widgetSize.width}px; height:{widgetSize.width}px; top:{c2.y -
widgetSize.height / 10}px;left:{c2.x -
widgetSize.height / 10}px; opacity:{svgOpacity};">
widgetSize.height / 10}px; left:{c2.x -
widgetSize.height / 10}px; opacity:{svgOpacity};"
>
<svg viewBox="0 0 100 100">
<g transform="translate(50,50) scale(.25)">
{#each arcs as arc}
Expand All @@ -144,7 +140,7 @@
{/if}

<style>
/* svg {
svg {
shape-rendering: optimizeSpeed;
}*/
}
</style>
53 changes: 29 additions & 24 deletions src/stores/cesium.sync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import { writable, get } from "svelte/store";
import { Viewer, Entity, DataSource } from "orbpro";
import { scenario } from "@/stores/settings.store";
import { debounce } from "@/utilities/debounce";
import { debounce, throttle } from "@/utilities/debounce";

const dataSourceEvents = {
dataSourceAdded: writable<DataSource | null>(null),
Expand All @@ -15,31 +15,34 @@ let registeredStoreSubscriptions: any = {};
let isUpdatingFromStore = false;

const initEvents = (viewer: Viewer) => {
/**/
removeEvents();
removeEvents();

// Sync from Cesium to Svelte
for (let ev in scenario) {
console.log(ev, viewer[`${ev}Changed`])
if (viewer[`${ev}Changed`]) {
registeredEvents[`${ev}Changed`] = viewer[`${ev}Changed`].addEventListener(debounce((e: any) => {
if (!isUpdatingFromStore) {
scenario[ev].set(e);
}
}, 50));
}
// Sync from Cesium to Svelte
for (let ev in scenario) {
if (viewer[`${ev}Changed`]) {
registeredEvents[`${ev}Changed`] = viewer[
`${ev}Changed`
].addEventListener(
throttle((e: any) => {
if (!isUpdatingFromStore) {
scenario[ev].set(e);
}
}, 100)
);
}
}

/*for (let ev in dataSourceEvents) {
console.log(ev);
if (viewer.dataSources[ev]) {
registeredEvents[ev] = viewer.dataSources[ev].addEventListener(debounce((e: any) => {
if (!isUpdatingFromStore) {
dataSourceEvents[ev].set(e);
}
}, 300));
}
}*/
for (let ev in dataSourceEvents) {
if (viewer.dataSources[ev]) {
registeredEvents[ev] = viewer.dataSources[ev].addEventListener(
throttle((e: any) => {
if (!isUpdatingFromStore) {
dataSourceEvents[ev].set(e);
}
}, 300)
);
}
}

// Sync from Svelte to Cesium
for (let ev in scenario) {
Expand All @@ -61,9 +64,11 @@ const removeEvents = () => {
for (let x in registeredEvents) {
registeredEvents[x]();
}
registeredEvents = {};
for (let x in registeredStoreSubscriptions) {
registeredStoreSubscriptions[x]();
}
registeredStoreSubscriptions = {};
};

export { initEvents, removeEvents, dataSourceEvents };
export { initEvents, removeEvents, dataSourceEvents };
22 changes: 21 additions & 1 deletion src/utilities/debounce.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,24 @@ export function debounce(func: (...args: any[]) => void, wait: number) {
func(...args);
}, wait);
};
}
}

export function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void {
let lastFunc: ReturnType<typeof setTimeout>;
let lastRan: number | undefined;
return function(this: ThisParameterType<T>, ...args: Parameters<T>) {
const context = this;
if (!lastRan) {
func.apply(context, args);
lastRan = Date.now();
} else {
clearTimeout(lastFunc);
lastFunc = setTimeout(function() {
if ((Date.now() - lastRan!) >= limit) {
func.apply(context, args);
lastRan = Date.now();
}
}, limit - (Date.now() - lastRan));
}
};
}

0 comments on commit f48b1e2

Please sign in to comment.