Migrates residual Lts sources to generated rtiddsgen API

Adds NmeaManagement tests, fixes codegen includes and Qt6 SerialPort CMake target.
This commit is contained in:
berrux-dev committed 2026-09-23 12:05:37 +02:00
1 parent 5485a90385
commit 881d44f4dd
512 files changed
+6887 -6426

No files matched your search

@@ -164,7 +164,7 @@ int AbstractFiringStrategy::sendChargeEffect(const TrajectoryTimeAware &trajecto
chargeEffect.chargeTypeId = m_effector->effectorData().chargeStruct.chargeTypeId;
chargeEffect.effectStart = trajectoryStartTime + trajectoryTimeAware.geometry.back().relativeTime; // Einschlag Zeit
chargeEffect.igniterTypeId = m_effector->effectorData().chargeStruct.igniterTypeId;
chargeEffect.gearTypeId(gearTypeId(m_effector->effectorData().chargeStruct.chargeTypeId, m_effector->participantId()));
chargeEffect.gearTypeId = gearTypeId(m_effector->effectorData().chargeStruct.chargeTypeId, m_effector->participantId());
chargeEffect.originatorId = m_effector->aesItemId();
chargeEffect.originatorTypeId = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation;
chargeEffect.properties = QJsonDocument(properties).toJson().toStdString();
@@ -161,7 +161,7 @@ void ModuleTestEffectCluster::onAesItemViewChanged(const AesItemView &aesItemVie
if (modType == DataModification::eRemoved)
return;
AreaEffectSimulation::AesType::type aesType = aesItemView.aesTypeId().underlying();
AreaEffectSimulation::AesType aesType = static_cast<AreaEffectSimulation::AesType>(aesItemView.aesTypeId());
if (aesType != AreaEffectSimulation::AesType::AtEffectCluster)
return;
@@ -198,7 +198,7 @@ void ModuleTestEffectCluster::onEffectsChanged(const Effects &effects, DataModif
{
if (modType == DataModification::eRemoved)
return;
AreaEffectSimulation::AesType::type aesType = effects.aesTypeId().underlying();
AreaEffectSimulation::AesType aesType = static_cast<AreaEffectSimulation::AesType>(effects.aesTypeId());
DEBUG_LOG(m_logger) << " got onEffectsChanged - m_data: " << m_data.id << ", aesType=" << aesType;
++m_counterDds.cntEffectClusterEffects;
@@ -301,7 +301,7 @@ EffectCluster ModuleTestEffectCluster::getEcForTneVerification(const QString &ea
DEBUG_LOG(m_logger) << " bottomLeft" << bottomLeft;
eaData.area.cornerBottomLeft(Core::GeoPosition(bottomLeft.x(), bottomLeft.y(), 0.0));
eaData.area.cornerBottomLeft = Core::GeoPosition(bottomLeft.x(), bottomLeft.y(), 0.0);
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -209,7 +209,7 @@ void ModuleTestExplosionCluster::onAesItemViewChanged(const AesItemView &aesItem
if (modType == DataModification::eRemoved)
return;
AreaEffectSimulation::AesType::type aesType = aesItemView.aesTypeId().underlying();
AreaEffectSimulation::AesType aesType = static_cast<AreaEffectSimulation::AesType>(aesItemView.aesTypeId());
DEBUG_LOG(m_logger) << " got onAesItemViewChanged - m_data: " << m_data.id << ", aesType=" << aesType;
switch (aesType) {
@@ -219,7 +219,7 @@ void ModuleTestExplosionCluster::onAesItemViewChanged(const AesItemView &aesItem
case AreaEffectSimulation::AesType::AtExplosionClusterGunToTargetLine:
++m_counterDds.cntAtExplosionClusterGunToTargetLine;
break;
// case AreaEffectSimulation::AesType_def::AtExplosionClusterSingleExplosions:
// case AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions:
// ++m_counterDds.cntAtExplosionClusterSingleExplosions;
// m_aesItemViewSingleExplosions = aesItemView;
// break;
@@ -232,7 +232,7 @@ void ModuleTestExplosionCluster::onEffectsChanged(const Effects &effects, DataMo
{
if (modType == DataModification::eRemoved)
return;
AreaEffectSimulation::AesType::type aesType = effects.aesTypeId().underlying();
AreaEffectSimulation::AesType aesType = static_cast<AreaEffectSimulation::AesType>(effects.aesTypeId());
DEBUG_LOG(m_logger) << " got onEffectsChanged - m_data: " << m_data.id << ", aesType=" << aesType;
++m_counterDds.cntExplosionClusterEffects;
@@ -388,7 +388,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcForTneVerification(const QStri
eaData.partyId = 2;
eaData.participantId = 7;
eaData.mhPoints({Core::GeoPosition2D(0.0, 0.0)});
eaData.mhPoints = {Core::GeoPosition2D(0.0, 0.0)};
eaData.impactCount = 10;
// SubStruct FlightCurve
@@ -409,7 +409,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcForTneVerification(const QStri
qCritical() << " bottomLeft" << bottomLeft;
eaData.area.cornerBottomLeft(Core::GeoPosition(bottomLeft.x(), bottomLeft.y(), 0.0));
eaData.area.cornerBottomLeft = Core::GeoPosition(bottomLeft.x(), bottomLeft.y(), 0.0);
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -459,7 +459,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcFor1104(const QString &eaName)
const double rot = 0;
// 0.202561460978929 0.916110427477059 == 32U PD 76937 18655
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.202561460978929, 0.916110427477059));
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.202561460978929, 0.916110427477059);
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -514,7 +514,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcFor1106(const QString &eaName)
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7696018588")); //
QPointF pos = utmPos.geographic();
eaData.area.cornerBottomLeft(Core::GeoPosition2D(pos.x(), pos.y()));
eaData.area.cornerBottomLeft = Core::GeoPosition2D(pos.x(), pos.y());
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -567,7 +567,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcForUBAHN(const QString &eaName
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32U PD 77154 18454")); // 32 U PD 77154 18454
QPointF pos = utmPos.geographic();
eaData.area.cornerBottomLeft(Core::GeoPosition2D(pos.x(), pos.y()));
eaData.area.cornerBottomLeft = Core::GeoPosition2D(pos.x(), pos.y());
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -620,7 +620,7 @@ ExplosionCluster ModuleTestExplosionCluster::getEcFor3101(const QString &eaName)
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7722018559")); // 32 U PD 77220 18559
QPointF pos = utmPos.geographic();
eaData.area.cornerBottomLeft(Core::GeoPosition2D(pos.x(), pos.y()));
eaData.area.cornerBottomLeft = Core::GeoPosition2D(pos.x(), pos.y());
eaData.area.height = height;
eaData.area.width = width;
eaData.area.rotation = rot;
@@ -760,7 +760,7 @@ void ModuleTestExplosionCluster::setupParticipants()
const LtsCoordTrans::UtmCoordinate &utmPos =
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7690018000")); // 32U PD 76900 18000
QPointF pos = utmPos.geographic();
req.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
INFO_LOG(m_logger) << " setSimulatedPositionRequest ...";
m_replyError = true;
@@ -780,7 +780,7 @@ void ModuleTestExplosionCluster::setupParticipants()
const LtsCoordTrans::UtmCoordinate &utmPos =
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7600019000")); // 32U PD 76000 19000
QPointF pos = utmPos.geographic();
req.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
INFO_LOG(m_logger) << " setSimulatedPositionRequest ...";
m_replyError = true;
@@ -803,7 +803,7 @@ void ModuleTestExplosionCluster::setupParticipants()
// LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7500018000")); // 32U PD 75000 18000
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD5000018000")); // 32U PD 50000 18000
QPointF pos = utmPos.geographic();
req_SSPF.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req_SSPF.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
QString prop = QString(QStringLiteral("{\"angle\":0,\"distance\":25,\"distanceSets\":{\"Aufgelockert\":50,\"Geschlossen\":25},\"geometry\":\"line\"}"));
req_SSPF.formation = prop.toStdString() ;
@@ -827,7 +827,7 @@ void ModuleTestExplosionCluster::setupParticipants()
// LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7500018000")); // 32U PD 75000 18000
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD0100018000")); // 32U PD 01000 18000
QPointF pos = utmPos.geographic();
req_SSPF.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req_SSPF.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
QString prop = QString(QStringLiteral("{\"angle\":0,\"distance\":25,\"distanceSets\":{\"Aufgelockert\":50,\"Geschlossen\":25},\"geometry\":\"line\"}"));
req_SSPF.formation = prop.toStdString() ;
@@ -2074,7 +2074,7 @@ void ModuleTestExplosionCluster::test_point_geometry_bldg_1104()
eaData.flightCurve.get().requestedRelativePeakHeight = 500;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!! should be interpreted at center of impact
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!! should be interpreted at center of impact
// LtsCoordTrans::UtmCoordinate newTargetPosUtm_Hill = LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32U PD 77457 17613")); // 32U PD 77438 17632
// auto newPnt = newTargetPosUtm_Hill.geographic();
@@ -2134,7 +2134,7 @@ void ModuleTestExplosionCluster::test_point_geometry_bldg_1104_SMArt_Proximity()
eaData.flightCurve.get().requestedRelativePeakHeight = 500;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!! should be interpreted at center of impact
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!! should be interpreted at center of impact
// LtsCoordTrans::UtmCoordinate newTargetPosUtm_Hill = LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32U PD 77457 17613")); // 32U PD 77438 17632
// auto newPnt = newTargetPosUtm_Hill.geographic();
@@ -2192,7 +2192,7 @@ void ModuleTestExplosionCluster::test_bldg_1104_OC()
name += QString::number(requestOC.effectStart);
requestOC.name = name.toStdString();
requestOC.area.cornerBottomLeft(Core::GeoPosition2D(0.2025, 0.91611)); // !!bottomLeft!!
requestOC.area.cornerBottomLeft = Core::GeoPosition2D(0.2025, 0.91611); // !!bottomLeft!!
requestOC.area.width = 20;
requestOC.area.height = 30;
requestOC.area.rotation = 17;
@@ -2246,7 +2246,7 @@ void ModuleTestExplosionCluster::test_point_geometry_bldg_1104_light()
eaData.chargeStruct.chargeTypeId = s_ChargeTypeId1;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!!
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!!
eaData.area.width = 10;
eaData.area.height = 10;
eaData.area.rotation = 0;
@@ -2297,7 +2297,7 @@ void ModuleTestExplosionCluster:: test_point_geometry_bldg_1104_single_effect_on
request.element = request.name;
const QPointF impactPointF(0.20256382834808495, 0.9161105453111705);
request.impactPosition(Core::GeoPosition2D(impactPointF.x(), impactPointF.y()));
request.impactPosition = Core::GeoPosition2D(impactPointF.x(), impactPointF.y());
INFO_LOG(m_logger) << LOGFUNCTION << " requested impact position = " << LtsCoordTrans::UtmCoordinate::fromGeographic(impactPointF).mgrs();
request.chargeTypeId = 371;
@@ -2413,7 +2413,7 @@ void ModuleTestExplosionCluster::test_vulcano_bldg_1104()
eaData.flightCurve.get().dropAngle = 45;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!!
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!!
eaData.area.width = 25;
eaData.area.height = 25;
eaData.area.rotation = 0;
@@ -2470,7 +2470,7 @@ void ModuleTestExplosionCluster::test_vulcano_bldg_1104_withTargetModify()
eaData.flightCurve.get().dropAngle = 45;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!!
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!!
eaData.area.width = 25;
eaData.area.height = 25;
eaData.area.rotation = 0;
@@ -2574,7 +2574,7 @@ void ModuleTestExplosionCluster::test_vulcano_bldg_1104_withTargetModify2()
eaData.flightCurve.get().dropAngle = 45;
eaData.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
eaData.area.cornerBottomLeft(Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705)); // !!bottomLeft!!
eaData.area.cornerBottomLeft = Core::GeoPosition2D(0.20256382834808495, 0.9161105453111705); // !!bottomLeft!!
eaData.area.width = 25;
eaData.area.height = 25;
eaData.area.rotation = 0;
@@ -695,7 +695,7 @@ ExplosionAreaModifyRequest ModuleTestLimits::getEa()
{
auto ea = ExplosionAreaModifyRequest();
ea.area(AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70));
ea.area = AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70);
ea.name = QStringLiteral("Test_AE__").toStdString();
ea.id = 0;
ea.cannonCount = 10;
@@ -821,7 +821,7 @@ FunctionalAreaModifyRequest ModuleTestLimits::getFA()
fa.id = 0;
fa.effectStart = QDateTime::currentMSecsSinceEpoch() + 30000000;
fa.effectDuration = 100000;
fa.area(AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70));
fa.area = AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70);
fa.chargeTypeId = 311;
fa.partyId = 2;
fa.deconMode = AreaEffectSimulation::AesOperatingMode::OmWaitingTime;
@@ -838,7 +838,7 @@ TechnicalAreaModifyRequest ModuleTestLimits::getTA()
{
auto ta = TechnicalAreaModifyRequest();
ta.id = 0;
ta.area(AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70));
ta.area = AreaEffectSimulation::Area(m_decentralPoint, 500, 600, 70);
ta.type = AreaEffectSimulation::AesTechnicalAreaType::TatRestingAreaVehicle;
return ta;
}
@@ -1145,7 +1145,7 @@ void ModuleTestLimits::setupParticipant()
req.participantId = 6; // according testDB
req.onlyOutdatedParticipants = false;
req.position(Core::GeoPosition(m_partPos.lon, m_partPos.lat, 0.0));
req.position = Core::GeoPosition(m_partPos.lon, m_partPos.lat, 0.0);
INFO_LOG(m_logger) << " setSimulatedPositionRequest ...";
m_replyError = true;
@@ -1189,7 +1189,7 @@ void ModuleTestLimits::deleteAesAreas()
NOTICE_LOG(m_logger) << " removing most AesObject...";
const QVector<AesEffectState::type> sts = {AesEffectState::EsExpired, AesEffectState::EsRemoved, AesEffectState::EsActivated};
const QVector<AesEffectState> sts = {AesEffectState::EsExpired, AesEffectState::EsRemoved, AesEffectState::EsActivated};
auto clusters = m_aesDtc->explosionClusters();
for (auto cluster : qAsConst(clusters))
@@ -159,7 +159,7 @@ void ModuleTestAesOthers::onAesItemViewChanged(const AesItemView &aesItemView, D
if (modType == DataModification::eRemoved)
return;
AreaEffectSimulation::AesType::type aesType = aesItemView.aesTypeId().underlying();
AreaEffectSimulation::AesType aesType = static_cast<AreaEffectSimulation::AesType>(aesItemView.aesTypeId());
DEBUG_LOG(m_logger) << " got onAesItemViewChanged, aesType=" << aesType;
switch (aesType)
@@ -302,7 +302,7 @@ void ModuleTestAesOthers::setupParticipants()
const LtsCoordTrans::UtmCoordinate &utmPos =
LtsCoordTrans::UtmCoordinate::fromMgrs(QStringLiteral("32UPD7690018100")); // 32U PD 76900 18100
QPointF pos = utmPos.geographic();
req.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
INFO_LOG(m_logger) << " setSimulatedPositionRequest ...";
m_replyError = true;
@@ -390,7 +390,7 @@ int ModuleTestAesOthers::doMoveParticipant(int participantId, const QString &new
const LtsCoordTrans::UtmCoordinate &utmPos =
LtsCoordTrans::UtmCoordinate::fromMgrs(newPositionMGRS); // 32U PD 76900 18100
QPointF pos = utmPos.geographic();
req.position(Core::GeoPosition(pos.x(), pos.y(), 0.0));
req.position = Core::GeoPosition(pos.x(), pos.y(), 0.0);
INFO_LOG(m_logger) << " setSimulatedPositionRequest ...";
m_replyError = true;
@@ -114,7 +114,7 @@ void TestExplosionCluster::tryCreateExplosionCluster()
eaData.effectDuration(),
eaData.effectSourceId(),
eaData.area(),
AreaEffectSimulation::AesExplosionGeometry_def::EgArea,
AreaEffectSimulation::AesExplosionGeometry::EgArea,
0, // zog
eaData.mhPoints().size(), // mhpCount;
dds::core::optional<double>(), // mhpRotation for ExplosionClusterOcModify only
@@ -106,7 +106,7 @@ void TestMineArea::tryCreateMineArea()
esData.width(7.0);
esData.partyId(7);
esData.participantId(1234);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType_def::LptArtillery);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType::LptArtillery);
esData.isLaidHidden(true);
std::vector<Core::GeoPosition2D> segments;
@@ -440,7 +440,7 @@ void TestMineArea::tryModifyMineArea()
m_maData.width(7.0);
m_maData.partyId(8);
m_maData.participantId(1235);
m_maData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType_def::LptArtillery);
m_maData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType::LptArtillery);
m_maData.isLaidHidden(false);
const AreaEffectSimulation::MineArea esData(m_maData);
m_maData = AreaEffectSimulation::MineArea();
@@ -511,7 +511,7 @@ void TestMineArea::tryCreateAnotherMineArea()
esData.width(7.0);
esData.partyId(7);
esData.participantId(1234);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType_def::LptArtillery);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType::LptArtillery);
esData.isLaidHidden(false);
std::vector<Core::GeoPosition2D> segments;
@@ -571,7 +571,7 @@ void TestMineArea::tryCreateMineArea2(int chargeTypeId, double density)
esData.width(7.0);
esData.partyId(7);
esData.participantId(1234);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType_def::LptArtillery);
esData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType::LptArtillery);
esData.isLaidHidden(false);
std::vector<Core::GeoPosition2D> segments;
@@ -44,8 +44,8 @@ Q_DECL_CONSTEXPR inline bool operator!=(const TrajectoryPoint &p1, const Traject
return p1.position != p2.position || p1.time != p2.time;
}
// Must live in this namespace so that ADL finds it from generic stream helpers
// (e.g. NGL::LogStreamHelper::operator<<), which rely on argument-dependent lookup.
TRAJECTORY_EXPORT std::ostream &operator<< (std::ostream &stream, const TrajectoryPoint &value);
} // namespace AreaEffectSimulation
// at global namespace:
TRAJECTORY_EXPORT std::ostream &operator<< (std::ostream &stream, const AreaEffectSimulation::TrajectoryPoint &value);
@@ -75,12 +75,12 @@ QVector<TrajectoryPoint> transformToNewTarget(
}
} // namespace TrajectoryTransform
} // namespace AreaEffectSimulation
std::ostream &operator<< (std::ostream &stream, const AreaEffectSimulation::TrajectoryPoint &value)
std::ostream &operator<< (std::ostream &stream, const TrajectoryPoint &value)
{
stream << "TrajectoryPoint(" << "position=" << value.position << "; time=" << value.time;
return stream;
}
} // namespace AreaEffectSimulation
@@ -82,7 +82,7 @@ void ObjectExplosionSingleCentral::onPublishData()
partitionTimeMSec(),
m_data.chargeTypeId,
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
toOptional(m_data.partyId),
toOptional(m_data.participantId),
@@ -9,7 +9,7 @@
#include <QtCore/QObject>
#include <QtCore/QTimer>
#include <QtCore/QString>
#include <aes_enums.hpp>
#include <AreaEffectSimulation/aes_enums.hpp>
#include "logger.h"
@@ -218,7 +218,7 @@ public:
}
if (succ)
return Core::FunctionReplyObject();
return Core::FunctionReplyObject(id, tr_lts("dds", "Could not switch effect simulation with id %1 to state with id %2.")).arg(id).arg(effectState);
return Core::FunctionReplyObject(id, tr_lts("dds", "Could not switch effect simulation with id %1 to state with id %2.")).arg(id).arg(static_cast<int>(effectState));
}
Core::FunctionReplyObject aesItemRemove(const Core::RemoveElementRequest &request)
@@ -342,9 +342,9 @@ void HandlerEffectCluster::onEffectClusterSingleEffectOnlyModifyRequest(const rt
ecCommonModifyRequest.effectDuration(1000);
// charge and geometry:
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry::EgPoint);
// ecCommonModifyRequest.zog(0);
ecCommonModifyRequest.fuseType(ProjectDataManagement::FuseType_def::FtImpact);
ecCommonModifyRequest.fuseType(ProjectDataManagement::FuseType::FtImpact);
ecCommonModifyRequest.chargeTypeId(request.chargeTypeId());
// height, width are <=0 -> area will be adjusted using impactRadius of charge:
@@ -491,7 +491,7 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterCreateRequest(const
const bool bChargeIsAirSupport = gearClass == ProjectDataManagement::GearClass::GearClass_AirSupport;
ifs->setAirSupportSource(bChargeIsAirSupport);
// Now we always need to send fire ready, never without
newData.effectorState = AesEffectorState::EsNotReadyToFire;
newData.effectorState = static_cast<int>(AesEffectorState::EsNotReadyToFire);
const Core::FunctionReplyObject ret = ifs->createObject(newData, newEffectorDataVec);
@@ -311,7 +311,7 @@ Core::FunctionReplyObject HandlerFunctionalArea::functionalAreaModifyRequest(con
// Supply-Truck always isCentral
// if ( request.supplyMode() == AesOperatingMode_def::OmWaitingTime)
// if ( request.supplyMode() == AesOperatingMode::OmWaitingTime)
// {
// isCentral = true;
// wasCentral = true;
@@ -202,7 +202,7 @@ Core::FunctionReplyObject HandlerGasPipe::gasPipeModifyRequest(const GasPipeModi
// bool isCentral = ifs->checkIsCentral(_form);
// bool wasCentral = ifs->data().isCentral;
// // Supply-Truck always isCentral
// // if ( request.supplyMode() == AesOperatingMode_def::OmWaitingTime)
// // if ( request.supplyMode() == AesOperatingMode::OmWaitingTime)
// // {
// // isCentral = true;
// // wasCentral = true;
@@ -956,7 +956,7 @@ bool HandlerMineArea::fillFromMineAreaReferenceRequest(const MineAreaReferenceMo
const auto chargeType = m_mainHandler->dds()->pdmDtc()->chargeType(inReq.chargeTypeId);
const QJsonObject chargeTypePropObj = QJsonDocument::fromJson(chargeType.properties.c_str()).object();
const qint64 effectStart = mineData->armingTime();
const qint64 effectStart = mineData->armingTime;
const int effectDurationMsec = inReq.effectDurationMsec;
auto effectCluster = m_mainHandler->effectClusterHandler()->getEffectClusterObj(inReq.referenceAesItemId); // get partyId from effect cluster object
if (!effectCluster)
@@ -1001,14 +1001,14 @@ bool HandlerMineArea::fillFromMineAreaReferenceRequest(const MineAreaReferenceMo
dbData.effectSourceId = effectCluster->data().effectSourceId;
dbData.partyId = effectCluster->data().partyId;
dbData.chargeTypeId = chargeType.id;
dbData.participantId = LtsUtils::toOptional(0);
dbData.participantId = 0;
dbData.density = density;
dbData.width = width;
dbData.layingProcedureTypeId = layingProcedure;
dbData.isLaidHidden = isLaidHidden;
dbData.effectMarkingInTa = effectMarkingTa;
dbData.isCenterLine = isCenterLine;
dbData.externalId = LtsUtils::toOptional(0LL);
dbData.externalId = 0;
dbData.isCentral = true;
return true;
@@ -187,7 +187,7 @@ Core::FunctionReplyObject HandlerReconArea::switchTo(int id, AesEffectState effe
}
if (succ)
return Core::FunctionReplyObject();
return Core::FunctionReplyObject(id, tr_lts("dds", "Could not switch effect simulation with id %1 to state with id %2.")).arg(id).arg(effectState);
return Core::FunctionReplyObject(id, tr_lts("dds", "Could not switch effect simulation with id %1 to state with id %2.")).arg(id).arg(static_cast<int>(effectState));
}
void HandlerReconArea::onReconAreaRemoveRequest(const rti::core::SampleIdentity &cookie,
@@ -71,7 +71,7 @@ void ObjectAirSupportImpact::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -129,10 +129,10 @@ class ObjectBase : public QObject
static qint64 toMSec(const QDateTime &dt);
template <typename T> dds::core::optional<T> toOptional(T inVal) { return inVal != T() ? dds::core::optional<T>(inVal) : dds::core::optional<T>(); }
dds::core::optional<qint64> toOptional(const QDateTime &dt)
dds::core::optional<int64_t> toOptional(const QDateTime &dt)
{
qint64 t = (dt.isValid() && !dt.isNull()) ? dt.toMSecsSinceEpoch() : 0;
return toOptional(t);
return toOptional<int64_t>(t);
}
template <typename T, typename U> static inline void ddsVecFromPoly(const T &in, const U &heights, std::vector<Core::GeoPosition> &out)
@@ -182,7 +182,7 @@ void ObjectBCContamination::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -130,7 +130,7 @@ void ObjectBoobyTrap::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId, 0,0 },
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -182,7 +182,7 @@ void ObjectBorderline::onPublishData()
ddsData.sampleTime = m_mainHandler->dds()->currentPartitionTimeMSec();
ddsData.chargeStruct.chargeTypeId = m_data.chargeTypeId;
ddsData.effectDuration = m_data.effectDuration;
ddsData.effectStart = toOptional(toMSec(m_data.effectStart));
ddsData.effectStart = toOptional<int64_t>(toMSec(m_data.effectStart));
ddsData.effectStateId = effectState();
ddsData.partyId = toOptional(m_data.partyId);
ddsData.participantId = toOptional(m_data.participantId);
@@ -15,7 +15,7 @@
#include <aes_db.h>
#include <aes_dtc.h>
#include <aes_ftc.h>
#include <aes_enums.hpp>
#include <AreaEffectSimulation/aes_enums.hpp>
class QTimer;
@@ -163,7 +163,7 @@ void ObjectDangerArea::onPublishData()
m_mainHandler->dds()->currentPartitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
effectState(),
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -817,9 +817,9 @@ Core::FunctionReplyObject ObjectEffectCluster::checkObjectData(const Database::A
Core::FunctionReplyObject ret;
using geoType = AreaEffectSimulation::AesExplosionGeometry_def;
const geoType::type curExGeoType = data.explosionGeometryId.underlying();
static const QVector<geoType::type> ecValidGeos = {AreaEffectSimulation::AesExplosionGeometry::EgAimPoint, // 0 -> default
using geoType = AreaEffectSimulation::AesExplosionGeometry;
const geoType curExGeoType = data.explosionGeometryId;
static const QVector<geoType> ecValidGeos = {AreaEffectSimulation::AesExplosionGeometry::EgAimPoint, // 0 -> default
AreaEffectSimulation::AesExplosionGeometry::EgPoint,
AreaEffectSimulation::AesExplosionGeometry::EgArea,
AreaEffectSimulation::AesExplosionGeometry::EgRadial,
@@ -1089,7 +1089,7 @@ void ObjectEffectCluster::onPublishData()
0, // partitionTimeMSec(),
{m_effectorData.begin().value().chargeTypeId, m_effectorData.begin().value().igniterTypeId, m_effectorData.begin().value().igniterFunctionId},
m_data.effectDuration, // pause/resume: remainDuration
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -1289,7 +1289,7 @@ void ObjectEffectCluster::adjustTrajectoryToDetonationLocation(int explosionInde
// Effects:
std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = m_effects.singleEffects;
SingleEffect &ref = singleEffectsRef[explosionIndex];
// ref.effectState(AesSingleEffectState_def::SesScheduled);
// ref.effectState(AesSingleEffectState::SesScheduled);
ref.position = intersectionLocation;
ref.zPlacement = AesZPlacement::ZpAbsolute; // intersection: change from draped to relative
// m_effectsHaveChanged = true;
@@ -1478,7 +1478,7 @@ void ObjectEffectCluster::publishAiv()
// AtEffectClusterGunToTargetLine is suppressed at map display, when main object changes to EsActivated
// So it does not have to be changed/published anymore.
// Especially helpful while restarting scvAes!
static QVector<AesEffectState::type> relevantEffStates = {AesEffectState::EsReceived,
static QVector<AesEffectState> relevantEffStates = {AesEffectState::EsReceived,
AesEffectState::EsCreated,
AesEffectState::EsPrepared,
AesEffectState::EsFired,
@@ -3298,7 +3298,7 @@ bool ObjectEffectCluster::overrideEffectorStates(const AesEffectorState &newStat
case AesEffectorState::EsReadyToFire:
{
// Override internal state in case DMF is not ready yet
m_data.effectorState = AesEffectorState::EsReadyToFire;
m_data.effectorState = static_cast<int>(AesEffectorState::EsReadyToFire);
DEBUG_LOG(m_logger) << "Set Ready to Fire !";
onPublishData();
@@ -227,7 +227,7 @@ void ObjectExplosionArea::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -647,9 +647,9 @@ Core::FunctionReplyObject ObjectExplosionCluster::checkObjectData(const Database
Core::FunctionReplyObject ret;
using geoType = AreaEffectSimulation::AesExplosionGeometry_def;
const geoType::type curExGeoType = data.explosionGeometryId.underlying();
static const QVector<geoType::type> ecValidGeos = {AreaEffectSimulation::AesExplosionGeometry::EgAimPoint, // 0 -> default
using geoType = AreaEffectSimulation::AesExplosionGeometry;
const geoType curExGeoType = data.explosionGeometryId;
static const QVector<geoType> ecValidGeos = {AreaEffectSimulation::AesExplosionGeometry::EgAimPoint, // 0 -> default
AreaEffectSimulation::AesExplosionGeometry::EgPoint,
AreaEffectSimulation::AesExplosionGeometry::EgArea,
AreaEffectSimulation::AesExplosionGeometry::EgRadial,
@@ -675,7 +675,7 @@ Core::FunctionReplyObject ObjectExplosionCluster::checkObjectData(const Database
else if (!ecValidGeos.contains(curExGeoType))
reason = QString(QStringLiteral("ExplosionGeometryType not supported yet (%1)")).arg(static_cast<int>(curExGeoType));
// else if ((curExGeoType == AreaEffectSimulation::AesExplosionGeometry_def::EgArea) &&
// else if ((curExGeoType == AreaEffectSimulation::AesExplosionGeometry::EgArea) &&
// (data.impactCount <= 2))
// reason = QString(QStringLiteral("ImpactCount invalid (%1)")).arg(QStringLiteral("Area requires at least 2 impacts"));
@@ -1065,7 +1065,7 @@ void ObjectExplosionCluster::onPublishData()
0, // partitionTimeMSec(),
{m_data.chargeTypeId, m_data.igniterTypeId, m_data.igniterFunctionId},
m_data.effectDuration, // pause/resume: remainDuration
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -1297,7 +1297,7 @@ void ObjectExplosionCluster::adjustTrajectoryToDetonationLocation(int explosionI
// Effects:
std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = m_effects.singleEffects;
SingleEffect &ref = singleEffectsRef[explosionIndex];
// ref.effectState(AesSingleEffectState_def::SesScheduled);
// ref.effectState(AesSingleEffectState::SesScheduled);
ref.position = intersectionLocation;
ref.zPlacement = AesZPlacement::ZpAbsolute; // intersection: change from draped to relative
// m_effectsHaveChanged = true;
@@ -1558,7 +1558,7 @@ void ObjectExplosionCluster::publishAiv()
// AtExplosionClusterGunToTargetLine is suppressed at map display, when main object changes to EsActivated
// So it does not have to be changed/published anymore.
// Especially helpful while restarting scvAes!
static QVector<AesEffectState::type> relevantEffStates = {
static QVector<AesEffectState> relevantEffStates = {
AesEffectState::EsCreated,
AesEffectState::EsPrepared,
AesEffectState::EsActivated, // 2026-05-27, N.Thoden: E01562-393: GTL auch bei EsFired anzeigen, daher auch bei EsActivated
@@ -1886,9 +1886,9 @@ void ObjectExplosionCluster::checkNextFire()
// continue;
// SingleEffect &ref = singleEffectsRef[idx];
// if (ref.singleEffectState().underlying() != AesSingleEffectState_def::SesTriggered)
// if (ref.singleEffectState().underlying() != AesSingleEffectState::SesTriggered)
// {
// ref.singleEffectState(AesSingleEffectState_def::SesTriggered);
// ref.singleEffectState(AesSingleEffectState::SesTriggered);
// ref.singleEffectTime(curPartTime);
// bChanged = true;
// }
@@ -143,7 +143,7 @@ void ObjectExplosionSingle::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -156,7 +156,7 @@ void ObjectFunctionalArea::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -190,7 +190,7 @@ void ObjectGasPipe::onPublishData()
ddsData.sampleTime = m_mainHandler->dds()->currentPartitionTimeMSec();
ddsData.chargeStruct.chargeTypeId = m_data.chargeTypeId;
ddsData.effectDuration = m_data.effectDuration;
ddsData.effectStart = toOptional(toMSec(m_data.effectStart));
ddsData.effectStart = toOptional<int64_t>(toMSec(m_data.effectStart));
ddsData.width = m_data.width;
ddsData.effectStateId = effectState();
ddsData.partyId = toOptional(m_data.partyId);
@@ -1370,7 +1370,7 @@ void ObjectMineArea::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId, 0, 0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -33,7 +33,7 @@ ObjectMineAreaNull::ObjectMineAreaNull(MainHandler *mainHandler,
}
// Set TriggeredExplosions Base Data
m_tis.id = AesType::AtMineAreaSingleMines;
m_tis.id = static_cast<int>(AesType::AtMineAreaSingleMines);
m_tis.aesItemId = 0;
m_tis.aesTypeId = AesType::AtMineAreaSingleMines;
@@ -259,7 +259,7 @@ void ObjectMineAreaNull::publishAiv()
aiv2.boundingBoxBottomLeft = Core::GeoPosition2D(tmp.boundingRect().bottomLeft().x(), tmp.boundingRect().bottomLeft().y());
aiv2.boundingBoxTopRight = Core::GeoPosition2D(tmp.boundingRect().topRight().x(), tmp.boundingRect().topRight().y());
aiv2.aesTypeId = AesType::AtMineAreaSingleMines;
aiv2.id = AesType::AtMineAreaSingleMines;
aiv2.id = static_cast<int>(AesType::AtMineAreaSingleMines);
aiv2.effectStateId = AesEffectState::EsActivated;
aiv2.setId = dds::core::optional<rti::core::int64>(m_setId);
if (m_data.partyId != 0)
@@ -173,7 +173,7 @@ void ObjectMineCorridor::onPublishData()
m_mainHandler->dds()->currentPartitionTimeMSec(),
{m_data.chargeTypeId, 0,0 },
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
effectState(),
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -117,7 +117,7 @@ void ObjectNContamination::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -136,7 +136,7 @@ void ObjectOffRouteMine::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
toOptional(m_data.partyId),
@@ -94,7 +94,7 @@ void ObjectReconArea::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
dds::core::optional<int32_t>(),
@@ -90,7 +90,7 @@ void ObjectTechnicalArea::onPublishData()
partitionTimeMSec(),
{m_data.chargeTypeId,0,0},
m_data.effectDuration,
toOptional(toMSec(m_data.effectStart)),
toOptional<int64_t>(toMSec(m_data.effectStart)),
m_data.effectStateId,
m_data.effectSourceId,
dds::core::optional<int32_t>(),
@@ -26,7 +26,7 @@ public:
// [E01562-259] use originatorId, originatorTypeId (instead of aesItemId, aesTypeId)
// int aesItemId = -1;
// AesType aesTypeId = AesType::inner_enum::AtUnknown;
// AesType aesTypeId = AesType::AtUnknown;
int originatorId = -1;
ProjectDataManagement::StateChangeOriginator originatorTypeId = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
qint64 startTime = 0;