Migrates remaining services and plugins to generated rtiddsgen API
Converts accessor calls to plain member access across the residual service set.
This commit is contained in:
104 files changed
+2424
-2430
No files matched your search
+38
-38
@@ -88,10 +88,10 @@ void HandlerMinelayerData::onSpecialSensorDataChanged(const TrainingAreaBase::Sp
|
||||
if (modType != DataModification::eAdded &&
|
||||
modType != DataModification::eModified)
|
||||
return;
|
||||
if (data.operationalState() != MV_VERLEGEN &&
|
||||
data.operationalState() != WMV_VERLEGEN)
|
||||
if (data.operationalState != MV_VERLEGEN &&
|
||||
data.operationalState != WMV_VERLEGEN)
|
||||
return;
|
||||
if (!data.position().is_set())
|
||||
if (!data.position.is_set())
|
||||
return;
|
||||
{
|
||||
// convert TrainingAreaBase::LaneData back to sondersensorik_fahrspur_rt
|
||||
@@ -99,10 +99,10 @@ void HandlerMinelayerData::onSpecialSensorDataChanged(const TrainingAreaBase::Sp
|
||||
//Interpretationsstatus auf 0 setzen
|
||||
daten_intern.intstat = 0;
|
||||
|
||||
daten_intern.daten.header.identitaet = data.equipmentNumber();
|
||||
daten_intern.daten.gps_zeit.gps_zeit = data.sampleTime() / 1000;
|
||||
daten_intern.daten.gps_position = relativeFromGeographic(data.position().get().lon(), data.position().get().lat());
|
||||
daten_intern.daten.ss_betriebszustand = data.operationalState();
|
||||
daten_intern.daten.header.identitaet = data.equipmentNumber;
|
||||
daten_intern.daten.gps_zeit.gps_zeit = data.sampleTime / 1000;
|
||||
daten_intern.daten.gps_position = relativeFromGeographic(data.position.get().lon, data.position.get().lat);
|
||||
daten_intern.daten.ss_betriebszustand = data.operationalState;
|
||||
|
||||
// old code copied from zssi_wi_Empfaenger.cpp
|
||||
/*
|
||||
@@ -132,16 +132,16 @@ void HandlerMinelayerData::onSpecialSensorDataChanged(const TrainingAreaBase::Sp
|
||||
template<typename T>
|
||||
void HandlerMinelayerData::convertMinelayerDataToXdrData(const TrainingAreaBase::MinelayerTrailerData &inData, T &outData)
|
||||
{
|
||||
outData.header.identitaet = inData.equipmentNumber();
|
||||
outData.gps_zeit.gps_zeit = inData.sampleTime() / 1000; // derived from Tetra telegram
|
||||
outData.header.identitaet = inData.equipmentNumber;
|
||||
outData.gps_zeit.gps_zeit = inData.sampleTime / 1000; // derived from Tetra telegram
|
||||
|
||||
outData.gps_position = relativeFromGeographic(inData.position().lon(), inData.position().lat());
|
||||
outData.verlegedaten.sperren_id = inData.barrierId();
|
||||
outData.verlegedaten.verlegedichte = inData.layingDensity();
|
||||
outData.verlegedaten.wirkbeginn.gps_zeit = inData.effectStart() / 1000; // derived from Tetra telegram
|
||||
outData.verlegedaten.wirkzeit = inData.effectDuration();
|
||||
outData.verlegedaten.minentyp = inData.chargeTypeId();
|
||||
outData.verlegedaten.anzahl_verlegter_minen = inData.mineCount();
|
||||
outData.gps_position = relativeFromGeographic(inData.position.lon, inData.position.lat);
|
||||
outData.verlegedaten.sperren_id = inData.barrierId;
|
||||
outData.verlegedaten.verlegedichte = inData.layingDensity;
|
||||
outData.verlegedaten.wirkbeginn.gps_zeit = inData.effectStart / 1000; // derived from Tetra telegram
|
||||
outData.verlegedaten.wirkzeit = inData.effectDuration;
|
||||
outData.verlegedaten.minentyp = inData.chargeTypeId;
|
||||
outData.verlegedaten.anzahl_verlegter_minen = inData.mineCount;
|
||||
}
|
||||
|
||||
void HandlerMinelayerData::onMinelayerTrailerData(const TrainingAreaBase::MinelayerTrailerData &data, DataModification modType)
|
||||
@@ -194,7 +194,7 @@ void HandlerMinelayerData::onMinelayerThrowerData(const TrainingAreaBase::Minela
|
||||
{
|
||||
VERLEGEDATEN_INTERN daten_intern;
|
||||
convertMinelayerDataToXdrData(data, daten_intern.daten);
|
||||
daten_intern.daten.verlegedaten.ausstossart = static_cast<ausstossart_et>(data.throwingType().underlying());
|
||||
daten_intern.daten.verlegedaten.ausstossart = static_cast<ausstossart_et>(data.throwingType);
|
||||
|
||||
/*
|
||||
if ( checkeTelegrammZeit(telegramm_rt.gps_zeit.gps_zeit) ) {
|
||||
@@ -240,8 +240,8 @@ Core::GeoPosition2D HandlerMinelayerData::geographicFromRelative(const gps_posit
|
||||
const QPointF point(m_baseCoord.geographic(position.utm_ostwert - m_baseCoord.x, position.utm_nordwert - m_baseCoord.y));
|
||||
|
||||
Core::GeoPosition2D ret;
|
||||
ret.lon(point.x());
|
||||
ret.lat(point.y());
|
||||
ret.lon = point.x();
|
||||
ret.lat = point.y();
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -267,9 +267,9 @@ int HandlerMinelayerData::partyIdFromEquipmentNumber(int eqNumber) const
|
||||
std::function<bool(const ParticipantManagement::Participant &data)> cb =
|
||||
[eqNumber, &partyId](const ParticipantManagement::Participant & participant) -> bool
|
||||
{
|
||||
if (participant.equipmentNumber() == eqNumber)
|
||||
if (participant.equipmentNumber == eqNumber)
|
||||
{
|
||||
partyId = participant.partyId();
|
||||
partyId = participant.partyId;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -292,18 +292,18 @@ static inline double compassFromMathAngleForSfm(int mathAngle)
|
||||
void HandlerMinelayerData::onSendMinefield(const wirkfeld_minensperre_rt &minefield, int fzArt)
|
||||
{
|
||||
AreaEffectSimulation::MineArea outData;
|
||||
outData.participantId(minefield.header.identitaet);
|
||||
outData.partyId(partyIdFromEquipmentNumber(minefield.header.identitaet)); // Get from PPM;
|
||||
outData.name(QString::fromUtf8(tr_lts("dds", "_%1")).arg(minefield.beschreibung.kennung).toStdString());
|
||||
outData.effectStart(minefield.beschreibung.wirkbeginn.gps_zeit * 1000LL); // derived from Tetra telegram
|
||||
outData.effectDuration(minefield.beschreibung.wirkdauer * (1000 * 60 * 60)); // orig resolution is 1h based
|
||||
outData.density(minefield.beschreibung.verlegedichte / 100.0); // derived from Tetra telegram
|
||||
outData.chargeStruct().chargeTypeId(minefield.beschreibung.minentyp); // is already in TAB converted to chargeTypeId
|
||||
outData.layingProcedureType(static_cast<AreaEffectSimulation::AesMaLayingProcedureType::inner_enum>(fzArt));
|
||||
outData.width(minefield.beschreibung.verlegetiefe);
|
||||
outData.isLaidHidden(false);
|
||||
outData.layingProcedureType(AreaEffectSimulation::AesMaLayingProcedureType::LptPioneer);
|
||||
outData.isCenterLine(true);
|
||||
outData.participantId = minefield.header.identitaet;
|
||||
outData.partyId = partyIdFromEquipmentNumber(minefield.header.identitaet); // Get from PPM;
|
||||
outData.name = QString::fromUtf8(tr_lts("dds", "_%1")).arg(minefield.beschreibung.kennung).toStdString();
|
||||
outData.effectStart = minefield.beschreibung.wirkbeginn.gps_zeit * 1000LL; // derived from Tetra telegram
|
||||
outData.effectDuration = minefield.beschreibung.wirkdauer * (1000 * 60 * 60); // orig resolution is 1h based
|
||||
outData.density = minefield.beschreibung.verlegedichte / 100.0; // derived from Tetra telegram
|
||||
outData.chargeStruct.chargeTypeId = minefield.beschreibung.minentyp; // is already in TAB converted to chargeTypeId
|
||||
outData.layingProcedureType = static_cast<AreaEffectSimulation::AesMaLayingProcedureType>(fzArt);
|
||||
outData.width = minefield.beschreibung.verlegetiefe;
|
||||
outData.isLaidHidden = false;
|
||||
outData.layingProcedureType = AreaEffectSimulation::AesMaLayingProcedureType::LptPioneer;
|
||||
outData.isCenterLine = true;
|
||||
|
||||
// segments
|
||||
std::vector<AreaEffectSimulation::MineSegment> segVec;
|
||||
@@ -311,23 +311,23 @@ void HandlerMinelayerData::onSendMinefield(const wirkfeld_minensperre_rt &minefi
|
||||
for (const auto &seg : minefield.beschreibung.segmente)
|
||||
{
|
||||
AreaEffectSimulation::MineSegment segment;
|
||||
segment.positionStart(geographicFromRelative(seg.startpunkt));
|
||||
const LtsCoordTrans::UtmCoordinate startPositionUtm = LtsCoordTrans::UtmCoordinate::fromGeographic({segment.positionStart().lon(), segment.positionStart().lat()});
|
||||
segment.positionStart = geographicFromRelative(seg.startpunkt);
|
||||
const LtsCoordTrans::UtmCoordinate startPositionUtm = LtsCoordTrans::UtmCoordinate::fromGeographic({segment.positionStart.lon, segment.positionStart.lat});
|
||||
|
||||
QLineF line;
|
||||
line.setP1({startPositionUtm.x, startPositionUtm.y});
|
||||
line.setAngle(seg.drehwinkel);
|
||||
line.setLength(double(seg.anzahl / outData.density()));
|
||||
line.setLength(double(seg.anzahl / outData.density));
|
||||
|
||||
LtsCoordTrans::UtmCoordinate endPositionUtm = startPositionUtm;
|
||||
endPositionUtm.x = line.p2().x();
|
||||
endPositionUtm.y = line.p2().y();
|
||||
|
||||
QPointF endPos = endPositionUtm.geographic();
|
||||
segment.positionEnd({endPos.x(), endPos.y()});
|
||||
segment.positionEnd = {endPos.x(), endPos.y()};
|
||||
segVec.emplace_back(segment);
|
||||
}
|
||||
outData.segments(segVec);
|
||||
outData.segments = segVec;
|
||||
|
||||
INFO_LOG(m_logger) << "Sending new minefield from generator to AES: " << outData;
|
||||
|
||||
|
||||
Reference in new issue
Block a user