- lts_session_data_dds.h/cpp: Vollständig mit #ifdef BUILD_RTI geschützt Vermeidet vtable/qt_metacast Linker-Fehler bei BUILD_RTI=OFF - lts_session.cpp: LtsSessionDataDds-Aufrufe mit BUILD_RTI Guards toString(): N/A-Placeholder im else-Zweig event(): QObject::event(e) statt LtsSessionDataDds::event(e) - lts_elevation_manager.cpp: - m_logger im Initializer-List initialisieren (Reference-Member) - initDDS: Kein Zugriff auf incomplete type bei BUILD_RTI=OFF - createInstance: Rückgabetyp korrigiert (nullptr statt QStringList) - getFilenamesForExercise/TrainingArea: #ifdef BUILD_RTI - exerciseIdToTrainingAreaId: static method mit BUILD_RTI guard - elevation_map_manager.h: QPoint3D-STUB entfernt, Forward-Declaration - cnr_frequency_planning_helper.h/cpp: Vollständig mit BUILD_RTI geschützt - EXTERNAL_DEPENDENCIES.md: Dokumentation fehlender external deps - RTI GCC-Inkompatibilität (DDS_OctetSeq vs DDS_OctetsSeq) - BUILD_RTI temporär OFF, BUILD_ARCGIS=ON default Build-Status: LtsSession [17/1589] erfolgreich, LtsElevation gebaut Offene Build-Fehler durch fehlende externe Dependencies (erwartet)
73 lines
2.2 KiB
C++
73 lines
2.2 KiB
C++
/**
|
|
* 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>
|
|
|
|
// QPoint3D ist bereits in LtsUtilsCore/qpoint3d.h definiert
|
|
// #include "LtsUtilsCore/qpoint3d.h" // Wird von lts_elevation_manager.h included
|
|
|
|
namespace LtsUtils
|
|
{
|
|
// Forward-Referenz, Definition erfolgt in qpoint3d.h
|
|
struct QPoint3D;
|
|
} // 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
|