Files
qt-migration-legatus/qt5-before/dlbo/Lts/Tools/EsriHTML/Laufwegdarstellung/LaufwegDarstellung.js
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

161 lines
4.6 KiB
JavaScript

class PolyLineObj {
constructor(path) {
this.path = path;
this.graphic = null;
}
}
var parser, xmlDoc;
var parser = new DOMParser();
var graphicLayer = null;
var color = null;
var x = 1;
window.onload = function () {
document.getElementById('PathUpload').addEventListener('change', pathXml, false);
generateMap();
}
function generateMap() {
require([
"esri/Map",
"esri/views/SceneView",
"esri/layers/TileLayer",
"esri/layers/SceneLayer",
"esri/layers/GraphicsLayer",
"dojo/domReady!",
],
function (
Map,
SceneView,
TileLayer,
SceneLayer,
GraphicsLayer,
) {
map = new Map({
// basemap: "topo"
});
view = new SceneView({
container: "mapDiv",
map: map,
scale: 1000,
camera: {
position: {
x: 8.896638,
y: 53.054441,
z: 40
}
}
});
tile = new TileLayer({
url: "http://excgeo21.sl.defence-elec.de/arcgis/rest/services/Bremen/Hemelingen_TIF_WebMerc/MapServer",
})
feature = new SceneLayer({
url: "http://excgeo21.sl.defence-elec.de/arcgis/rest/services/Hosted/BT56_rev576/SceneServer",
});
map.add(feature);
map.add(tile);
graphicLayer = new GraphicsLayer();
map.add(graphicLayer);
view.on("click", eventHandler);
function eventHandler(event) {
view.hitTest(event).then(getGraphics);
function getGraphics(response) {
selected = response.results[0].graphic.__accessor__.store._values.attributes.name;
}
};
view.popup.on("trigger-action", function (event) {
if (event.action.id === "highlight") {
PolyObjArray.forEach(polyObj => {
if (polyObj.name == selected) {
var newGraphic = polyObj.graphic.clone();
newGraphic.symbol = alternativeSymbol;
graphicLayer.remove(polyObj.graphic);
polyObj.alternativGraphic = newGraphic;
graphicLayer.add(polyObj.alternativGraphic);
}
});
}
});
});
}
function pathXml(event) {
event.preventDefault();
var XMLFile = event.target.files[0];
var r = Math.floor(Math.random() * 255);
var g = Math.floor(Math.random() * 255);
var b = Math.floor(Math.random() * 255);
color = { r: r, g: g, b: b };
parseXML(XMLFile);
}
function parseXML(XMLFile) {
var file = XMLFile;
var reader = new FileReader();
reader.onload = function (event) {
readXML = event.target.result;
xmlDoc = parser.parseFromString(readXML, "application/xml");
createPath();
}
reader.readAsText(file);
}
function createPath() {
var points = [];
var pathArray = [];
points = Array.from(xmlDoc.getElementsByTagName("trkpt"));
points.forEach(point => {
var pathpoint = [parseFloat(point.attributes[1].value), parseFloat(point.attributes[0].value), parseFloat(point.children[0].textContent) / 100];
pathArray.push(pathpoint);
});
var polyline_ = new PolyLineObj(pathArray);
createPolyLineGraphic(polyline_);
}
function getWkid() {
var wkid = view.spatialReference.__accessor__.store._values.wkid;
return (wkid);
}
function getSpatialRefOut() {
var spatialOut = view.spatialReference;
return spatialOut;
}
function createPolyLineGraphic(polyline_) {
require([
"esri/Graphic",
],
function (
Graphic
) {
var polyline = {
type: "polyline",
paths: polyline_.path,
}
var lineSymbol = {
type: "simple-line", // autocasts as SimpleLineSymbol()
color: [color.r, color.g, color.b],
width: 4
};
var polylineGraphic = new Graphic({
geometry: polyline,
symbol: lineSymbol
});
polyline_.graphic = polylineGraphic;
console.log(polyline_);
graphicLayer.add(polyline_.graphic);
})
}
function toggleBuildings() {
x++;
if (x % 2 == 0) map.remove(feature)
else map.add(feature);
}