Session 022: Migrate Lts/Tools (72 submodules) to Qt6
- Copied complete Lts/Tools directory from qt5-before to qt6-after - Updated 32 CMakeLists.txt files (Qt5:: → Qt6::) - Tools subdirectory already included in parent Lts/CMakeLists.txt - All 72 tool submodules now present in qt6-migrated-legatus - Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate, DdsView, InfrastructureManagement, and 67 more tools - C++17 standard (RTI 7.7.0 compatibility maintained) - Tests deferred until final validation phase Migration progress: ✅ Lts/Application (68 files) ✅ Lts/DDS (verified Qt6-ready) ✅ Lts/Plugins (60 submodules, verified) ✅ Lts/Projects (5 submodules, verified) ✅ Lts/Proxies (13 submodules, verified) ✅ Lts/Services (47 submodules, verified) ✅ Lts/Tools (72 submodules, copied + CMake updated) ✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap) 🟡 TetraIF (partial) 🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
This commit is contained in:
1 parent
01dce5fe52
commit
d5c13033e2
1792 files changed
+982018
No files matched your search
Executable
+16
@@ -0,0 +1,16 @@
|
||||
export const findMinMax = (timestamps: number[]) => {
|
||||
let minTimestamp = Number.POSITIVE_INFINITY;
|
||||
let maxTimestamp = Number.NEGATIVE_INFINITY;
|
||||
|
||||
for (const timestamp of timestamps) {
|
||||
if (timestamp < minTimestamp) {
|
||||
minTimestamp = timestamp;
|
||||
}
|
||||
if (timestamp > maxTimestamp) {
|
||||
maxTimestamp = timestamp;
|
||||
}
|
||||
}
|
||||
|
||||
return { minTimestamp, maxTimestamp };
|
||||
};
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
import ms from 'milsymbol';
|
||||
import { GeoJson } from '../types/geojson';
|
||||
import L from 'leaflet';
|
||||
|
||||
export const getIcon = (marker : GeoJson) => {
|
||||
const symbolOptions: ms.SymbolOptions = {
|
||||
size: 35,
|
||||
sidc: marker.properties.sidic,
|
||||
dtg: marker.properties.dtg || "1054",
|
||||
// additionalInformation: marker.properties.additionalInformation || marker.properties.id,
|
||||
// location: marker.properties.location || "Location",
|
||||
// direction: marker.properties.direction || "Direction",
|
||||
// speed: marker.properties.speed || "Speed",
|
||||
uniqueDesignation: marker.properties.uniqueDesignation || "1",
|
||||
// type: marker.properties.type || "Type",
|
||||
// altitudeDepth: marker.properties.altitudeDepth || "Altitude/Depth",
|
||||
// quantity: marker.properties.quantity || "Quantity",
|
||||
// equipmentTeardownTime: marker.properties.equipmentTeardownTime || "Equipment Teardown Time",
|
||||
// commonIdentifier: marker.properties.commonIdentifier || "Common Identifier",
|
||||
};
|
||||
|
||||
const symbol = new ms.Symbol(symbolOptions);
|
||||
|
||||
const canvas = document.createElement('canvas');
|
||||
const dimensions = symbol.getSize();
|
||||
|
||||
canvas.width = dimensions.width;
|
||||
canvas.height = dimensions.height;
|
||||
|
||||
const ctx = canvas.getContext('2d');
|
||||
if (ctx) {
|
||||
ctx.drawImage(symbol.asCanvas(), 0, 0, canvas.width, canvas.height);
|
||||
}
|
||||
|
||||
const iconUrl = canvas.toDataURL();
|
||||
|
||||
return L.icon({
|
||||
iconUrl: iconUrl,
|
||||
iconSize: [dimensions.width, dimensions.height], // Dynamische Größe verwenden
|
||||
iconAnchor: [dimensions.width / 2, dimensions.height / 2],
|
||||
});
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
export {};
|
||||
|
||||
onmessage = function (e) {
|
||||
const { geoJsons, timestamp, filterParty } = e.data;
|
||||
|
||||
const latestById = geoJsons.reduce((acc: { [x: string]: any; }, geoJson: { properties: { id: any; timestamp: any; }; }) => {
|
||||
const { id, timestamp: geoJsonTimestamp } = geoJson.properties;
|
||||
const time = new Date(geoJsonTimestamp).getTime();
|
||||
|
||||
if (time <= timestamp && (!acc[id] || new Date(acc[id].properties.timestamp).getTime() < time)) {
|
||||
acc[id] = geoJson;
|
||||
}
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
const result = filterParty
|
||||
? (Object.values(latestById) as { properties: any }[]).filter(({ properties }) => properties.parties === filterParty)
|
||||
: Object.values(latestById);
|
||||
|
||||
postMessage(result);
|
||||
};
|
||||
Reference in new issue
Block a user