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

@@ -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 "damage_model.h"
@@ -1229,35 +1230,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;
@@ -1270,37 +1271,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)
@@ -1335,10 +1336,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
{
@@ -1619,11 +1620,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);
@@ -1910,31 +1911,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();
@@ -1945,16 +1946,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()));
}
}
@@ -2,6 +2,7 @@
#include "ngs_handler.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include "ngs_connector.h"
#include <Common/logger.h>
#include <Common/settings.h>
@@ -2,6 +2,7 @@
#include "ngs_handler.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <utility>
#include "ngs_connector.h"
#include "web_socket_interface.h"
@@ -22,8 +23,7 @@ namespace HighLevelArchitecture
WsInterface::WsInterface(std::shared_ptr<NgsHandler> ngsHandler, QObject *parent) : QObject(parent)
, m_wsServer(new QWebSocketServer(QStringLiteral("GNA"), QWebSocketServer::NonSecureMode, this))
, m_ngsHandler(ngsHandler)
.getNGLLogger("HlaTestTool.WsInterface")),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END";
}