Qt6 Migration: Complete SituationMap module migration with comprehensive tests

Migration Summary:
- Migrated 7 subdirectories: GraphicalObjects, Rubberbands, MathUtils, MapImpl,
  SymbologyImpl, Viewshed3D, and Common
- Applied Qt6 API changes: QTouchEvent, Qt::MiddleButton, QFuture continuations
- Updated ArcGIS SDK v300: include paths, identifyGraphicsOverlaysAsync()
- Fixed QList/QVector unification issues in MathUtils
- Replaced QSharedPointer::use_count() with isNull()/data() comparisons

Test Coverage:
- Created 6 new test files following check_pr_policies.py naming conventions
- test_graphical_objects.cpp, test_rubberbands.cpp, test_mathutils.cpp
- test_mapimpl.cpp, test_symbologyimpl.cpp, test_viewshed3d.cpp
- All tests integrated into CMake and CTest
- 42 SituationMap tests passing (695 total tests)

Build Validation:
- Docker build successful with Qt 6.10.2 via aqtinstall
- Fixed LtsDataView dependency order in CMakeLists.txt
- Fixed test paths to use absolute TESTS_DIR
- Removed duplicate main() functions from test files

Documentation:
- Created MIGRATION_STATUS.md with detailed migration status
- Created TEST_REPORT.md with comprehensive test coverage summary

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-10-20 02:49:34 +02:00
1 parent c5a38227bf
commit de6c7a6038
26 files changed
+1870 -289

No files matched your search

@@ -20,8 +20,11 @@
// ESRI
#include <GraphicsOverlay.h>
#include <GraphicListModel.h>
#include <GeometryEngine.h>
#include <ModelSceneSymbol.h>
#include <Error.h>
#include <Geometry.h>
#include <Point.h>
// Qt
#include <QPainter>
@@ -15,7 +15,9 @@
#include <GraphicalObjects/graphical_object_ellipse.h>
#include <GraphicalObjects/graphical_object_scene_marker.h>
// ESRI
#include <ModelSceneSymbol.h>
#include <Graphic.h>
// Qt
@@ -18,7 +18,15 @@
// ESRI
#include <GeometryEngine.h>
#include <Geometry.h>
#include <GeometryTypes.h>
#include <Point.h>
#include <Polyline.h>
#include <PolylineBuilder.h>
#include <GraphicsOverlay.h>
#include <Multipart.h>
#include <ImmutablePartCollection.h>
#include <ImmutablePart.h>
// Qt
@@ -512,13 +520,13 @@ Point3D AirSupportImpl::intersection(const Esri::ArcGISRuntime::Geometry &geo1,
Esri::ArcGISRuntime::Point intersectPoint;
if (geoResult.dimension() == 1) // dim 1 -> Lines and Polyline
if (geoResult.dimension() == Esri::ArcGISRuntime::GeometryDimension::Curve) // dim 1 -> Lines and Polyline
{
Esri::ArcGISRuntime::Polyline polylineResult(geoResult);
if (polylineResult.parts().part(0).pointCount() > 0)
intersectPoint = polylineResult.parts().part(0).startPoint();
}
else if (geoResult.dimension() == 0)
else if (geoResult.dimension() == Esri::ArcGISRuntime::GeometryDimension::Point)
{
intersectPoint = Esri::ArcGISRuntime::Point(geoResult); // This is not tested yet
}
@@ -13,6 +13,8 @@
#include "basic_path_object_impl.h"
#include <MapObjects/air_support.h> // Interface
// ESRI
#include <Geometry.h>
// Qt
#include <QString>
@@ -17,6 +17,7 @@
#include <Symbology/sidc_codec.h>
// ESRI
#include <GraphicsOverlay.h>
#ifdef LTS_DEBUG
#include <QMessageBox>
#include <Graphic.h>
@@ -24,6 +24,14 @@
// ESRI
#include <GeoView.h>
#include <SceneGraphicsView.h>
#include <Point.h>
#include <Camera.h>
#include <GeometryEngine.h>
#include <LinearUnit.h>
#include <AngularUnit.h>
#include <GraphicsOverlay.h>
#include <MapTypes.h>
#include <GeodeticDistanceResult.h>
// Qt
@@ -15,6 +15,7 @@
// ESRI
#include <GeoView.h>
#include <GraphicsOverlay.h>
#include <PictureMarkerSymbol.h>
// Qt
@@ -12,6 +12,9 @@
#include <Map/situation_map_types.h>
#include <Common/situation_map_logging.h>
// ESRI
#include <GeoView.h>
#include <GraphicsOverlay.h>
// Qt
#include <QImage>
@@ -16,7 +16,7 @@
#include <Symbology/sidc_codec.h>
// ESRI
#include <GraphicsOverlay.h>
// Qt
#include <QMap>
@@ -17,6 +17,9 @@
// ESRI
#include <GeometryEngine.h>
#include <Point.h>
#include <LinearUnit.h>
#include <AngularUnit.h>
// Qt
@@ -15,6 +15,7 @@
// ESRI
#include <GeoView.h>
#include <GraphicsOverlay.h>
#include <PictureMarkerSymbol.h>
// Qt
@@ -14,23 +14,16 @@
#include <Map/line_style.h>
#include <Map/fill_style.h>
// ESRI
#include <GeoView.h>
#include <GraphicsOverlay.h>
// Qt
#include <QImage>
#include <QMap>
#include <QVariant>
// forward:
namespace Esri
{
namespace ArcGISRuntime
{
class GeoView;
class GraphicsOverlay;
}
}
//----------------------------------------------------------------------------
namespace SituationMap
{