diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt index d6d1564f1..715061f13 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt @@ -47,15 +47,22 @@ ENDIF() # LtsSession (RTI dependencies optional) -SET(ltssession_SRCS - lts_session.h - lts_session.cpp - lts_session_lock_handler.h -) - -# lts_session_manager and lts_session_lock_handler.cpp only needed when BUILD_RTI=ON IF(BUILD_RTI) - LIST(APPEND ltssession_SRCS lts_session_manager.h lts_session_manager.cpp lts_session_lock_handler.cpp) + SET(ltssession_SRCS + lts_session.h + lts_session.cpp + lts_session_lock_handler.h + lts_session_manager.h + lts_session_manager.cpp + lts_session_lock_handler.cpp + ) +ELSE() + # Stub version for BUILD_RTI=OFF + SET(ltssession_SRCS + lts_session_stub.h + lts_session_stub.cpp + lts_session_lock_handler.h + ) ENDIF() NGL_ADD_LIBRARY2(WS LtsSession SHARED ${ltssession_SRCS}) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h index 9d033371d..c1f7ed9f7 100644 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h @@ -163,7 +163,7 @@ class LtsSessionDataDds : public QObject class Fetcher { public: - Fetcher(LtsSession::LtsSessionDataDds*, const QString&) {} + Fetcher(LtsSessionDataDds*, const QString&) {} template void getForeignGuiInterface(std::shared_ptr&, const QString&, bool) {} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.cpp new file mode 100644 index 000000000..21e7a1a3e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.cpp @@ -0,0 +1,60 @@ +/** + * @RDE_HEADER@ + * Stub implementation for lts_session.cpp when BUILD_RTI=OFF + * Provides minimal LtsSession class without RTI Connext DDS dependencies + */ + +#include "lts_session_stub.h" +#include + +namespace LtsSession +{ + +LtsSession::LtsSession(QObject* parent) + : LtsSessionDataDds(parent) + , m_initialized(false) + , m_sessionId(QStringLiteral("stub-session")) +{ +} + +LtsSession::~LtsSession() = default; + +bool LtsSession::init(const DdsConnectionParams& /*params*/) +{ + qWarning() << "LtsSession::init() called in STUB mode (BUILD_RTI=OFF) - no DDS functionality available"; + m_initialized = false; + emit initialized(false); + return false; +} + +bool LtsSession::isInitialized() const +{ + return m_initialized; +} + +std::shared_ptr LtsSession::dataPlugin() const +{ + return nullptr; +} + +std::shared_ptr LtsSession::guiPlugin() const +{ + return nullptr; +} + +QString LtsSession::sessionId() const +{ + return m_sessionId; +} + +int LtsSession::exerciseId() const +{ + return -1; +} + +QString LtsSession::toString() const +{ + return QStringLiteral("LtsSession(stub, initialized=%1)").arg(m_initialized ? "true" : "false"); +} + +} // namespace LtsSession \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.h new file mode 100644 index 000000000..0e80c4fe9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_stub.h @@ -0,0 +1,64 @@ +/** + * @RDE_HEADER@ + * Stub header for lts_session.h when BUILD_RTI=OFF + * Provides minimal LtsSession class without RTI Connext DDS dependencies + */ + +#pragma once + +#include "lts_session_data_dds_stub.h" +#include +#include + +namespace LtsSession +{ + +// Forward declarations +namespace DataPluginBase +{ +class Interface; +} + +namespace GuiPluginBase +{ +class Interface; +} + +/** + * @brief Stub LtsSession class for BUILD_RTI=OFF + * + * This stub provides the same interface as the real LtsSession class + * but without any RTI DDS functionality. All methods return default values + * or nullptr. + */ +class LtsSession : public LtsSessionDataDds +{ + Q_OBJECT + + public: + explicit LtsSession(QObject* parent = nullptr); + ~LtsSession() override; + + // Initialization - always returns false in stub mode + bool init(const DdsConnectionParams& params); + bool isInitialized() const; + + // Plugin interfaces - return nullptr in stub mode + std::shared_ptr dataPlugin() const; + std::shared_ptr guiPlugin() const; + + // Session info - return default values + QString sessionId() const; + int exerciseId() const; + QString toString() const; + + signals: + void initialized(bool success); + void sessionEnded(); + + private: + bool m_initialized = false; + QString m_sessionId; +}; + +} // namespace LtsSession \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt index 37878e443..b6eff95d5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt @@ -9,9 +9,9 @@ ADD_SUBDIRECTORY(Common) ADD_SUBDIRECTORY(SymbologyXML) ADD_SUBDIRECTORY(Symbology) +ADD_SUBDIRECTORY(ElevationMap) # Remaining subdirectories not yet migrated: -# ADD_SUBDIRECTORY(ElevationMap) # ADD_SUBDIRECTORY(SymbologyGui) # ADD_SUBDIRECTORY(SymbologyXML) # ADD_SUBDIRECTORY(MapObjectsImpl) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/CMakeLists.txt new file mode 100644 index 000000000..d0ecb8ec2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/CMakeLists.txt @@ -0,0 +1,20 @@ +# +# ElevationMap STUB - Qt6 Migration +# Minimal implementation to allow LtsElevation compilation +# + +NGL_ADD_LIBRARY2(WS SV HLA situationMapElevationMap SHARED + elevation_map_manager.cpp + elevation_map_manager.h +) + +NGL_TARGET_INCLUDE_DIRECTORIES(situationMapElevationMap + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/../../include/Viewer/SituationMap/ElevationMap +) + +NGL_TARGET_LINK_LIBRARIES(situationMapElevationMap + PUBLIC + Qt6::Core + Qt6::Gui +) \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp new file mode 100644 index 000000000..b83117b5d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp @@ -0,0 +1,92 @@ +/** + * STUB-Implementierung für ElevationMapManager - Qt6 Migration + * Diese Datei ermöglicht das Kompilieren von LtsElevation ohne das vollständige ElevationMap-Modul + */ + +#include "elevation_map_manager.h" + +namespace SituationMap +{ + +class ElevationMapManager::Private +{ +public: + bool initialized = false; +}; + +ElevationMapManager::ElevationMapManager() : d(new Private()) +{ +} + +ElevationMapManager::~ElevationMapManager() +{ + delete d; +} + +int ElevationMapManager::init(const QStringList &filePaths_rough_to_fine) +{ + Q_UNUSED(filePaths_rough_to_fine); + d->initialized = true; + return 0; // Success +} + +void ElevationMapManager::cleanupCurrentContent() +{ + d->initialized = false; +} + +bool ElevationMapManager::waitForInitialization() +{ + return d->initialized; +} + +bool ElevationMapManager::isValid() const +{ + return d->initialized; +} + +double ElevationMapManager::elevation(double /*lon_rad*/, double /*lat_rad*/, bool * /*bIsCovered*/) const +{ + return 0.0; +} + +double ElevationMapManager::elevation(double /*lon_rad*/, double /*lat_rad*/, double defaultValue, bool * /*bIsCovered*/) const +{ + return defaultValue; +} + +QRectF ElevationMapManager::simpleUnitedExtent() const +{ + return QRectF(); +} + +bool ElevationMapManager::contains(const QPointF & /*point*/) const +{ + return false; +} + +void ElevationMapManager::LOSProfile(const QPointF & /*start*/, const QPointF & /*end*/, LOSVector &losProfile) +{ + losProfile.clear(); +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const LOSVector & /*losProfile*/, + double /*centerHat*/, + double /*objHat*/) const +{ + return LineOfSight::LOS_UNDEFINED; +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const LtsUtils::QPoint3D & /*startPointGeo_absZ*/, + const LtsUtils::QPoint3D & /*endPointGeo_absZ*/) +{ + return LineOfSight::LOS_UNDEFINED; +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const QPointF & /*startPointGeo*/, double /*startHat*/, + const QPointF & /*endPointGeo*/, double /*endHat*/) +{ + return LineOfSight::LOS_UNDEFINED; +} + +} // namespace SituationMap \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.h new file mode 100644 index 000000000..3a2b7db91 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/ElevationMap/elevation_map_manager.h @@ -0,0 +1,74 @@ +/** + * STUB-Header für ElevationMapManager - Qt6 Migration + * Diese Datei ermöglicht das Kompilieren von LtsElevation ohne das vollständige ElevationMap-Modul + */ + +#pragma once + +#include +#include +#include +#include +#include + +namespace LtsUtils +{ +struct QPoint3D +{ + double x{0.0}; + double y{0.0}; + double z{0.0}; +}; +} // namespace LtsUtils + +using LOSVector = std::vector; + +namespace SituationMap +{ + +class ElevationMapManager final : public QObject +{ + Q_OBJECT + +public: + ElevationMapManager(); + ElevationMapManager(const ElevationMapManager &) = delete; + ElevationMapManager &operator = (const ElevationMapManager &) = delete; + ~ElevationMapManager(); + + int init(const QStringList &filePaths_rough_to_fine); + void cleanupCurrentContent(); + + bool waitForInitialization(); + bool isValid() const; + + double elevation(double lon_rad, double lat_rad, bool *bIsCovered = nullptr) const; + double elevation(double lon_rad, double lat_rad, double defaultValue, bool *bIsCovered = nullptr) const; + + QRectF simpleUnitedExtent() const; + + bool contains(const QPointF &point) const; + + void LOSProfile(const QPointF &start, const QPointF &end, LOSVector &losProfile); + + enum class LineOfSight { LOS_UNDEFINED = 0, + LOS_ERROR, + LOS_VISIBLE, + LOS_INVISIBLE }; + + LineOfSight lineOfSightCalculation(const LOSVector &losProfile, + double centerHat, + double objHat) const; + + LineOfSight lineOfSightCalculation(const LtsUtils::QPoint3D &startPointGeo_absZ, + const LtsUtils::QPoint3D &endPointGeo_absZ); + + LineOfSight lineOfSightCalculation(const QPointF &startPointGeo, double startHat, + const QPointF &endPointGeo, double endHat); + +protected: + class Private; + Private *d; +}; // ElevationMapManager + +} // namespace SituationMap \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_dtc.h b/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_dtc.h index c855d01bd..21dfc2c91 100644 --- a/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_dtc.h +++ b/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_dtc.h @@ -4,7 +4,7 @@ // Für die Migration erstellen wir minimale Typ-Definitionen #include "exm_exercise.h" -#include "ppm_enums.hpp" +#include "ParticipantManagement/ppm_enums.hpp" #include #include diff --git a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_dtc.h b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_dtc.h index 18ceeb6e9..012340ec8 100644 --- a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_dtc.h +++ b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_dtc.h @@ -22,22 +22,8 @@ namespace LtsSession { class LtsSession; } namespace GuezNasat { -// NasatAircraftParticipant - Verbindung zwischen NASAT, Exercise und Participant -struct NasatAircraftParticipant { - int id = 0; - int nasatAircraftId = 0; - int exerciseId = 0; - int participantId = 0; - - // Helper methods für Kompatibilität - int participantId() const { return participantId; } -}; - -// NasatAircraft - NASAT Flugzeug -struct NasatAircraft { - int id = 0; - QString name; -}; +// NasatAircraftParticipant und NasatAircraft sind bereits in gna_nasat_aircraft.h definiert +// Diese Datei enthält nur die Dtc-Klasse namespace Interface { @@ -85,14 +71,14 @@ public: // Daten hinzufügen/entfernen/ändern void addNasatAircraftParticipant(const NasatAircraftParticipant& nap) { m_nasatAircraftParticipants.append(nap); - emit nasatAircraftParticipantChanged(nap, DataModification::eAdded); + emit nasatAircraftParticipantChanged(nap, ParticipantManagement::DataModification::eAdded); } void updateNasatAircraftParticipant(const NasatAircraftParticipant& nap) { for (auto& existing : m_nasatAircraftParticipants) { if (existing.id == nap.id) { existing = nap; - emit nasatAircraftParticipantChanged(nap, DataModification::eModified); + emit nasatAircraftParticipantChanged(nap, ParticipantManagement::DataModification::eModified); return; } } @@ -104,7 +90,7 @@ public: if (it->id == id) { NasatAircraftParticipant removed = *it; m_nasatAircraftParticipants.erase(it); - emit nasatAircraftParticipantChanged(removed, DataModification::eRemoved); + emit nasatAircraftParticipantChanged(removed, ParticipantManagement::DataModification::eRemoved); return; } } @@ -112,14 +98,14 @@ public: void addNasatAircraft(const NasatAircraft& na) { m_nasatAircrafts.append(na); - emit nasatAircraftChanged(na, DataModification::eAdded); + emit nasatAircraftChanged(na, ParticipantManagement::DataModification::eAdded); } void updateNasatAircraft(const NasatAircraft& na) { for (auto& existing : m_nasatAircrafts) { if (existing.id == na.id) { existing = na; - emit nasatAircraftChanged(na, DataModification::eModified); + emit nasatAircraftChanged(na, ParticipantManagement::DataModification::eModified); return; } } @@ -131,7 +117,7 @@ public: if (it->id == id) { NasatAircraft removed = *it; m_nasatAircrafts.erase(it); - emit nasatAircraftChanged(removed, DataModification::eRemoved); + emit nasatAircraftChanged(removed, ParticipantManagement::DataModification::eRemoved); return; } } diff --git a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft.h b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft.h index 1a36c49ba..1ee309280 100644 --- a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft.h +++ b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft.h @@ -24,10 +24,10 @@ struct GNACOMMON_EXPORT NasatAircraftParticipant int id = 0; int nasatAircraftId = 0; int exerciseId = 0; - int participantId = 0; + int participantIdValue = 0; // Helper method für Kompatibilität - int participantId() const { return participantId; } + int participantId() const { return participantIdValue; } }; } // namespace GuezNasat @@ -45,6 +45,6 @@ inline std::ostream& operator<<(std::ostream& os, const GuezNasat::NasatAircraft { os << "NasatAircraftParticipant{id=" << participant.id << ", nasatAircraftId=" << participant.nasatAircraftId - << ", participantId=" << participant.participantId << "}"; + << ", participantId=" << participant.participantIdValue << "}"; return os; } \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft_participant.h b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft_participant.h index 010eecb3e..26c754ea3 100644 --- a/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft_participant.h +++ b/qt6-after/qt6-migrated-legatus/include/GuezNasat/gna_nasat_aircraft_participant.h @@ -1,15 +1,5 @@ #pragma once // STUB-HEADER: Diese Datei wird normalerweise von DDS generiert -namespace GuezNasat -{ - -// NasatAircraftParticipant - Verbindung zwischen NASAT, Exercise und Participant -struct NasatAircraftParticipant { - int id = 0; - int nasatAircraftId = 0; - int exerciseId = 0; - int participantId = 0; -}; - -} // namespace GuezNasat \ No newline at end of file +// NasatAircraftParticipant ist bereits in gna_nasat_aircraft.h definiert +#include "gna_nasat_aircraft.h" \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_enums.hpp b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_enums.hpp index aa950734b..4700f2651 100644 --- a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_enums.hpp +++ b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_enums.hpp @@ -3,6 +3,9 @@ // STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert // Für die Migration erstellen wir minimale Typ-Definitionen +#include +#include + namespace ParticipantManagement { // Placeholder enums - werden durch echte DDS-Typen ersetzt @@ -10,13 +13,16 @@ enum class SymbolAppearance : int { Solid = 0, Dashed = 1, Dotted = 2 }; enum class SymbolVisibility : int { Visible = 0, Hidden = 1 }; -enum class TypeClass : int { Unknown = 0, Aircraft = 1, Ground = 2, Naval = 3 }; +enum class TypeClass : int { eUninitialized = 0, Unknown = 1, Aircraft = 2, Ground = 3, Naval = 4 }; enum class DataModification : int { eAdded = 0, eModified = 1, eRemoved = 2 }; inline std::ostream& operator<<(std::ostream& os, TypeClass tc) { switch (tc) { + case TypeClass::eUninitialized: + os << "eUninitialized"; + break; case TypeClass::Unknown: os << "Unknown"; break; @@ -30,7 +36,7 @@ inline std::ostream& operator<<(std::ostream& os, TypeClass tc) os << "Naval"; break; default: - os << "Unknown"; + os << std::string("Unknown"); } return os; } diff --git a/qt6-after/qt6-migrated-legatus/include/Viewer/SituationMap/ElevationMap/elevation_map_manager.h b/qt6-after/qt6-migrated-legatus/include/Viewer/SituationMap/ElevationMap/elevation_map_manager.h new file mode 100644 index 000000000..3a2b7db91 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/Viewer/SituationMap/ElevationMap/elevation_map_manager.h @@ -0,0 +1,74 @@ +/** + * STUB-Header für ElevationMapManager - Qt6 Migration + * Diese Datei ermöglicht das Kompilieren von LtsElevation ohne das vollständige ElevationMap-Modul + */ + +#pragma once + +#include +#include +#include +#include +#include + +namespace LtsUtils +{ +struct QPoint3D +{ + double x{0.0}; + double y{0.0}; + double z{0.0}; +}; +} // namespace LtsUtils + +using LOSVector = std::vector; + +namespace SituationMap +{ + +class ElevationMapManager final : public QObject +{ + Q_OBJECT + +public: + ElevationMapManager(); + ElevationMapManager(const ElevationMapManager &) = delete; + ElevationMapManager &operator = (const ElevationMapManager &) = delete; + ~ElevationMapManager(); + + int init(const QStringList &filePaths_rough_to_fine); + void cleanupCurrentContent(); + + bool waitForInitialization(); + bool isValid() const; + + double elevation(double lon_rad, double lat_rad, bool *bIsCovered = nullptr) const; + double elevation(double lon_rad, double lat_rad, double defaultValue, bool *bIsCovered = nullptr) const; + + QRectF simpleUnitedExtent() const; + + bool contains(const QPointF &point) const; + + void LOSProfile(const QPointF &start, const QPointF &end, LOSVector &losProfile); + + enum class LineOfSight { LOS_UNDEFINED = 0, + LOS_ERROR, + LOS_VISIBLE, + LOS_INVISIBLE }; + + LineOfSight lineOfSightCalculation(const LOSVector &losProfile, + double centerHat, + double objHat) const; + + LineOfSight lineOfSightCalculation(const LtsUtils::QPoint3D &startPointGeo_absZ, + const LtsUtils::QPoint3D &endPointGeo_absZ); + + LineOfSight lineOfSightCalculation(const QPointF &startPointGeo, double startHat, + const QPointF &endPointGeo, double endHat); + +protected: + class Private; + Private *d; +}; // ElevationMapManager + +} // namespace SituationMap \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/src/AlarmManagement/alm_translation.cpp b/qt6-after/qt6-migrated-legatus/src/AlarmManagement/alm_translation.cpp new file mode 100644 index 000000000..349030787 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/src/AlarmManagement/alm_translation.cpp @@ -0,0 +1,14 @@ +#include "alm_translation.h" +#include + +namespace AlarmManagement +{ + +QString tr(const char *sourceText, const char *comment, int n) +{ + // STUB: Wird durch korrekte Translation-Implementation ersetzt + // Für den Build benötigen wir eine funktionierende tr()-Funktion + return QObject::tr(sourceText, comment, n); +} + +} // namespace AlarmManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/src/ParticipantManagement/ppm_translation.cpp b/qt6-after/qt6-migrated-legatus/src/ParticipantManagement/ppm_translation.cpp new file mode 100644 index 000000000..e2682790d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/src/ParticipantManagement/ppm_translation.cpp @@ -0,0 +1,14 @@ +#include "ppm_translation.h" +#include + +namespace ParticipantManagement +{ + +QString tr(const char *sourceText, const char *comment, int n) +{ + // STUB: Wird durch korrekte Translation-Implementation ersetzt + // Für den Build benötigen wir eine funktionierende tr()-Funktion + return QObject::tr(sourceText, comment, n); +} + +} // namespace ParticipantManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/src/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp b/qt6-after/qt6-migrated-legatus/src/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp new file mode 100644 index 000000000..b83117b5d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/src/Viewer/SituationMap/ElevationMap/elevation_map_manager.cpp @@ -0,0 +1,92 @@ +/** + * STUB-Implementierung für ElevationMapManager - Qt6 Migration + * Diese Datei ermöglicht das Kompilieren von LtsElevation ohne das vollständige ElevationMap-Modul + */ + +#include "elevation_map_manager.h" + +namespace SituationMap +{ + +class ElevationMapManager::Private +{ +public: + bool initialized = false; +}; + +ElevationMapManager::ElevationMapManager() : d(new Private()) +{ +} + +ElevationMapManager::~ElevationMapManager() +{ + delete d; +} + +int ElevationMapManager::init(const QStringList &filePaths_rough_to_fine) +{ + Q_UNUSED(filePaths_rough_to_fine); + d->initialized = true; + return 0; // Success +} + +void ElevationMapManager::cleanupCurrentContent() +{ + d->initialized = false; +} + +bool ElevationMapManager::waitForInitialization() +{ + return d->initialized; +} + +bool ElevationMapManager::isValid() const +{ + return d->initialized; +} + +double ElevationMapManager::elevation(double /*lon_rad*/, double /*lat_rad*/, bool * /*bIsCovered*/) const +{ + return 0.0; +} + +double ElevationMapManager::elevation(double /*lon_rad*/, double /*lat_rad*/, double defaultValue, bool * /*bIsCovered*/) const +{ + return defaultValue; +} + +QRectF ElevationMapManager::simpleUnitedExtent() const +{ + return QRectF(); +} + +bool ElevationMapManager::contains(const QPointF & /*point*/) const +{ + return false; +} + +void ElevationMapManager::LOSProfile(const QPointF & /*start*/, const QPointF & /*end*/, LOSVector &losProfile) +{ + losProfile.clear(); +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const LOSVector & /*losProfile*/, + double /*centerHat*/, + double /*objHat*/) const +{ + return LineOfSight::LOS_UNDEFINED; +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const LtsUtils::QPoint3D & /*startPointGeo_absZ*/, + const LtsUtils::QPoint3D & /*endPointGeo_absZ*/) +{ + return LineOfSight::LOS_UNDEFINED; +} + +ElevationMapManager::LineOfSight ElevationMapManager::lineOfSightCalculation(const QPointF & /*startPointGeo*/, double /*startHat*/, + const QPointF & /*endPointGeo*/, double /*endHat*/) +{ + return LineOfSight::LOS_UNDEFINED; +} + +} // namespace SituationMap \ No newline at end of file