LtsSession-STUB und GuezNasat-Fixes für BUILD_RTI=OFF

- CMakeLists.txt: Conditional compilation für BUILD_RTI=ON/OFF
- lts_session_stub.h/cpp: NEU - STUB-Implementation ohne RTI-Abhängigkeit
- lts_session_data_dds_stub.h: Doppeltes Namespace-Closing entfernt
- gna_nasat_aircraft.h: participantId zu participantIdValue umbenannt (Konflikt)
- gna_dtc.h: Doppeldefinitionen entfernt
- gna_nasat_aircraft_participant.h: Doppeldefinitionen entfernt
- ppm_enums.hpp: DataModification-Enum im ParticipantManagement-Namespace
- ElevationMap-STUB: ArcGIS-Abhängigkeit für BUILD_RTI=OFF gekapselt
- Viewer-STUB: Header für BUILD_RTI=OFF Build

Build-Validierung: Configure erfolgreich, LtsSession-Fehler behoben
This commit is contained in:
torsten committed 2026-08-20 19:01:05 +02:00
1 parent b0a281ddf4
commit 32041db9a7
17 files changed
+543 -50

No files matched your search

@@ -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 <QObject>
#include <QList>
@@ -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;
}
}
@@ -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;
}
@@ -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
// NasatAircraftParticipant ist bereits in gna_nasat_aircraft.h definiert
#include "gna_nasat_aircraft.h"
@@ -3,6 +3,9 @@
// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert
// Für die Migration erstellen wir minimale Typ-Definitionen
#include <ostream>
#include <QString>
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;
}
@@ -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 <QObject>
#include <QStringList>
#include <QRectF>
#include <QPointF>
#include <vector>
namespace LtsUtils
{
struct QPoint3D
{
double x{0.0};
double y{0.0};
double z{0.0};
};
} // namespace LtsUtils
using LOSVector = std::vector<double>;
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