Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set

new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
berrux-dev committed 2026-10-20 09:36:57 +02:00
1 parent eb1d949edc
commit 815e16368e
1718 files changed
+126739 -18495

No files matched your search

@@ -187,7 +187,7 @@ void AesHandler::onAesItemViewChanged(const AesItemView &data, DataModification
<< "\nboundingBoxBottomLeft: " << ParticipantPosition(data.boundingBoxBottomLeft()).toString()
<< "\nboundingBoxTopRight: " << ParticipantPosition(data.boundingBoxTopRight()).toString()
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectStart: " << data.effectStart() << "\n";
}
@@ -212,7 +212,7 @@ void AesHandler::onAesItemViewChanged(const AesItemView &data, DataModification
else if (data.aesTypeId() == AesType::AtBCContamination)
{
m_ngsHandler->ngsConnector()->setItemForm(data.aesItemId(), data.aesTypeId().underlying(), data.form());
m_ngsHandler->ngsConnector()->setItemForm(data.aesItemId(), data.aesTypeId(), data.form());
DEBUG_LOG(m_logger) << "Item view with id " << data.aesItemId() << " directly updated in ngsConnector";
}
}
@@ -260,7 +260,7 @@ void AesHandler::onTriggeredImpactsChanged(const TriggeredImpacts &data, DataMod
if (chargeTypeId <= 0)
return;
rpr2::ForceIdentifierEnum8::ET forceId = aesItemView.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(aesItemView.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
rpr2::ForceIdentifierEnum8::ET forceId = aesItemView.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(aesItemView.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
for (int32_t bitFieldIdx = 0; bitFieldIdx < data.impactCount(); ++bitFieldIdx)
{
@@ -303,8 +303,8 @@ void AesHandler::onEffectsChanged(const Effects &data, DataModification modType)
if (!exCluster.partyId().is_set() &&
(!exCluster.participantId().is_set() || exCluster.participantId().get() <= 0))
if (!exCluster.partyId().has_value() &&
(!exCluster.participantId().has_value() || exCluster.participantId().get() <= 0))
return;
const int chargeTypeId = exCluster.chargeStruct().chargeTypeId();
@@ -316,7 +316,7 @@ void AesHandler::onEffectsChanged(const Effects &data, DataModification modType)
const rpr2::ForceIdentifierEnum8::ET forceId = exCluster.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(exCluster.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
const rpr2::ForceIdentifierEnum8::ET forceId = exCluster.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(exCluster.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
int curSeIndex = -1;
@@ -359,10 +359,10 @@ void AesHandler::onAesExplosionSingleChanged(const ExplosionSingle &data, DataMo
<< "\nsampleTime: " << data.sampleTime()
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectDuration: " << data.effectDuration()
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\nimpactPosition: " << ParticipantPosition(data.impactPosition()).toString()
<< "\nfireRequestTime: " << data.fireRequestTime()
<< "\naltitude: " << data.altitude()
@@ -372,13 +372,13 @@ void AesHandler::onAesExplosionSingleChanged(const ExplosionSingle &data, DataMo
return;
if (!data.partyId().is_set() &&
(!data.participantId().is_set() || data.participantId().get() <= 0))
if (!data.partyId().has_value() &&
(!data.participantId().has_value() || data.participantId().get() <= 0))
return;
ParticipantPosition pos(data.impactPosition(), data.effectStart().is_set() ? data.effectStart().get() : data.sampleTime());
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
ParticipantPosition pos(data.impactPosition(), data.effectStart().has_value() ? data.effectStart().get() : data.sampleTime());
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
m_ngsHandler->ngsConnector()->sendMunitionDetonation(pos, data.chargeStruct().chargeTypeId(), forceId);
}
@@ -397,10 +397,10 @@ void AesHandler::onAesMineAreaChanged(const MineArea &data, DataModification mod
<< "\nsampleTime: " << data.sampleTime()
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectDuration: " << data.effectDuration()
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\n";
m_ngsHandler->ngsConnector()->guezMineField(data);
@@ -420,10 +420,10 @@ void AesHandler::onAesMineCorridorChanged(const MineCorridor &data, DataModifica
<< "\nsampleTime: " << data.sampleTime()
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectDuration: " << data.effectDuration()
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\n";
m_ngsHandler->ngsConnector()->guezMineFieldBreach(data);
@@ -445,10 +445,10 @@ void AesHandler::onAesNContaminationChanged(const NContamination &data, DataModi
<< "\nsampleTime: " << data.sampleTime()
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectDuration: " << data.effectDuration()
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\n";
}
@@ -468,10 +468,10 @@ void AesHandler::onAesBCContaminationChanged(const BCContamination &data, DataMo
<< "\nsampleTime: " << data.sampleTime()
<< "\nchargeTypeId: " << data.chargeStruct().chargeTypeId()
<< "\neffectDuration: " << data.effectDuration()
<< "\neffectStart: " << (data.effectStart().is_set() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStart: " << (data.effectStart().has_value() ? QString::number(data.effectStart().get()) : QStringLiteral("not set"))
<< "\neffectStateId: " << toString(data.effectStateId())
<< "\npartyId: " << (data.partyId().is_set() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().is_set() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\npartyId: " << (data.partyId().has_value() ? QString::number(data.partyId().get()) : QStringLiteral("not set"))
<< "\nparticipantId: " << (data.participantId().has_value() ? QString::number(data.participantId().get()) : QStringLiteral("not set"))
<< "\n";
}
@@ -491,7 +491,7 @@ void AesHandler::onAesNameChanged(qint64 identifierInt, const std::string &newNa
int aesItemId = 0;
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -565,7 +565,7 @@ void AesHandler::onAesRemoveItem(qint64 identifierInt)
DEBUG_LOG(m_logger) << "Remove Item for " << aesItemId << " requested. Type: " << type;
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -627,7 +627,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
if (msecsSinceEpoch < earliest && msecsSinceEpoch > 0)
msecsSinceEpoch = earliest;
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -637,7 +637,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
if (!req)
{
AreaEffectSimulation::MineCorridor item = m_dtcAes->mineCorridor(aesItemId);
if ((item.effectStart().is_set() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
if ((item.effectStart().has_value() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
return;
req = makeMinefieldBreachRequest(item);
addRequestToQueue(aesItemId, req);
@@ -653,7 +653,7 @@ void AesHandler::onAesActivationTimeChanged(qint64 identifierInt, qint64 msecsSi
{
DEBUG_LOG(m_logger) << "onAesActivationTimeChanged / MineArea - Request NOT found";
AreaEffectSimulation::MineArea item = m_dtcAes->mineArea(aesItemId);
if ((item.effectStart().is_set() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
if ((item.effectStart().has_value() && item.effectStart().get() == msecsSinceEpoch) || !isModifiable(item))
return;
req = makeMinefieldRequest(item);
addRequestToQueue(aesItemId, req);
@@ -699,7 +699,7 @@ void AesHandler::onAesForceIdentifierChanged(qint64 identifierInt, int partyId)
int aesItemId = 0;
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -782,7 +782,7 @@ void AesHandler::onAesDurationChanged(qint64 identifierInt, quint32 u_time)
int aesItemId = 0;
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -854,7 +854,7 @@ void AesHandler::onAesChargeChanged(qint64 identifierInt, int chargeTypeId)
int aesItemId = 0;
AesType type = m_dtcAes->aesItemIdFromExternalId(identifierInt, aesItemId);
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -960,7 +960,7 @@ void AesHandler::onAesPointsDataChanged(qint64 identifierInt, const std::vector<
DEBUG_LOG(m_logger) << "Points Data changed for Aes Item ID: " << aesItemId << ". Type: " << type;
switch (type.underlying())
switch (type)
{
case AreaEffectSimulation::AesType::AtBCContamination:
break;
@@ -1061,7 +1061,7 @@ void AesHandler::onSendRequest(const MineAreaModifyRequest &item)
bool AesHandler::onNewMinefieldBreach(const MineCorridorModifyRequest &mc)
{
if (!mc.externalId().is_set())
if (!mc.externalId().has_value())
return false;
return m_requestHelper->startSingleRequest([this, mc]()
@@ -1077,7 +1077,7 @@ void AesHandler::onSendRequest(const MineCorridorModifyRequest &item)
void AesHandler::onMunitionDetonation(const ExplosionSingleModifyRequest &es)
{
if (!es.externalId().is_set())
if (!es.externalId().has_value())
return;
m_requestHelper->startSingleRequest([this, es]()
@@ -1089,7 +1089,7 @@ void AesHandler::onMunitionDetonation(const ExplosionSingleModifyRequest &es)
#ifdef SUPPORT_EXPLOSION_CLUSTER_SINGLE_EFFECT
void AesHandler::onMunitionDetonationExplosionClusterSingleEffect(const ExplosionClusterSingleEffectOnlyRequest &es)
{
if (!es.externalId().is_set())
if (!es.externalId().has_value())
return;
m_requestHelper->startSingleRequest([this, es]()
@@ -215,35 +215,35 @@ ProjectDataManagement::VulnerabilityState DamageModel::vulnerabilityState(qint64
{
int idx = indexForTime(simTimeMSec);
if (idx < 0)
return ProjectDataManagement::VulnerabilityState::CombatReady;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
switch (m_tacticalStates.at(idx).tss.TacticalStatus)
{
case rpr2::TacticalStatusEnum8::CombatReady:
return ProjectDataManagement::VulnerabilityState::CombatReady;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
case rpr2::TacticalStatusEnum8::LightHit:
return ProjectDataManagement::VulnerabilityState::LightDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage;
case rpr2::TacticalStatusEnum8::MediumHit:
return ProjectDataManagement::VulnerabilityState::MediumDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage;
case rpr2::TacticalStatusEnum8::HeavyHit:
return ProjectDataManagement::VulnerabilityState::HeavyDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage;
case rpr2::TacticalStatusEnum8::Immobilized:
return ProjectDataManagement::VulnerabilityState::MobilityKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill;
case rpr2::TacticalStatusEnum8::ImmobilizedVisible:
return ProjectDataManagement::VulnerabilityState::VisibleMobilityKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill;
case rpr2::TacticalStatusEnum8::WeaponKill:
return ProjectDataManagement::VulnerabilityState::WeaponSystemDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage;
case rpr2::TacticalStatusEnum8::WeaponKillVisible:
return ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage;
case rpr2::TacticalStatusEnum8::TotalKill:
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
case rpr2::TacticalStatusEnum8::TemporaryFailure:
return ProjectDataManagement::VulnerabilityState::TemporarySeverance;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance;
case rpr2::TacticalStatusEnum8::NearMiss:
return ProjectDataManagement::VulnerabilityState::NearMiss;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss;
case rpr2::TacticalStatusEnum8::HitWithoutEffect:
return ProjectDataManagement::VulnerabilityState::HitWithNoEffect;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect;
}
return ProjectDataManagement::VulnerabilityState::CombatReady;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
}
int DamageModel::indexForTime(qint64 simTimeMSec) const
@@ -3,6 +3,7 @@
#include "ngs_connector.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <utility>
#include "ngs_handler.h"
#include "ppm_handler.h"
@@ -693,7 +694,7 @@ bool NgsConnector::guezMineField(const AreaEffectSimulation::MineArea &data)
<< ", number of segments reduced, removing earlier published segment";
}
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
m_environmentObjects.remove(data.id());
for (int i = 0; i < minefields.size(); ++i)
@@ -704,10 +705,10 @@ bool NgsConnector::guezMineField(const AreaEffectSimulation::MineArea &data)
const AreaEffectSimulation::MineSegment &segment = data.segments()[i];
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
icb->setPercentComplete(100);
else
icb->setPercentComplete(0);
@@ -796,12 +797,12 @@ bool NgsConnector::guezMineFieldBreach(const AreaEffectSimulation::MineCorridor
rpr2::IPlayerGuezMineFieldBreachObjInstance *icb = map.value(i);
if (!icb)
continue;
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
icb->setPointsData(positionArray(mineCorridorSegment(data.segments().at(i), data.segments().at(i + 1), data.width())));
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
icb->setPercentComplete(100);
else
icb->setPercentComplete(0);
@@ -853,7 +854,7 @@ bool NgsConnector::guezNuclearAgent(const AreaEffectSimulation::NContamination &
is.setEntityNumber(10 * data.id());
icb->setObjectIdentifier(is.toEIS());
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
icb->setDuration(data.effectDuration());
icb->setDetonationLocation(pos.toWorldLocation());
@@ -922,20 +923,20 @@ bool NgsConnector::guezChemicalAgent(const AreaEffectSimulation::BCContamination
}
is.setEntityNumber(10 * data.id());
icb->setObjectIdentifier(is.toEIS());
icb->setDeactivated(data.effectStateId().underlying() != AreaEffectSimulation::AesEffectState::EsActivated);
icb->setActivationTime(getClockTimeStruct(data.effectStart().is_set() ? data.effectStart().get() : 0));
icb->setDeactivated(data.effectStateId() != AreaEffectSimulation::AesEffectState::EsActivated);
icb->setActivationTime(getClockTimeStruct(data.effectStart().has_value() ? data.effectStart().get() : 0));
icb->setAreaEffectSimulationName(rpr2::OMT13string(data.name()));
icb->setDuration(data.effectDuration() / 1000 / 60);
icb->setDetonationLocation(pos.toWorldLocation());
if (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsRemoved)
if (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired ||
data.effectStateId() == AreaEffectSimulation::AesEffectState::EsRemoved)
icb->setPercentComplete(100);
else
icb->setPercentComplete(0);
icb->setChemicalAgentType(type);
icb->setRadius(data.impactRadius());
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().is_set() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
rpr2::ForceIdentifierEnum8::ET forceId = data.partyId().has_value() ? m_ngsHandler->ppmHandler()->forceIdentifierFromPartyId(data.partyId().get()) : rpr2::ForceIdentifierEnum8::Other;
icb->setForceIdentifier(forceId);
icb->setIsPermanentAgent(type != rpr2::ChemicalAgentTypeEnum8::Sarin);
icb->setObjectType(dummyEOS());
@@ -1575,35 +1576,35 @@ rpr2::ArrayOfHLAoctetN_slsh_AperfectalwaysN_slsh_ADynamicHLApaddingTo32Array Ngs
rpr2::HitResultEnum16::ET NgsConnector::getHitResultEnum(const ProjectDataManagement::VulnerabilityState &ts)
{
switch (ts.underlying())
switch (ts)
{
case ProjectDataManagement::VulnerabilityState::CombatReady:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady:
return rpr2::HitResultEnum16::Reset;
case ProjectDataManagement::VulnerabilityState::LightDamage:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage:
return rpr2::HitResultEnum16::LightDamage;
case ProjectDataManagement::VulnerabilityState::MediumDamage:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage:
return rpr2::HitResultEnum16::MediumDamage;
case ProjectDataManagement::VulnerabilityState::HeavyDamage:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage:
return rpr2::HitResultEnum16::HeavyDamage;
case ProjectDataManagement::VulnerabilityState::MobilityKill:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill:
return rpr2::HitResultEnum16::MobilityKill;
case ProjectDataManagement::VulnerabilityState::VisibleMobilityKill:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill:
return rpr2::HitResultEnum16::MobilityKillVisible;
case ProjectDataManagement::VulnerabilityState::WeaponSystemDamage:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage:
return rpr2::HitResultEnum16::WeaponDamage;
case ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage:
return rpr2::HitResultEnum16::WeaponDamageVisible;
case ProjectDataManagement::VulnerabilityState::CatastrophicKill:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill:
return rpr2::HitResultEnum16::TotalKill;
case ProjectDataManagement::VulnerabilityState::TemporarySeverance:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance:
return rpr2::HitResultEnum16::TemporaryFailure;
case ProjectDataManagement::VulnerabilityState::NearMiss:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss:
return rpr2::HitResultEnum16::NearMiss;
case ProjectDataManagement::VulnerabilityState::HitWithNoEffect:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect:
return rpr2::HitResultEnum16::HitWithNoEffect;
case ProjectDataManagement::VulnerabilityState::NContamination:
case ProjectDataManagement::VulnerabilityState::BContamination:
case ProjectDataManagement::VulnerabilityState::CContamination:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_NContamination:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_BContamination:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CContamination:
return rpr2::HitResultEnum16::Contaminated;
default:
return rpr2::HitResultEnum16::Reset;
@@ -1616,37 +1617,37 @@ ProjectDataManagement::VulnerabilityState NgsConnector::getTacticalStatusEnum(co
switch (hr)
{
case rpr2::HitResultEnum16::Reset:
return ProjectDataManagement::VulnerabilityState::CombatReady;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady;
case rpr2::HitResultEnum16::LightDamage:
return ProjectDataManagement::VulnerabilityState::LightDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_LightDamage;
case rpr2::HitResultEnum16::MediumDamage:
return ProjectDataManagement::VulnerabilityState::MediumDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MediumDamage;
case rpr2::HitResultEnum16::HeavyDamage:
return ProjectDataManagement::VulnerabilityState::HeavyDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HeavyDamage;
case rpr2::HitResultEnum16::MobilityKill:
return ProjectDataManagement::VulnerabilityState::MobilityKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_MobilityKill;
case rpr2::HitResultEnum16::MobilityKillVisible:
return ProjectDataManagement::VulnerabilityState::VisibleMobilityKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleMobilityKill;
case rpr2::HitResultEnum16::WeaponDamage:
return ProjectDataManagement::VulnerabilityState::WeaponSystemDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_WeaponSystemDamage;
case rpr2::HitResultEnum16::WeaponDamageVisible:
return ProjectDataManagement::VulnerabilityState::VisibleWeaponSystemDamage;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_VisibleWeaponSystemDamage;
case rpr2::HitResultEnum16::TotalKill:
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
case rpr2::HitResultEnum16::CheatingKill:
return ProjectDataManagement::VulnerabilityState::CatastrophicKill;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CatastrophicKill;
case rpr2::HitResultEnum16::NearMiss:
return ProjectDataManagement::VulnerabilityState::NearMiss;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NearMiss;
case rpr2::HitResultEnum16::HitWithNoEffect:
return ProjectDataManagement::VulnerabilityState::HitWithNoEffect;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect;
case rpr2::HitResultEnum16::Contaminated:
return ProjectDataManagement::VulnerabilityState::CContamination;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_CContamination;
case rpr2::HitResultEnum16::TemporaryFailure:
return ProjectDataManagement::VulnerabilityState::TemporarySeverance;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance;
default:
return ProjectDataManagement::VulnerabilityState::NoChange;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NoChange;
}
return ProjectDataManagement::VulnerabilityState::NoChange;
return ProjectDataManagement::VulnerabilityState::VulnerabilityState_NoChange;
}
QPolygonF NgsConnector::utmToGeogrphic(const QPolygonF &polyUtm, const LtsCoordTrans::UtmCoordinate &base)
@@ -1681,10 +1682,10 @@ void NgsConnector::onEntityIdentifierChanged(const rpr2::EntityIdentifierStruct
GuezHitStruct hs;
hs.originatorType = ProjectDataManagement::StateChangeOriginator::Initialization;
hs.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization;
hs.sampleTime = QDateTime::currentDateTimeUtc().toMSecsSinceEpoch();
hs.targetId = is.entityNumber();
hs.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityBitsChanged;
hs.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged;
QTimer::singleShot(STATUS_WAIT_INTERVAL, this, [this, hs, obj]() mutable
{
@@ -2083,11 +2084,11 @@ bool NgsConnector::onTacticalStatusChanged(const rpr2::EntityIdentifierStruct &e
GuezHitStruct hitStruct;
hitStruct.originatorChargeTypeEtsString = TypeStruct::fromDisInt(0).toString();
hitStruct.originatorId = 0;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
hitStruct.position = m_observerPositions[is.entityNumber()].toGeoPosition();
hitStruct.sampleTime = simTimeMSecs;
hitStruct.targetId = is.entityNumber();
hitStruct.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityBitsChanged;
hitStruct.vulnerabilityState = ProjectDataManagement::VulnerabilityState::VulnerabilityState_VulnerabilityBitsChanged;
hitStruct.vulnerabilityKind = 0;
const auto vulnerabilityBits = m_damageModelMap[is.entityNumber()]->totalState(hitStruct.sampleTime);
@@ -2423,31 +2424,31 @@ void NgsConnector::onNewGuezHit(const rpr2::IObserverGuezHitIntInstance &interac
GuezHitStruct hitStruct;
hitStruct.originatorChargeTypeEtsString = TypeStruct(interaction.getMunition()).toString();
hitStruct.originatorId = interaction.getOriginatorIdentifier().EntityNumber;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
switch (interaction.getOriginatorType())
{
case rpr2::OriginatorTypeEnum16::Unknown:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Unknown;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown;
break;
case rpr2::OriginatorTypeEnum16::NoMedicalTreatment:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Participant;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant;
if (hitStruct.originatorId == 0)
hitStruct.originatorId = hitStruct.targetId;
break;
case rpr2::OriginatorTypeEnum16::Participant:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::Participant;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant;
if (hitStruct.originatorId == 0)
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ExerciseControl;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl;
break;
case rpr2::OriginatorTypeEnum16::AreaEffectSimulation:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation;
hitStruct.originatorId = IdentifierStruct(interaction.getOriginatorIdentifier()).toInt64();
break;
case rpr2::OriginatorTypeEnum16::ObserverController:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ObserverController;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController;
break;
case rpr2::OriginatorTypeEnum16::ExerciseControl:
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::ExerciseControl;
hitStruct.originatorType = ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl;
break;
}
hitStruct.position = ParticipantPosition(interaction.getTargetLocation()).toGeoPosition();
@@ -2458,16 +2459,16 @@ void NgsConnector::onNewGuezHit(const rpr2::IObserverGuezHitIntInstance &interac
hitStruct.vulnerabilityState = getTacticalStatusEnum(interaction.getHitResult());
if ((hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::ExerciseControl ||
hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::ObserverController
if ((hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl ||
hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController
)
&& hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::HitWithNoEffect)
&& hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_HitWithNoEffect)
{
auto ptr = m_damageModelMap.value(eqNo);
if (ptr)
{
hitStruct.vulnerabilityState = ptr->vulnerabilityState(hitStruct.sampleTime);
if (hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::CombatReady)
if (hitStruct.vulnerabilityState == ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady)
ptr->setTacticalStatus(rpr2::HitResultEnum16::Reset, simTimeToMSec(interaction.getReceiveTimeStamp()));
}
}
@@ -2642,7 +2643,7 @@ rpr2::EventIdentifierStruct NgsConnector::getEventIdentifierStruct()
rpr2::TacticalStatusStruct NgsConnector::getTacticalStatusFromState(const ParticipantManagement::StateInformation &state)
{
rpr2::TacticalStatusStruct ts;
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(state.vulnerabilityState().underlying());
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(state.vulnerabilityState());
ts.TotalStatus = static_cast<rpr2::TotalStatusEnum32::ET>(state.vulnerabilityBits());
ts.VulnerabilityKind = state.vulnerabilityKindId();
return ts;
@@ -2712,9 +2713,9 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
rpr2::OriginatorTypeEnum16::ET originatorTypeRpr = rpr2::OriginatorTypeEnum16::Unknown;
switch (originatorType.underlying())
switch (originatorType)
{
case ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation:
{
if (m_environmentObjects.contains(originatorEqNo))
is = IdentifierStruct(10 * originatorEqNo);
@@ -2734,14 +2735,14 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
originatorTypeRpr = rpr2::OriginatorTypeEnum16::AreaEffectSimulation;
break;
}
case ProjectDataManagement::StateChangeOriginator::ExerciseControl:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl:
originatorTypeRpr = rpr2::OriginatorTypeEnum16::ExerciseControl;
break;
case ProjectDataManagement::StateChangeOriginator::ObserverController:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController:
originatorTypeRpr = rpr2::OriginatorTypeEnum16::ObserverController;
break;
case ProjectDataManagement::StateChangeOriginator::Participant:
if (originatorType == ProjectDataManagement::StateChangeOriginator::Participant)
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant:
if (originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant)
{
if (m_playerMap.contains(originatorEqNo))
is = IdentifierStruct(originatorEqNo);
@@ -2756,16 +2757,16 @@ bool NgsConnector::setParticipantHit(int eqNo, const ParticipantManagement::Stat
break;
}
Q_FALLTHROUGH();
case ProjectDataManagement::StateChangeOriginator::Initialization:
case ProjectDataManagement::StateChangeOriginator::FunctionalArea:
case ProjectDataManagement::StateChangeOriginator::MaintainanceDevice:
case ProjectDataManagement::StateChangeOriginator::Unknown:
case ProjectDataManagement::StateChangeOriginator::WoundTreatmentDevice:
case ProjectDataManagement::StateChangeOriginator::MedicalTimeout:
case ProjectDataManagement::StateChangeOriginator::Sanitation:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_FunctionalArea:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MaintainanceDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_WoundTreatmentDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MedicalTimeout:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Sanitation:
case ProjectDataManagement::StateChangeOriginator::ImprovisedExplosiveDevice:
case ProjectDataManagement::StateChangeOriginator::DusMine:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ImprovisedExplosiveDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_DusMine:
originatorTypeRpr = rpr2::OriginatorTypeEnum16::Unknown;
break;
}
@@ -2,6 +2,7 @@
#include "ngs_handler.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ngs_connector.h"
#include <Common/logger.h>
#include <Common/settings.h>
@@ -154,7 +154,7 @@ int PpmHandler::getEquipmentNo(int participantId) const
return 0;
const ParticipantManagement::Participant &p = m_partData[participantId];
if (!p.equipmentNumber().is_set())
if (!p.equipmentNumber().has_value())
return 0;
return p.equipmentNumber().get();
@@ -196,7 +196,7 @@ void PpmHandler::onDynamicParticipantDataChanged(const ParticipantManagement::Dy
if (oldStateInfo != newStateInfo)
{
m_dynPartData[data.participantId()] = data;
if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
{
conn->setParticipantHit(equipmentNo,
@@ -206,7 +206,7 @@ void PpmHandler::onDynamicParticipantDataChanged(const ParticipantManagement::Dy
newStateInfo.originatorType(),
newStateInfo.originatorId());
}
else if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::Participant)
else if (newStateInfo.originatorType() == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant)
{
conn->setParticipantHit(equipmentNo,
@@ -282,18 +282,18 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
}
int oldEqNo = m_partData[data.id()].equipmentNumber().is_set() ? m_partData[data.id()].equipmentNumber().get() : 0;
int newEqNo = data.equipmentNumber().is_set() ? data.equipmentNumber().get() : 0;
int oldEqNo = m_partData[data.id()].equipmentNumber().has_value() ? m_partData[data.id()].equipmentNumber().get() : 0;
int newEqNo = data.equipmentNumber().has_value() ? data.equipmentNumber().get() : 0;
if (oldEqNo != newEqNo)
{
removeParticipant(m_partData[data.id()]);
createParticipant(data);
}
if (m_partData[data.id()].designator() != data.designator() && data.equipmentNumber().is_set())
if (m_partData[data.id()].designator() != data.designator() && data.equipmentNumber().has_value())
m_ngsHandler->ngsConnector()->setParticipantName(data.equipmentNumber().get(), QString::fromStdString(data.designator()));
if (m_partData[data.id()].partyId() != data.partyId() && data.equipmentNumber().is_set())
if (m_partData[data.id()].partyId() != data.partyId() && data.equipmentNumber().has_value())
m_ngsHandler->ngsConnector()->setParticipantForce(data.equipmentNumber().get(), forceIdentifierFromPartyId(data.partyId()));
m_partData[data.id()] = data;
@@ -309,7 +309,7 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
if (it == m_externalEquipmentNumbers.end())
{
if (modType == DataModification::eRemoved || !data.equipmentNumber().is_set() || data.externalId() <= 0)
if (modType == DataModification::eRemoved || !data.equipmentNumber().has_value() || data.externalId() <= 0)
return;
int equipNo = data.equipmentNumber().get();
m_externalEquipmentNumbers.insert(data.id(), equipNo);
@@ -319,7 +319,7 @@ void PpmHandler::onParticipantChanged(const ParticipantManagement::Participant &
{
int oldEquipNo = it.value();
if (modType == DataModification::eRemoved || !data.equipmentNumber().is_set() || data.externalId() <= 0)
if (modType == DataModification::eRemoved || !data.equipmentNumber().has_value() || data.externalId() <= 0)
{
m_externalEquipmentNumbers.erase(it);
emit externalEquipmentNumberRemoved(oldEquipNo);
@@ -349,7 +349,7 @@ void PpmHandler::onParticipantPositionChanged(const ParticipantManagement::Parti
if (eqNo == 0)
return;
ParticipantPosition pos(data.pos(), data.sampleTime());
int mountedOnEqNo = data.mountedOn().is_set() ? getEquipmentNo(data.mountedOn().get()) : 0;
int mountedOnEqNo = data.mountedOn().has_value() ? getEquipmentNo(data.mountedOn().get()) : 0;
m_ngsHandler->ngsConnector()->setWorldLocation(eqNo, pos, mountedOnEqNo);
}
m_partPosData[data.participantId()] = data;
@@ -381,8 +381,8 @@ void PpmHandler::onParticipantReceivedInit(int eqId, qint64 simTimeMSecs)
init.equipmentNumber(eqId);
init.sampleTime(simTimeMSecs);
init.vulnerabilityBits(1);
init.vulnerabilityState(ProjectDataManagement::VulnerabilityState::CombatReady);
init.originatorType(ProjectDataManagement::StateChangeOriginator::ExerciseControl);
init.vulnerabilityState(ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady);
init.originatorType(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl);
m_dtsTab->publish(init);
}
@@ -474,7 +474,7 @@ void PpmHandler::participantBiteRequest(const TrainingAreaBase::TetraIcd::Demand
void PpmHandler::createParticipant(const ParticipantManagement::Participant &participant)
{
if (participant.externalId() > 0 || !participant.equipmentNumber().is_set() || participant.isDeleted() || participant.equipmentNumber().get() == 0)
if (participant.externalId() > 0 || !participant.equipmentNumber().has_value() || participant.isDeleted() || participant.equipmentNumber().get() == 0)
return;
if (!m_ngsHandler->ngsConnector()->canPublishData())
@@ -488,7 +488,7 @@ void PpmHandler::createParticipant(const ParticipantManagement::Participant &par
const ParticipantManagement::Type partType = getParticipantType(participant.typeId());
bool bCreated;
switch (partType.typeClass().underlying())
switch (partType.typeClass())
{
case ParticipantManagement::TypeClass::Human:
bCreated = createHuman(participant);
@@ -513,7 +513,7 @@ void PpmHandler::createParticipant(const ParticipantManagement::Participant &par
bool PpmHandler::removeParticipant(const ParticipantManagement::Participant &participant)
{
if (!participant.equipmentNumber().is_set() || participant.equipmentNumber().get() == 0)
if (!participant.equipmentNumber().has_value() || participant.equipmentNumber().get() == 0)
return false;
return m_ngsHandler->ngsConnector()->removeBaseEntity(participant.equipmentNumber().get());
@@ -578,7 +578,7 @@ rpr2::TacticalStatusStruct PpmHandler::currentTacticalStatus(int participantId)
if (sh.at(idxCurrent).stateTime() < sh.at(i).stateTime())
idxCurrent = i;
}
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(sh.at(idxCurrent).vulnerabilityState().underlying());
ts.TacticalStatus = static_cast<rpr2::TacticalStatusEnum8::ET>(sh.at(idxCurrent).vulnerabilityState());
ts.VulnerabilityKind = sh.at(idxCurrent).vulnerabilityKindId();
ts.TotalStatus = static_cast<rpr2::TotalStatusEnum32::ET>(sh.at(idxCurrent).vulnerabilityBits());
return ts;
@@ -660,7 +660,7 @@ ProjectDataManagement::ChargeType PpmHandler::chargeTypeFromDisEntity(const std:
rpr2::ForceIdentifierEnum8::ET PpmHandler::getRprForceIdentifierFromPpmForceIdentifier(const ParticipantManagement::HlaForceIdentifierEnum& ppmForceIdentifier) const
{
rpr2::ForceIdentifierEnum8::ET eqfi = rpr2::ForceIdentifierEnum8::Other;
switch (ppmForceIdentifier.underlying()) {
switch (ppmForceIdentifier) {
case ParticipantManagement::HlaForceIdentifierEnum::Friendly_1:
eqfi = rpr2::ForceIdentifierEnum8::Friendly;
break;
@@ -831,7 +831,7 @@ void PpmHandler::onParticipantHit(const GuezHitStruct &hitStruct)
TrainingAreaBase::EquipmentState es;
es.equipmentNumber(hitStruct.targetId);
es.originatorChargeTypeId(ct.id());
if (hitStruct.originatorType.underlying() == ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
if (hitStruct.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
{
int aesItemId = 0;
if (m_dtcAes->aesItemIdFromExternalId(hitStruct.originatorId, aesItemId) == AreaEffectSimulation::AesType::AtUnknown)
@@ -906,7 +906,7 @@ void PpmHandler::onIsPartOfChanged(int eqNo, int eqNoHost, qint64 simTimeMSecs)
TrainingAreaBase::EquipmentPosition &newHost = m_observerPositions[eqNoHost];
auto mountedParticipants = newHost.mountedParticipants().is_set() ? newHost.mountedParticipants().get() : std::vector<int32_t>();
auto mountedParticipants = newHost.mountedParticipants().has_value() ? newHost.mountedParticipants().get() : std::vector<int32_t>();
mountedParticipants.push_back(eqNo);
@@ -925,7 +925,7 @@ void PpmHandler::onIsPartOfChanged(int eqNo, int eqNoHost, qint64 simTimeMSecs)
TrainingAreaBase::EquipmentPosition &oldHost = m_observerPositions[eqNoOldHost];
if (!oldHost.mountedParticipants().is_set())
if (!oldHost.mountedParticipants().has_value())
return;
@@ -968,16 +968,16 @@ bool PpmHandler::onExconInit(int eqNo, rpr2::ResetPlayerEnum8::ET rp, rpr2::Acti
bool bNoChange = false;
switch (aho) {
case rpr2::ActivateHelmetObservationEnum8::WithoutHelmetWithoutVest:
helmet = ProjectDataManagement::WphMode::Without;
vest = ProjectDataManagement::WphMode::Without;
helmet = ProjectDataManagement::WphMode::WphMode_Without;
vest = ProjectDataManagement::WphMode::WphMode_Without;
break;
case rpr2::ActivateHelmetObservationEnum8::HelmetWithoutVest:
helmet = ProjectDataManagement::WphMode::With;
vest = ProjectDataManagement::WphMode::Without;
helmet = ProjectDataManagement::WphMode::WphMode_With;
vest = ProjectDataManagement::WphMode::WphMode_Without;
break;
case rpr2::ActivateHelmetObservationEnum8::HelmetAndVest:
helmet = ProjectDataManagement::WphMode::With;
vest = ProjectDataManagement::WphMode::With;
helmet = ProjectDataManagement::WphMode::WphMode_With;
vest = ProjectDataManagement::WphMode::WphMode_With;
break;
case rpr2::ActivateHelmetObservationEnum8::NoChange:
helmet = ProjectDataManagement::WphMode::NoChange;
@@ -6,6 +6,7 @@
#include <QtCore/QSet>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <ParticipantManagement/ppm_ftc.h>
#include <ProjectDataManagement/pdm_dtc.h>
#include <AreaEffectSimulation/aes_dtc.h>
@@ -2,6 +2,7 @@
#include "web_socket_handler.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <utility>
#include "main_handler.h"