Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/generatetelegrams.cpp
T

846 lines
29 KiB
C++
Executable File

#include "generatetelegrams.h"
#include <QRandomGenerator>
GenerateTelegrams::GenerateTelegrams() {}
void GenerateTelegrams::addHeaderData(AdlerJson::EXTelegramBase &tele, const int saaId, const QString referenceUuid)
{
tele.sender = QStringLiteral("SAA%1@GUEZ.DE").arg(saaId);
tele.receiver = QStringLiteral("EXCON@GUEZ.DE");
tele.timestamp = QDateTime::currentDateTime().toString(Qt::DateFormat::ISODate);
tele.referenceUuid = referenceUuid;
}
void GenerateTelegrams::generateConnectMessage(AdlerJson::EXRegistration &exRegistration, int partyId, bool isVerbund)
{
exRegistration.partyId = partyId;
exRegistration.adlerVerbund = isVerbund;
exRegistration.szenar = QStringLiteral("UI Test");
}
void GenerateTelegrams::generateConnectResponseMessage(AdlerJson::ExAnmeldebestaetigung &exAnmeldebestaetigung)
{
exAnmeldebestaetigung.anBestaetigungsdaten.error = AdlerJson::L45_AnmeldebestaetigungFehlercode::Ok;
}
void GenerateTelegrams::generateDisconnectMessage(AdlerJson::EXDeregistration &eXDeregistration, int partyId) { eXDeregistration.partyId = partyId; }
void GenerateTelegrams::generateStatusMessage(AdlerJson::EXStatus &exStatus, AdlerJson::Szenarstatus status) { exStatus.status = status; }
void GenerateTelegrams::generateConnectionTestMessage() {}
void GenerateTelegrams::generateZieldaten(AdlerJson::Zieldaten &wzd)
{
wzd.nummer = 7;
wzd.geometrie = ProjectDataManagement::L4_TargetGeometry::Point;
AdlerJson::KoordinateMitHoehe zap;
zap.hoehe = 0;
AdlerJson::Koordinate zkn;
zkn.latitude = 53.0672;
zkn.longitude = 8.86687;
zap.koordinate = zkn;
wzd.koordinate = zap;
AdlerJson::KoordinateMitHoehe zapr;
zapr.hoehe = 5;
zapr.koordinate.latitude = 53.8;
zapr.koordinate.longitude = 8.8;
wzd.relativKoordinate = zapr;
wzd.breiteRadius = 25;
wzd.tiefe = 26;
wzd.zielachse = 17;
wzd.zog = 7;
wzd.elemente = 1;
wzd.typ = QStringLiteral("PERS");
wzd.subTyp = QStringLiteral("APERS");
}
void GenerateTelegrams::generateWirkmittelFeuerkommando_Gmlrs(QVector<AdlerJson::WirkmittelFeuerkommandoRakete> &wfrs)
{
AdlerJson::Treffpunkt treffpunkt;
treffpunkt.anzahl = 1;
treffpunkt.koordinate.koordinate.latitude = 5.5;
treffpunkt.koordinate.koordinate.longitude = 6.6;
treffpunkt.koordinate.hoehe = 7;
AdlerJson::WirkmittelFeuerkommandoRakete wfr;
wfr.kenner = ProjectDataManagement::L27_EffectorId::B1;
wfr.treffpunkte.append(treffpunkt);
wfr.flugzeit = 456.3;
wfr.gipfelhoehe = 300;
wfr.schussrichtung = 30.0;
wfr.fallwinkel = 5;
wfr.anflug = ProjectDataManagement::L48_TrajectoryRocket::Nominal;
wfr.gps = ProjectDataManagement::L46_GpsFrequency::L1;
wfr.wirkzeit = 55;
wfrs.append(wfr);
}
void GenerateTelegrams::generateEXFQBABBFK(AdlerJson::ExAwesPlanning &req)
{
AdlerJson::WirkfeldplanungData wfp;
wfp.feuerkampfReferenz = QStringLiteral("REF:%1").arg(QRandomGenerator::global()->bounded(1000000));
generateZieldaten(wfp.zieldaten);
wfp.abfeuerungsArt = AdlerJson::Abfeuerungsart::A;
wfp.forderung = ProjectDataManagement::L7_Request::VER;
wfp.dauer = 0;
AdlerJson::Feuerkommando fk;
{
fk.verein = QStringLiteral("AB7X");
fk.typ = ProjectDataManagement::L26_EffectingSystemType::RRohr;
QVector<AdlerJson::WirkmittelFeuerkommando> fkl;
{
AdlerJson::WirkmittelFeuerkommando wfk;
wfk.kenner = ProjectDataManagement::L27_EffectorId::B1;
AdlerJson::KoordinateMitHoehe ap;
ap.hoehe = 0;
AdlerJson::Koordinate kn;
kn.latitude = 53.0672;
kn.longitude = 8.86687;
ap.koordinate = kn;
wfk.auftreffpunkt = ap;
wfk.flugzeit = 30;
wfk.gipfelhoehe = 377;
wfk.schussrichtung = 177;
AdlerJson::FeuerkommandoGeschosse wfg;
{
wfg.geschosssorte = QStringLiteral("Spreng DM121");
wfg.ladung = QStringLiteral("M DM72");
wfg.zuender = QStringLiteral("Aufschlag BB DM371");
wfg.zuenderFunktion = QStringLiteral("AZoV");
wfg.zuenderZeit = 0;
wfg.anzahl = 7;
wfg.intervall = 1.0;
}
wfk.geschoss = wfg;
QVector<AdlerJson::Flugbahnpunkt> fpl;
{
AdlerJson::Flugbahnpunkt fp;
fp.zRelativ = 300;
fp.xRelativ = 200;
fp.yRelativ = 77;
fp.zeit = 17;
fpl.append(fp);
fp.zRelativ = 700;
fp.xRelativ = 900;
fp.yRelativ = 177;
fp.zeit = 19;
fpl.append(fp);
fp.zRelativ = 777;
fp.xRelativ = 977;
fp.yRelativ = 277;
fp.zeit = 33;
fpl.append(fp);
}
wfk.flugbahnpunkt = fpl;
AdlerJson::Streuungsdaten streuung;
streuung.seitenstreuungH = 0.7;
streuung.laengsstreuungH = 0.3;
streuung.seitenstreuung = 0.7;
streuung.laengsstreuung = 7.7;
wfk.streuung = streuung;
fkl.append(wfk);
}
fk.wirkmittel = fkl;
}
wfp.feuerkommando = fk;
generateWirkmittelFeuerkommando_Gmlrs(wfp.feuerkommando.wirkmittelRakete);
req.wirkfeldplanungData = wfp;
}
void GenerateTelegrams::generateEXFQBABBFK_Gmlrs(AdlerJson::ExAwesPlanning &req)
{
AdlerJson::WirkfeldplanungData wfp;
wfp.feuerkampfReferenz = QStringLiteral("REF:%1").arg(QRandomGenerator::global()->bounded(1000000));
wfp.zieldaten.nummer = 143;
wfp.abfeuerungsArt = AdlerJson::Abfeuerungsart::F;
wfp.dauer = 0;
AdlerJson::Feuerkommando fk;
{
fk.verein = QStringLiteral("AB13X");
fk.typ = ProjectDataManagement::L26_EffectingSystemType::Mars;
{
AdlerJson::WirkmittelFeuerkommandoRakete wfk;
wfk.kenner = ProjectDataManagement::L27_EffectorId::NO_211;
wfk.fallwinkel = 0;
wfk.anflug = ProjectDataManagement::L48_TrajectoryRocket::Nominal;
AdlerJson::Treffpunkt tp;
tp.anzahl = 1;
tp.koordinate.hoehe = 99;
tp.koordinate.koordinate.latitude = 53.0214;
tp.koordinate.koordinate.longitude = 8.9886;
wfk.treffpunkte.append(tp);
tp.koordinate.koordinate.latitude = 53.0207;
tp.koordinate.koordinate.longitude = 8.98852;
wfk.treffpunkte.append(tp);
tp.koordinate.koordinate.latitude = 53.0189;
tp.koordinate.koordinate.longitude = 8.98855;
wfk.treffpunkte.append(tp);
tp.koordinate.koordinate.latitude = 53.0196;
tp.koordinate.koordinate.longitude = 8.98712;
wfk.treffpunkte.append(tp);
tp.koordinate.koordinate.latitude = 53.0201;
tp.koordinate.koordinate.longitude = 8.99008;
tp.anzahl = 2;
wfk.treffpunkte.append(tp);
wfk.flugzeit = 66.03185272216797;
wfk.gipfelhoehe = 0;
wfk.schussrichtung = 3134.477668706035;
wfk.gps = ProjectDataManagement::L46_GpsFrequency::L1;
wfk.wirkzeit = 0;
AdlerJson::FeuerkommandoGeschosse wfg;
wfg.anzahl = 6;
wfg.geschosssorte = QStringLiteral("Unitary M31");
wfg.intervall = 5.0;
wfg.zuenderFunktion = QStringLiteral("AZoV");
wfg.zuenderZeit = 29;
wfk.geschoss = wfg;
fk.wirkmittelRakete.append(wfk);
}
}
wfp.feuerkommando = fk;
req.wirkfeldplanungData = wfp;
}
void GenerateTelegrams::generateEXFQBABBFK_Dm72(AdlerJson::ExAwesPlanning &req)
{
AdlerJson::WirkfeldplanungData wfp;
wfp.feuerkampfReferenz = QStringLiteral("REF:%1").arg(QRandomGenerator::global()->bounded(1000000));
wfp.zieldaten.nummer = 143;
wfp.abfeuerungsArt = AdlerJson::Abfeuerungsart::B;
wfp.dauer = 0;
AdlerJson::Feuerkommando fk;
{
fk.verein = QStringLiteral("AB72X");
fk.typ = ProjectDataManagement::L26_EffectingSystemType::Mars;
{
AdlerJson::WirkmittelFeuerkommandoRakete wfk;
wfk.kenner = ProjectDataManagement::L27_EffectorId::NO_212;
wfk.fallwinkel = 605;
AdlerJson::Treffpunkt tp;
tp.anzahl = 6;
tp.koordinate.hoehe = 99;
tp.koordinate.koordinate.latitude = 53.0279;
tp.koordinate.koordinate.longitude = 8.73684;
wfk.treffpunkte.append(tp);
wfk.flugzeit = 66.03185272216797;
wfk.gipfelhoehe = 0;
wfk.schussrichtung = 0.0;
wfk.wirkzeit = 3;
AdlerJson::FeuerkommandoGeschosse wfg;
wfg.anzahl = 6;
wfg.geschosssorte = QStringLiteral("Mine DM72");
wfg.intervall = 5.0;
wfg.zuenderZeit = 49;
wfk.geschoss = wfg;
fk.wirkmittelRakete.append(wfk);
}
}
wfp.feuerkommando = fk;
req.wirkfeldplanungData = wfp;
}
void GenerateTelegrams::generateFeuerbereit(AdlerJson::ExFeuerbereit &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB7X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
}
void GenerateTelegrams::generateFeuern(AdlerJson::ExFeuern &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB7X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
}
void GenerateTelegrams::generateFeuern_Gmlrs(AdlerJson::ExFeuern &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB13X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::NO_211;
}
void GenerateTelegrams::generateFeuern_Dm72(AdlerJson::ExFeuern &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB72X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::NO_212;
}
void GenerateTelegrams::generateNichtFeuern(AdlerJson::exNichtFeuern &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB7X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
}
void GenerateTelegrams::generateAbgefeuert(AdlerJson::ExAbgefeuert &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB7X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
}
void GenerateTelegrams::generateVollzugsmeldung(AdlerJson::ExVollzugsmeldung &req)
{
req.feuerkampfdaten.feuerkampfReferenz = QStringLiteral("feuerkampfReferenz 1");
req.feuerkampfdaten.verein = QStringLiteral("AB7X");
req.feuerkampfdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
}
void GenerateTelegrams::generateAbmeldung(AdlerJson::EXDeregistration &req) { req.partyId = 2; }
void GenerateTelegrams::generateErkundungsergebnisse(AdlerJson::ExErkundungsergebnisse &req)
{
AdlerJson::Erkundungseinheit einheit;
AdlerJson::KoordinateMitHoehe ladeplatz;
AdlerJson::Erkundungsstellungen stellungen;
AdlerJson::Wirkungsbereich wirkungsbereich;
einheit.r = 5;
einheit.verein = QStringLiteral("verein Erkundungsdaten");
ladeplatz.hoehe = 55;
ladeplatz.koordinate.latitude = 53.37790;
ladeplatz.koordinate.longitude = 8.758;
AdlerJson::KoordinateMitHoehe waffenplatz1;
AdlerJson::KoordinateMitHoehe waffenplatz2;
waffenplatz1.hoehe = 56;
waffenplatz1.koordinate.latitude = 53.37791;
waffenplatz1.koordinate.longitude = 8.759;
waffenplatz2.hoehe = 57;
waffenplatz2.koordinate.latitude = 53.37792;
waffenplatz2.koordinate.longitude = 8.760;
stellungen.waffenplaetze.append(waffenplatz1);
stellungen.waffenplaetze.append(waffenplatz2);
wirkungsbereich.grundrichtung = 33;
wirkungsbereich.links = 44;
wirkungsbereich.rechts = 55;
stellungen.wirkungsbereich = wirkungsbereich;
req.erkundungsdaten.einheit = einheit;
req.erkundungsdaten.ladeplatz = ladeplatz;
req.erkundungsdaten.stellungen = stellungen;
}
void GenerateTelegrams::generateFeuerkampf(AdlerJson::ExFeuerkampf &req)
{
AdlerJson::KoordinateMitHoehe auftreffpunkt;
auftreffpunkt.hoehe = 56;
auftreffpunkt.koordinate.latitude = 53.37791;
auftreffpunkt.koordinate.longitude = 8.759;
AdlerJson::FeuerkommandoGeschosse geschoss;
geschoss.geschosssorte = QStringLiteral("Spreng DM121");
geschoss.ladung = QStringLiteral("M DM72");
geschoss.zuender = QString::number(4);
geschoss.zuenderFunktion = QString::number(2);
geschoss.zuenderZeit = 0;
geschoss.anzahl = 1;
geschoss.intervall = 1.0;
QVector<AdlerJson::Flugbahnpunkt> fpl;
{
AdlerJson::Flugbahnpunkt fp;
fp.zRelativ = 300;
fp.xRelativ = 200;
fp.yRelativ = 77;
fp.zeit = 17;
fpl.append(fp);
fp.zRelativ = 700;
fp.xRelativ = 900;
fp.yRelativ = 177;
fp.zeit = 19;
fpl.append(fp);
}
AdlerJson::WirkmittelFeuerkommando wirkmittelFeuerkommando;
wirkmittelFeuerkommando.kenner = ProjectDataManagement::L27_EffectorId::C2;
wirkmittelFeuerkommando.auftreffpunkt = auftreffpunkt;
wirkmittelFeuerkommando.flugzeit = 77;
wirkmittelFeuerkommando.gipfelhoehe = 78;
wirkmittelFeuerkommando.schussrichtung = 79;
wirkmittelFeuerkommando.geschoss = geschoss;
wirkmittelFeuerkommando.flugbahnpunkt = fpl;
AdlerJson::Feuerkommando feuerkommando;
feuerkommando.verein = QStringLiteral("verein Feuerkommando");
feuerkommando.wirkmittel.append(wirkmittelFeuerkommando);
AdlerJson::Zielmeldedaten zielmeldedaten;
generateZieldaten(zielmeldedaten.zieldaten);
zielmeldedaten.abfeuerungsArt = AdlerJson::Abfeuerungsart::F;
zielmeldedaten.forderung = ProjectDataManagement::L7_Request::BEL;
zielmeldedaten.dauer = 88;
zielmeldedaten.feuerkommandos.append(feuerkommando);
req.zielmeldedaten = zielmeldedaten;
}
void GenerateTelegrams::generateFeuerhalt(AdlerJson::ExFeuerhalt &req)
{
req.feuerHaltDaten.verein = QStringLiteral("123456");
req.feuerHaltDaten.kenner = ProjectDataManagement::L27_EffectorId::A;
req.feuerHaltDaten.kategorie = ProjectDataManagement::L22_FireHaltCategory::R;
req.feuerHaltDaten.feuerkampfReferenz = QStringLiteral("feuerHaltDaten");
req.feuerHaltDaten.zpNummer = 5;
req.feuerHaltDaten.koordinate.latitude = 53.11172;
req.feuerHaltDaten.koordinate.longitude = 8.86687;
req.feuerHaltDaten.radius = 50;
req.feuerHaltDaten.entladenSchuss = true;
}
void GenerateTelegrams::generateStellungsmeldungFS(AdlerJson::ExFeuerstellungFS &req)
{
req.feuerstellungsdaten.typ = ProjectDataManagement::L26_EffectingSystemType::RRohr;
req.feuerstellungsdaten.status = ProjectDataManagement::L28_Status::Einsatzbereit;
req.feuerstellungsdaten.feuereinheit.verein = QStringLiteral("verein ExFeuerstellungFS");
req.feuerstellungsdaten.feuereinheit.r = 5;
req.feuerstellungsdaten.feuereinheit.oi = ProjectDataManagement::L19_Oi::F3;
req.feuerstellungsdaten.mittelpunkt.koordinate.latitude = 53.37791;
req.feuerstellungsdaten.mittelpunkt.koordinate.longitude = 8.759;
req.feuerstellungsdaten.mittelpunkt.hoehe = 20;
AdlerJson::KoordinateMitHoehe koordinate1;
AdlerJson::KoordinateMitHoehe koordinate2;
koordinate1.hoehe = 22;
koordinate1.koordinate.latitude = 53.37792;
koordinate1.koordinate.longitude = 8.760;
koordinate2.hoehe = 23;
koordinate2.koordinate.latitude = 53.37793;
koordinate2.koordinate.longitude = 8.761;
req.feuerstellungsdaten.koordinaten.append(koordinate1);
req.feuerstellungsdaten.koordinaten.append(koordinate2);
AdlerJson::Geschoss geschoss1;
AdlerJson::Geschoss geschoss2;
geschoss1.geschosssorte = QStringLiteral("Mine DM72");
geschoss1.ladung = QStringLiteral("M DM72");
geschoss1.zuender = QString::number(11);
geschoss1.anzahl = 6;
geschoss2.geschosssorte = QStringLiteral("Leucht DM116");
geschoss2.ladung = QStringLiteral("B L8A1");
geschoss2.zuender = QString::number(3);
geschoss2.anzahl = 7;
req.feuerstellungsdaten.geschosse.append(geschoss1);
req.feuerstellungsdaten.geschosse.append(geschoss2);
}
void GenerateTelegrams::generateStellungsmeldungWS(AdlerJson::ExFeuerstellungWS &req)
{
req.waffensystemdaten.typ = ProjectDataManagement::L26_EffectingSystemType::RRohr;
req.waffensystemdaten.kenner = ProjectDataManagement::L27_EffectorId::B1;
req.waffensystemdaten.status = ProjectDataManagement::L28_Status::Einsatzbereit;
req.waffensystemdaten.einheit.verein = QStringLiteral("AB7X");
req.waffensystemdaten.einheit.r = 6;
req.waffensystemdaten.einheit.oi = ProjectDataManagement::L19_Oi::F6;
AdlerJson::Geschoss geschoss1;
AdlerJson::Geschoss geschoss2;
geschoss1.geschosssorte = QStringLiteral("Mine DM72");
geschoss1.ladung = QStringLiteral("M DM72");
geschoss1.zuender = QStringLiteral("Doppel DM183");
geschoss1.anzahl = 6;
geschoss2.geschosssorte = QStringLiteral("Leucht DM116");
geschoss2.ladung = QStringLiteral("B L8A1");
geschoss2.zuender = QStringLiteral("Aufschlag BB DM371");
geschoss2.anzahl = 7;
req.waffensystemdaten.geschosse.append(geschoss1);
req.waffensystemdaten.geschosse.append(geschoss2);
req.waffensystemdaten.koordinate.koordinate.latitude = 53.088354;
req.waffensystemdaten.koordinate.koordinate.longitude = 8.853092;
req.waffensystemdaten.koordinate.hoehe = 20;
req.waffensystemdaten.wirkungsbereich.grundrichtung = 1;
req.waffensystemdaten.wirkungsbereich.links = 2;
req.waffensystemdaten.wirkungsbereich.rechts = 3;
}
void GenerateTelegrams::generateStellungsmeldungWS_Gmlrs(AdlerJson::ExFeuerstellungWS &req)
{
req.waffensystemdaten.typ = ProjectDataManagement::L26_EffectingSystemType::Mars;
req.waffensystemdaten.kenner = ProjectDataManagement::L27_EffectorId::NO_211;
req.waffensystemdaten.status = ProjectDataManagement::L28_Status::NichtEinsatzbereit;
req.waffensystemdaten.einheit.verein = QStringLiteral("AB13X");
req.waffensystemdaten.einheit.r = 6;
req.waffensystemdaten.einheit.oi = ProjectDataManagement::L19_Oi::F6;
AdlerJson::Geschoss geschoss1;
AdlerJson::Geschoss geschoss2;
geschoss1.geschosssorte = QStringLiteral("GMLRS Unitary M31");
geschoss1.ladung = QStringLiteral("Default");
geschoss1.zuender = QStringLiteral("Default");
geschoss1.anzahl = 6;
geschoss2.geschosssorte = QStringLiteral("GMLRS Unitary M31");
geschoss2.ladung = QStringLiteral("Default");
geschoss2.zuender = QStringLiteral("Default");
geschoss2.anzahl = 6;
req.waffensystemdaten.geschosse.append(geschoss1);
req.waffensystemdaten.geschosse.append(geschoss2);
req.waffensystemdaten.koordinate.koordinate.latitude = 53.088354;
req.waffensystemdaten.koordinate.koordinate.longitude = 8.853092;
req.waffensystemdaten.koordinate.hoehe = 20;
req.waffensystemdaten.wirkungsbereich.grundrichtung = 1;
req.waffensystemdaten.wirkungsbereich.links = 2;
req.waffensystemdaten.wirkungsbereich.rechts = 3;
}
void GenerateTelegrams::generateStellungsmeldungWS_Dm72(AdlerJson::ExFeuerstellungWS &req)
{
req.waffensystemdaten.typ = ProjectDataManagement::L26_EffectingSystemType::Mars;
req.waffensystemdaten.kenner = ProjectDataManagement::L27_EffectorId::NO_212;
req.waffensystemdaten.status = ProjectDataManagement::L28_Status::NichtEinsatzbereit;
req.waffensystemdaten.einheit.verein = QStringLiteral("AB72X");
req.waffensystemdaten.einheit.r = 1;
req.waffensystemdaten.einheit.oi = ProjectDataManagement::L19_Oi::F1;
AdlerJson::Geschoss geschoss1;
AdlerJson::Geschoss geschoss2;
geschoss1.geschosssorte = QStringLiteral("Mine DM72");
geschoss1.ladung = QStringLiteral("Default");
geschoss1.zuender = QStringLiteral("Default");
geschoss1.anzahl = 6;
geschoss2.geschosssorte = QStringLiteral("Mine DM72");
geschoss2.ladung = QStringLiteral("Default");
geschoss2.zuender = QStringLiteral("Default");
geschoss2.anzahl = 6;
req.waffensystemdaten.geschosse.append(geschoss1);
req.waffensystemdaten.geschosse.append(geschoss2);
req.waffensystemdaten.koordinate.koordinate.latitude = 53.0737;
req.waffensystemdaten.koordinate.koordinate.longitude = 8.89542;
req.waffensystemdaten.koordinate.hoehe = 20;
req.waffensystemdaten.wirkungsbereich.grundrichtung = 1;
req.waffensystemdaten.wirkungsbereich.links = 2;
req.waffensystemdaten.wirkungsbereich.rechts = 3;
}
void GenerateTelegrams::generateStellungsmeldungLP(AdlerJson::ExFeuerstellungLP &req)
{
req.ladeplatzdaten.einheit.r = 5;
req.ladeplatzdaten.einheit.verein = QStringLiteral("verein StellungsmeldungLP");
req.ladeplatzdaten.einheit.oi = ProjectDataManagement::L19_Oi::F3;
req.ladeplatzdaten.koordinate.koordinate.latitude = 53.37791;
req.ladeplatzdaten.koordinate.koordinate.longitude = 8.759;
req.ladeplatzdaten.koordinate.hoehe = 20;
AdlerJson::Geschoss geschoss1;
AdlerJson::Geschoss geschoss2;
geschoss1.geschosssorte = QStringLiteral("Mine DM72");
geschoss1.ladung = QStringLiteral("M DM72");
geschoss1.zuender = QStringLiteral("Doppel DM183");
geschoss1.anzahl = 6;
geschoss2.geschosssorte = QStringLiteral("Leucht DM116");
geschoss2.ladung = QStringLiteral("B L8A1");
geschoss2.zuender = QStringLiteral("Aufschlag_BB_DM371");
geschoss2.anzahl = 7;
req.ladeplatzdaten.geschosse.append(geschoss1);
req.ladeplatzdaten.geschosse.append(geschoss2);
}
void GenerateTelegrams::generateStellungswechsel(AdlerJson::ExStellungswechsel &req)
{
req.stellungswechseldaten.oi = ProjectDataManagement::L19_Oi::F3;
req.stellungswechseldaten.r = 5;
req.stellungswechseldaten.verein = QStringLiteral("verein ExStellungswechsel");
}
void GenerateTelegrams::generateZeit1(AdlerJson::Zeitangabe_DTG &zeit)
{
zeit.stunden = 5;
zeit.minuten = 35;
zeit.sekunden = 55;
zeit.tag = 12;
zeit.monat = 11;
zeit.jahr = 2025;
zeit.ZVz = QStringLiteral("ZVz");
zeit.ZDS = QStringLiteral("ZDS");
zeit.ZDM = QStringLiteral("ZDM");
}
void GenerateTelegrams::generateZeit2(AdlerJson::Zeitangabe_DTG &zeit)
{
zeit.stunden = 5;
zeit.minuten = 35;
zeit.sekunden = 55;
zeit.tag = 13;
zeit.monat = 11;
zeit.jahr = 2025;
zeit.ZVz = QStringLiteral("ZVz");
zeit.ZDS = QStringLiteral("ZDS");
zeit.ZDM = QStringLiteral("ZDM");
}
void GenerateTelegrams::generateKoordinierungsmassnahmen(AdlerJson::ExHqKoordinierungsmassnahmen &req)
{
req.koordinierungsdaten.art = ProjectDataManagement::L25_KindGuidingLine::NFA;
req.koordinierungsdaten.name = QStringLiteral("Name ExHqKoordinierungsmassnahme");
req.koordinierungsdaten.truppenteil = QStringLiteral("Truppenteil ExHqKoordinierungsmassnahme");
generateZeit1(req.koordinierungsdaten.ab);
generateZeit2(req.koordinierungsdaten.bis);
AdlerJson::Koordinate koordinate1;
AdlerJson::Koordinate koordinate2;
koordinate1.latitude = 53.37792;
koordinate1.longitude = 8.760;
koordinate2.latitude = 53.37793;
koordinate2.longitude = 8.761;
req.koordinierungsdaten.koordinaten.append(koordinate1);
req.koordinierungsdaten.koordinaten.append(koordinate2);
req.koordinierungsdaten.mittelpunkt.latitude = 53.37794;
req.koordinierungsdaten.mittelpunkt.longitude = 8.762;
req.koordinierungsdaten.radius = 66;
req.koordinierungsdaten.maxGipfel = 123;
}
void GenerateTelegrams::generateKoordinierungsmassnahmen_EX_L25(AdlerJson::ExHqKoordinierungsmassnahmen &req,
ProjectDataManagement::L25_KindGuidingLine kind,
int i)
{
req.koordinierungsdaten.art = kind;
req.koordinierungsdaten.meldungsnummer = i;
req.koordinierungsdaten.name = QStringLiteral("Name ExHqKoordinierungsmassnahme");
req.koordinierungsdaten.truppenteil = QStringLiteral("Truppenteil ExHqKoordinierungsmassnahme");
generateZeit1(req.koordinierungsdaten.ab);
generateZeit2(req.koordinierungsdaten.bis);
AdlerJson::Koordinate koordinate1;
AdlerJson::Koordinate koordinate2;
AdlerJson::Koordinate koordinate3;
koordinate1.latitude = 52.49303888888889;
koordinate1.longitude = 11.53173888888889;
koordinate2.latitude = 52.49305277777784;
koordinate2.longitude = 11.53527777777777;
koordinate3.latitude = 52.49056944444446;
koordinate3.longitude = 11.53326388888889;
req.koordinierungsdaten.koordinaten.append(koordinate1);
req.koordinierungsdaten.koordinaten.append(koordinate2);
req.koordinierungsdaten.koordinaten.append(koordinate3);
req.koordinierungsdaten.mittelpunkt.latitude = 52.49222037;
req.koordinierungsdaten.mittelpunkt.longitude = 11.53342685;
req.koordinierungsdaten.radius = 66;
req.koordinierungsdaten.maxGipfel = 123;
}
void GenerateTelegrams::generateFuehrungslinien(AdlerJson::ExHqFuehrungslinien &req)
{
req.fuehrungsdaten.art = AdlerJson::Art_L24::AO;
req.fuehrungsdaten.name = QStringLiteral("Name EX-HQ(G) Führungslinien und Grenzen");
generateZeit1(req.fuehrungsdaten.ab);
generateZeit2(req.fuehrungsdaten.bis);
AdlerJson::Koordinate koordinate1;
AdlerJson::Koordinate koordinate2;
koordinate1.latitude = 53.37792;
koordinate1.longitude = 8.760;
koordinate2.latitude = 53.37793;
koordinate2.longitude = 8.761;
req.fuehrungsdaten.koordinaten.append(koordinate1);
req.fuehrungsdaten.koordinaten.append(koordinate2);
req.fuehrungsdaten.linkerNachbar = QStringLiteral("linker Nachbar");
req.fuehrungsdaten.rechterNachbar = QStringLiteral("rechter Nachbar");
}
void GenerateTelegrams::generateFuehrungslinien_EX_L24(AdlerJson::ExHqFuehrungslinien &req, AdlerJson::Art_L24 art24, int meldungsnummer)
{
req.fuehrungsdaten.koordinaten.clear();
req.fuehrungsdaten.art = art24;
req.fuehrungsdaten.name = QStringLiteral("Fuehrungslinie");
req.fuehrungsdaten.meldungsnummer = meldungsnummer;
generateZeit1(req.fuehrungsdaten.ab);
generateZeit2(req.fuehrungsdaten.bis);
AdlerJson::Koordinate koordinate1;
AdlerJson::Koordinate koordinate2;
AdlerJson::Koordinate koordinate3;
koordinate1.latitude = 52.49303888888889;
koordinate1.longitude = 11.53173888888889;
koordinate2.latitude = 52.49305277777784;
koordinate2.longitude = 11.53527777777777;
koordinate3.latitude = 52.49056944444446;
koordinate3.longitude = 11.53326388888889;
req.fuehrungsdaten.koordinaten.append(koordinate1);
req.fuehrungsdaten.koordinaten.append(koordinate2);
req.fuehrungsdaten.koordinaten.append(koordinate3);
req.fuehrungsdaten.linkerNachbar = QStringLiteral("linker Nachbar");
req.fuehrungsdaten.rechterNachbar = QStringLiteral("rechter Nachbar");
}
void GenerateTelegrams::generateTechnischeQuittung(AdlerJson::ExTqTechnischeQuittung &req)
{
req.technischeDaten.status = AdlerJson::Status_L32::INV;
req.technischeDaten.beschreibung = QStringLiteral("Beschreibung technischer Status");
}
void GenerateTelegrams::generateManuelleQuittung(AdlerJson::ExMqManuelleQuittung &req)
{
req.mqManuelleQuittungDaten.feuerkampfreferenz = QStringLiteral("Manuelle Quittung");
}
void GenerateTelegrams::generateFlugbahnberechnung(AdlerJson::ExFlugbahnberechnung &req)
{
req.flugbahnberechnungDaten.geschoss.geschosssorte = QStringLiteral("SMArt DM702");
req.flugbahnberechnungDaten.geschoss.ladung = QStringLiteral("M DM72");
req.flugbahnberechnungDaten.geschoss.zuender = QStringLiteral("Zeit DM52");
req.flugbahnberechnungDaten.geschoss.zuenderFunktion = QStringLiteral("ZZ");
req.flugbahnberechnungDaten.sprenghoehe = 0;
req.flugbahnberechnungDaten.standort.hoehe = 55;
req.flugbahnberechnungDaten.standort.koordinate.latitude = 53.37787;
req.flugbahnberechnungDaten.standort.koordinate.longitude = 8.7573;
req.flugbahnberechnungDaten.zielkoordinate.hoehe = 56;
req.flugbahnberechnungDaten.zielkoordinate.koordinate.latitude = 53.37788;
req.flugbahnberechnungDaten.zielkoordinate.koordinate.longitude = 8.7574;
req.flugbahnberechnungDaten.waffensystem = ProjectDataManagement::L26_EffectingSystemType::RRohr;
req.flugbahnberechnungDaten.winkelgruppe = AdlerJson::Winkelgruppe::Untere;
}
void GenerateTelegrams::generateFlugbahndaten(AdlerJson::ExFlugbahndaten &req)
{
req.flugbahndaten.fehlercode = AdlerJson::FlugbahnberechnungFehlercode::Ok;
req.flugbahndaten.zielkoordinate.hoehe = 56;
req.flugbahndaten.zielkoordinate.koordinate.latitude = 52.482048;
req.flugbahndaten.zielkoordinate.koordinate.longitude = 11.583;
req.flugbahndaten.waffensystem = ProjectDataManagement::L26_EffectingSystemType::RRohr;
req.flugbahndaten.flugzeit = 300;
req.flugbahndaten.gipfelhoehe = 200;
req.flugbahndaten.schussrichtung = 45;
req.flugbahndaten.fallwinkel = 55;
AdlerJson::Flugbahnpunkt flugbahnpunkt;
for (int i = 0; i < 30; ++i)
{
flugbahnpunkt.zeit += 1.0;
flugbahnpunkt.xRelativ += 100;
flugbahnpunkt.yRelativ += 200;
flugbahnpunkt.zRelativ += 10;
req.flugbahndaten.flugbahnpunkt.append(flugbahnpunkt);
}
for (int i = 0; i < 30; ++i)
{
flugbahnpunkt.zeit += 1.0;
flugbahnpunkt.xRelativ -= 100;
flugbahnpunkt.yRelativ -= 200;
flugbahnpunkt.zRelativ -= 10;
req.flugbahndaten.flugbahnpunkt.append(flugbahnpunkt);
}
req.flugbahndaten.streuung.laengsstreuung = 2.2;
req.flugbahndaten.streuung.seitenstreuung = 3.3;
req.flugbahndaten.streuung.laengsstreuungH = 4.4;
req.flugbahndaten.streuung.seitenstreuungH = 5.5;
req.flugbahndaten.geschoss.geschosssorte = QStringLiteral("Spreng DM121");
req.flugbahndaten.geschoss.ladung = QStringLiteral("M DM72");
req.flugbahndaten.geschoss.ladungsNummer = 5;
req.flugbahndaten.geschoss.zuender = QStringLiteral("Aufschlag DM241");
req.flugbahndaten.geschoss.zuenderFunktion = QStringLiteral("AZoV");
req.flugbahndaten.geschoss.zuenderZeit = 1000;
}
void GenerateTelegrams::generateFreitextmeldung(AdlerJson::ExAqFreitextmeldung &req) { req.freitextDaten.text = QStringLiteral("Freier Text"); }