ts/src/views/MultiTrajPlayback/hooks/useMultiSatTraj.js

32 lines
808 B
JavaScript
Raw Normal View History

2025-04-23 06:17:15 +00:00
import { ref } from 'vue'
import { useSatellite } from '../../Satellite/hooks/satellite'
export function useMultiSatTraj() {
2025-04-27 04:47:15 +00:00
return { addSatelliteTraj, removeAllMultiSatelliteTraj }
2025-04-23 06:17:15 +00:00
}
const multiSatTrajMap = new Map()
const { addSatellite } = useSatellite()
2025-04-27 04:47:15 +00:00
function addSatelliteTraj(satelliteList = [], timeRange) {
2025-04-23 06:17:15 +00:00
console.log(satelliteList)
satelliteList.forEach(({ id, tle }) => {
if (!multiSatTrajMap.has(id)) {
2025-04-27 04:47:15 +00:00
const satellite = addSatellite(
{ id, tle },
{
startTime: new Date(timeRange[0]).toISOString() || new Date(),
}
)
2025-04-23 06:17:15 +00:00
multiSatTrajMap.set(id, satellite)
}
})
}
2025-04-27 04:47:15 +00:00
function removeAllMultiSatelliteTraj() {
for (let [key, satellite] of multiSatTrajMap.entries()) {
satellite.destroy()
multiSatTrajMap.delete(key)
}
}