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 2b957d1edb
commit 598fc2560e
1718 files changed
+126739 -18495

No files matched your search

@@ -106,7 +106,7 @@ bool ExplosionSingleCentral2SituationMap::updateElementImpl(const Sim2SituationM
int partyId = -1;
if (ddsData.participantId().is_set())
if (ddsData.participantId().has_value())
{
const int pId = ddsData.participantId().get();
const ParticipantManagement::Participant &participant = m_ppmDtc->participant(pId);
@@ -115,7 +115,7 @@ bool ExplosionSingleCentral2SituationMap::updateElementImpl(const Sim2SituationM
}
else
{
if (ddsData.partyId().is_set())
if (ddsData.partyId().has_value())
partyId = ddsData.partyId().get();
}
@@ -123,10 +123,10 @@ bool ExplosionSingleCentral2SituationMap::updateElementImpl(const Sim2SituationM
partyId = 0;
mapObj->setPartyId(partyId);
const bool changeToActive = (ddsData.effectStateId().underlying()==AreaEffectSimulation::AesEffectState::EsActivated) &&
const bool changeToActive = (ddsData.effectStateId()==AreaEffectSimulation::AesEffectState::EsActivated) &&
(static_cast<int>(mapObj->aesState()) < static_cast<int>(AreaEffectSimulation::AesEffectState::EsActivated));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId()));
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtExplosionSingleCentralTrajectory, itemView))
@@ -84,7 +84,7 @@ namespace SituationMap
{
AdapterDds::AdapterDds(QObject *parent) : QObject(parent),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
m_logger(getLogger("AdapterDds")) {
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START DDDDDDDD" ;
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END" ;
}
@@ -232,7 +232,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtExplosionSingle;
ExplosionSingle2SituationMap *sim2Map = static_cast<ExplosionSingle2SituationMap *>(m_aes2MapCont.value(aesType));
ExplosionSingle2SituationMap *sim2Map = static_cast<ExplosionSingle2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new ExplosionSingle2SituationMap(m_pdmHandler,
@@ -263,7 +263,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtExplosionArea;
ExplosionArea2SituationMap *sim2Map = static_cast<ExplosionArea2SituationMap *>(m_aes2MapCont.value(aesType));
ExplosionArea2SituationMap *sim2Map = static_cast<ExplosionArea2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new ExplosionArea2SituationMap(m_map->objectFactory(),
@@ -278,7 +278,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtMineArea;
MineArea2SituationMap *sim2Map = static_cast<MineArea2SituationMap*>(m_aes2MapCont.value(aesType));
MineArea2SituationMap *sim2Map = static_cast<MineArea2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new MineArea2SituationMap(m_map->objectFactory(),
@@ -306,7 +306,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtMineCorridor;
MineCorridor2SituationMap *sim2Map = static_cast<MineCorridor2SituationMap *>(m_aes2MapCont.value(aesType));
MineCorridor2SituationMap *sim2Map = static_cast<MineCorridor2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new MineCorridor2SituationMap(m_map->objectFactory(),
@@ -320,7 +320,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtBCContamination;
BCContamination2SituationMap *sim2Map = static_cast<BCContamination2SituationMap *>(m_aes2MapCont.value(aesType));
BCContamination2SituationMap *sim2Map = static_cast<BCContamination2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new BCContamination2SituationMap(m_map->objectFactory(),
@@ -345,7 +345,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtNContamination;
NContamination2SituationMap *sim2Map = static_cast<NContamination2SituationMap *>(m_aes2MapCont.value(aesType));
NContamination2SituationMap *sim2Map = static_cast<NContamination2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new NContamination2SituationMap(m_map->objectFactory(),
@@ -361,7 +361,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtExplosionCluster;
ExplosionCluster2SituationMap *sim2Map = static_cast<ExplosionCluster2SituationMap *>(m_aes2MapCont.value(aesType));
ExplosionCluster2SituationMap *sim2Map = static_cast<ExplosionCluster2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new ExplosionCluster2SituationMap(m_pdmHandler,
@@ -378,7 +378,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtEffectCluster;
EffectCluster2SituationMap *sim2Map = static_cast<EffectCluster2SituationMap *>(m_aes2MapCont.value(aesType));
EffectCluster2SituationMap *sim2Map = static_cast<EffectCluster2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new EffectCluster2SituationMap(m_pdmHandler,
@@ -412,12 +412,12 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
if (m_map->mode() == Mode::Mode_3D)
{
INFO_LOG(m_logger) << Q_FUNC_INFO << " assignUniqueValueRendererAesCentral";
initRenderer3D_AesCentral_Booby(layernameAesCentral, {AreaEffectSimulation::AesType::AtBoobyTrap, AreaEffectSimulation::AesType::AtOffRouteMine});
initRenderer3D_AesCentral_Booby(layernameAesCentral, {static_cast<int>(AreaEffectSimulation::AesType::AtBoobyTrap), static_cast<int>(AreaEffectSimulation::AesType::AtOffRouteMine)});
}
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtBoobyTrap;
BoobyTrap2SituationMap *sim2Map = static_cast<BoobyTrap2SituationMap *>(m_aes2MapCont.value(aesType));
BoobyTrap2SituationMap *sim2Map = static_cast<BoobyTrap2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (!sim2Map)
{
sim2Map = new BoobyTrap2SituationMap(m_map->objectFactory(),
@@ -431,7 +431,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtOffRouteMine;
OffRoute2SituationMap *sim2Map = static_cast<OffRoute2SituationMap *>(m_aes2MapCont.value(aesType));
OffRoute2SituationMap *sim2Map = static_cast<OffRoute2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (!sim2Map)
{
sim2Map = new OffRoute2SituationMap(m_map->objectFactory(),
@@ -450,7 +450,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtDangerArea;
DangerArea2SituationMap *sim2Map = static_cast<DangerArea2SituationMap *>(m_aes2MapCont.value(aesType));
DangerArea2SituationMap *sim2Map = static_cast<DangerArea2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new DangerArea2SituationMap(m_map->objectFactory(),
@@ -464,7 +464,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtFunctionalArea;
FunctionalArea2SituationMap *sim2Map = static_cast<FunctionalArea2SituationMap*>(m_aes2MapCont.value(aesType));
FunctionalArea2SituationMap *sim2Map = static_cast<FunctionalArea2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new FunctionalArea2SituationMap(m_map->objectFactory(),
@@ -478,7 +478,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtBorderline;
Borderline2SituationMap *sim2Map = static_cast<Borderline2SituationMap*>(m_aes2MapCont.value(aesType));
Borderline2SituationMap *sim2Map = static_cast<Borderline2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new Borderline2SituationMap(m_map->objectFactory(),
@@ -492,7 +492,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtReconArea;
ReconArea2SituationMap *sim2Map = static_cast<ReconArea2SituationMap*>(m_aes2MapCont.value(aesType));
ReconArea2SituationMap *sim2Map = static_cast<ReconArea2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new ReconArea2SituationMap(m_map->objectFactory(),
@@ -509,7 +509,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtDusSingleMine;
DusSingleMine2SituationMap *sim2Map = static_cast<DusSingleMine2SituationMap*>(m_aes2MapCont.value(aesType));
DusSingleMine2SituationMap *sim2Map = static_cast<DusSingleMine2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new DusSingleMine2SituationMap(m_map->objectFactory(),
@@ -526,7 +526,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtGasPipe;
GasPipe2SituationMap *sim2Map = static_cast<GasPipe2SituationMap *>(m_aes2MapCont.value(aesType));
GasPipe2SituationMap *sim2Map = static_cast<GasPipe2SituationMap *>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new GasPipe2SituationMap(m_map->objectFactory(),
@@ -543,7 +543,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtAirSupportImpact;
AirSupportImpact2SituationMap *sim2Map = static_cast<AirSupportImpact2SituationMap*>(m_aes2MapCont.value(aesType));
AirSupportImpact2SituationMap *sim2Map = static_cast<AirSupportImpact2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new AirSupportImpact2SituationMap(m_map->objectFactory(),
@@ -559,7 +559,7 @@ bool AdapterDds::init(Map *map, PluginProvider *pluginProvider, QPointer<Movemen
{
AreaEffectSimulation::AesType aesType = AreaEffectSimulation::AesType::AtTechnicalArea;
TechnicalArea2SituationMap *sim2Map = static_cast<TechnicalArea2SituationMap*>(m_aes2MapCont.value(aesType));
TechnicalArea2SituationMap *sim2Map = static_cast<TechnicalArea2SituationMap*>(m_aes2MapCont.value(static_cast<int>(aesType)));
if (! sim2Map)
{
sim2Map = new TechnicalArea2SituationMap(m_map->objectFactory(),
@@ -1699,7 +1699,7 @@ bool AdapterDds::clearMapObjectSelection(MapObjectType mot)
bool AdapterDds::isBuildingOwnershipSupported() const
{
return m_buildingOwnership;
return m_buildingOwnership.data() != nullptr;
}
bool AdapterDds::isBuildingOwnershipVisible() const
{
@@ -1719,7 +1719,7 @@ bool AdapterDds::setBuildingOwnershipVisible(bool visible)
bool AdapterDds::isBuildingContaminationSupported() const
{
return m_buildingContamination;
return m_buildingContamination.data() != nullptr;
}
bool AdapterDds::isBuildingContaminationVisible() const
{
@@ -28,7 +28,7 @@ inline PositionCont form2PosCont(const std::vector<Core::GeoPosition2D> &form)
PositionCont ret;
ret.reserve(form.size());
for (const auto &pos : form)
ret.push_back({pos.lon(), pos.lat(), 0.0});
ret.push_back({pos.lon, pos.lat, 0.0});
return ret;
}
@@ -37,7 +37,7 @@ inline PositionCont form2PosCont(const std::vector<Core::GeoPosition> &form)
PositionCont ret;
ret.reserve(form.size());
for (const auto &pos : form)
ret.push_back({pos.lon(), pos.lat(), pos.z()});
ret.push_back({pos.lon, pos.lat, pos.z});
return ret;
}
@@ -57,7 +57,7 @@ inline SituationMap::AesEffectState effectState2aesState(AreaEffectSimulation::A
{
SituationMap::AesEffectState aesState = AesEffectState::Unknown;
switch (effectState.underlying())
switch (effectState)
{
case AreaEffectSimulation::AesEffectState::EsUnknown:
case AreaEffectSimulation::AesEffectState::EsError:
@@ -121,7 +121,7 @@ public:
int32_t getSimId(const DDS_TYPE &ddsData) const override
{
return ddsData.id();
return ddsData.id;
}
virtual bool init(PluginProvider *pluginProvider)
@@ -218,12 +218,12 @@ public:
const SUPER *derived = static_cast<const SUPER*>(this);
const auto cb = [simIdOut, &umodOut](const DDS_TYPE &data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
if (data.partyId().is_set())
umodOut.m_partyId = data.partyId().get();
if (data.partyId.is_set())
umodOut.m_partyId = data.partyId.get();
umodOut.m_description1 = QString::fromStdString(data.name());
umodOut.m_description1 = QString::fromStdString(data.name);
return true;
}
@@ -260,10 +260,10 @@ protected:
const SUPER *derived = static_cast<const SUPER*>(this);
const auto cb = [simId, &effectStart](const DDS_TYPE &data) -> bool
{
if (data.id() == simId)
if (data.id == simId)
{
if (data.effectStart().is_set())
effectStart = data.effectStart().get();
if (data.effectStart.is_set())
effectStart = data.effectStart.get();
return true;
}
return false;
@@ -289,16 +289,16 @@ protected:
bool isElapsed(const DDS_TYPE &ddsData) const override
{
const AreaEffectSimulation::AesEffectState &aesEffectState = ddsData.effectStateId();
if (ddsData.isDeleted())
const AreaEffectSimulation::AesEffectState &aesEffectState = ddsData.effectStateId;
if (ddsData.isDeleted)
return true;
if (aesEffectState == AreaEffectSimulation::AesEffectState::EsRemoved)
return true;
if (aesEffectState == AreaEffectSimulation::AesEffectState::EsExpired)
{
if (!ddsData.effectStart().is_set())
if (!ddsData.effectStart.is_set())
return true;
const auto effectEnd = ddsData.effectStart().get() + ddsData.effectDuration();
const auto effectEnd = ddsData.effectStart.get() + ddsData.effectDuration;
const auto afterGlow = m_displayFilter ? m_displayFilter->maxAfterglowDurationMSec() : 0;
return (m_pluginProvider->partitionTime() > effectEnd + afterGlow);
}
@@ -315,9 +315,9 @@ protected:
const auto cb = [this, bCleanup](const DDS_TYPE &data) -> bool
{
if (data.isDeleted())
if (data.isDeleted)
return false;
if (data.effectStateId() != AreaEffectSimulation::AesEffectState::EsExpired)
if (data.effectStateId != AreaEffectSimulation::AesEffectState::EsExpired)
return false;
@@ -342,10 +342,10 @@ protected:
if (mod != DataModification::eAdded && mod != DataModification::eModified)
return;
if (data.aesTypeId() != Aes2SituationMapTraits<SUPER>::aesType)
if (data.aesTypeId != Aes2SituationMapTraits<SUPER>::aesType)
return;
const auto uniqueMapId = this->simId2UniqueMapId(data.aesItemId());
const auto uniqueMapId = this->simId2UniqueMapId(data.aesItemId);
if (!isUniqueMapIdValid(uniqueMapId))
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " skip due to invalid map id";
@@ -355,7 +355,7 @@ protected:
RefPointer<MAP_TYPE> mapObj = this->getMapObjectOfUniqueMapId(uniqueMapId);
if (!mapObj.valid())
{
WARNING_LOG(m_logger) << "Can not find map object for aes item with id " << data.aesItemId();
WARNING_LOG(m_logger) << "Can not find map object for aes item with id " << data.aesItemId;
return;
}
updateGeometry(data, mapObj);
@@ -379,7 +379,7 @@ protected:
if (isElapsed(data))
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " skip due to isElapsed map id/simId: " << data.id();
DEBUG_LOG(m_logger) << LOGFUNCTION << " skip due to isElapsed map id/simId: " << data.id;
return;
}
@@ -439,7 +439,7 @@ protected:
{
mapObj->setVisibility(isVisibile);
mapObj->updateView();
DEBUG_LOG(m_logger) << "Set visibility for object " << data.id() << " to " << (isVisibile ? "visible" : "invisible");
DEBUG_LOG(m_logger) << "Set visibility for object " << data.id << " to " << (isVisibile ? "visible" : "invisible");
this->emit_visibilityHasChangedSignal();
}
}
@@ -453,17 +453,17 @@ protected:
if (!m_displayFilter)
return true;
const auto es = data.effectStart().is_set() ? data.effectStart().get() : 0;
const auto partyId = data.partyId().is_set() ? data.partyId().get() : -1;
const auto es = data.effectStart.is_set() ? data.effectStart.get() : 0;
const auto partyId = data.partyId.is_set() ? data.partyId.get() : -1;
bool isVisibleByFilter = partyId > 0 ? FilterClass::m_currentSymbolSettings.symbolSettings.symbolPartyAppearance.value(partyId).isVisible : true;
if (isVisibleByFilter)
isVisibleByFilter = m_displayFilter->isVisible(Aes2SituationMapTraits<SUPER>::aesType,
data.effectStateId(),
data.chargeStruct().chargeTypeId(),
data.effectStateId,
data.chargeStruct.chargeTypeId,
partyId,
data.isCentral(),
data.isCentral,
es,
data.effectDuration(),
data.effectDuration,
m_pluginProvider->partitionTime());
return isVisibleByFilter;
}
@@ -471,14 +471,14 @@ protected:
protected:
virtual void onAesDisplayFilterChanged(AreaEffectSimulation::AesType aesType) override
{
if (Aes2SituationMapTraits<SUPER>::aesType != aesType.underlying())
if (Aes2SituationMapTraits<SUPER>::aesType != aesType)
return;
SUPER *derived = static_cast<SUPER*>(this);
const auto cb = [this](const DDS_TYPE &data) -> bool
{
if (data.isDeleted())
if (data.isDeleted)
return false;
this->updateVisibility(data);
return false;
@@ -516,13 +516,13 @@ public:
virtual bool updateGeometry(const AreaEffectSimulation::AesItemView &data,
RefPointer<MAP_TYPE> mapObj)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " START" << " data.aesTypeId()=" << data.aesTypeId()
DEBUG_LOG(m_logger) << LOGFUNCTION << " START" << " data.aesTypeId()=" << data.aesTypeId
<< ", m_debugInfo " << mapObj->debugInfo();
mapObj->setPositions(form2PosCont(data.form()));
mapObj->setPositions(form2PosCont(data.form));
if (!mapObj->updateView())
ERROR_LOG(m_logger) << LOGFUNCTION << " aesItemId = " << data.aesItemId() << " updateView failed";
ERROR_LOG(m_logger) << LOGFUNCTION << " aesItemId = " << data.aesItemId << " updateView failed";
return true;
}
@@ -43,15 +43,15 @@ bool AirSupportImpact2SituationMap::updateElementImpl(const Sim2SituationMap::DD
mapObj->setVisibility(ObjectAppearance::Tactical, false);
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtAirSupportImpact, itemView))
@@ -72,8 +72,8 @@ bool AirSupportImpact2SituationMap::updateElementImpl(const Sim2SituationMap::DD
}
const Core::GeoPosition2D &impactPos2D = ddsData.impactPosition();
mapObj->setImpactOrigin(Point3D(impactPos2D.lon(), impactPos2D.lat(), 0.0));
const Core::GeoPosition2D &impactPos2D = ddsData.impactPosition;
mapObj->setImpactOrigin(Point3D(impactPos2D.lon, impactPos2D.lat, 0.0));
updateVisibility(ddsData, mapObj);
@@ -108,7 +108,7 @@ bool AlarmToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
if (data.eventType().underlying() != ProjectDataManagement::PdmEventType::EventType_EmergencyCall)
if (data.eventType() != ProjectDataManagement::PdmEventType::EventType_EmergencyCall)
return true;
return false;
@@ -38,21 +38,21 @@ bool BCContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
else
{
mapObj->setLineStyle(LineStyle(Qt::yellow, 2));
mapObj->setFillStyle(FillStyle(Qt::yellow, FillPattern::Null));
}
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtBCContamination, itemView))
this->updateGeometry(itemView, mapObj);
@@ -72,8 +72,8 @@ bool BCContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
}
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition();
mapObj->setImpactOrigin(Point3D(impactPos2D.lon(), impactPos2D.lat(), 0.0));
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition;
mapObj->setImpactOrigin(Point3D(impactPos2D.lon, impactPos2D.lat, 0.0));
@@ -82,7 +82,7 @@ bool BCContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
if (ddsData.partyId().is_set())
if (ddsData.partyId.has_value())
{
@@ -90,7 +90,7 @@ bool BCContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
int height = ddsData.upperOffset();
int height = ddsData.upperOffset;
if (height > 0)
mapObj->setExtrusionHeight(height);
else
@@ -39,25 +39,25 @@ bool BoobyTrap2SituationMap::run()
void BoobyTrap2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::AesItemView &data, DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START, " << " data.aesTypeId()=" << data.aesTypeId() << " modType=" << modType;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, " << " data.aesTypeId()=" << data.aesTypeId << " modType=" << modType;
if (data.aesTypeId() != AreaEffectSimulation::AesType::AtBoobyTrapSecondary)
if (data.aesTypeId != AreaEffectSimulation::AesType::AtBoobyTrapSecondary)
return;
if (modType == DataModification::eRemoved)
return;
const int32_t simId = data.aesItemId();
const int32_t simId = data.aesItemId;
if (simId < 0)
return;
updateSecondary(simId);
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " data.aesTypeId()=" << data.aesTypeId() << " modType=" << modType;
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " data.aesTypeId()=" << data.aesTypeId << " modType=" << modType;
}
void BoobyTrap2SituationMap::onPartitionTimeChanged(qint64 newPartitionTime)
@@ -93,7 +93,7 @@ void BoobyTrap2SituationMap::updateAllDetonationSpheres(qint64 newPartitionTime)
const int simId = it.key();
const AreaEffectSimulation::BoobyTrap &boobyTrap = m_aesDtc->boobyTrap(simId);
if (boobyTrap.id() != simId)
if (boobyTrap.id != simId)
continue;
if (updateDetonationSphere3D(mapObj, boobyTrap, newPartitionTime))
@@ -106,17 +106,17 @@ void BoobyTrap2SituationMap::updateAllDetonationSpheres(qint64 newPartitionTime)
bool BoobyTrap2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMap::MAP_T> mapObj, const AreaEffectSimulation::BoobyTrap &data, qint64 newPartitionTime)
{
const int32_t simId = data.id();
const int32_t simId = data.id;
if (!mapObj)
return false;
bool bUpdateRequired = false;
const bool bDesiredNewState = data.triggered() && ((newPartitionTime - data.sampleTime() < 5000));
const bool bDesiredNewState = data.triggered && ((newPartitionTime - data.sampleTime < 5000));
TRACE_LOG(m_logger) << LOGFUNCTION << ", START" << " simId = " << simId
<< ", sampleTime " << data.sampleTime()
<< ", sampleTime " << data.sampleTime
<< ", bDesiredNewState " << bDesiredNewState;
@@ -153,7 +153,7 @@ bool BoobyTrap2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMa
attribMap.insert(QStringLiteral("IMPACT_RADIUS"), attribValue);
LayerFactory::UniqueValueDataAesCentral::TYPE type{LayerFactory::UniqueValueDataAesCentral::TYPE::SPHERE};
if (data.centralAngle().is_set())
if (data.centralAngle().has_value())
type = LayerFactory::UniqueValueDataAesCentral::TYPE::CONE;
attribValue = QString(QStringLiteral("Impact_Type_%1")).arg(LayerFactory::toString(type));
@@ -161,7 +161,7 @@ bool BoobyTrap2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMa
int heading = 0;
if (data.rotationAngle().is_set())
if (data.rotationAngle().has_value())
heading = static_cast<int>(data.rotationAngle().get());
attribMap.insert(QStringLiteral("HEADING"), ((heading+90)%360));
attribMap.insert(QStringLiteral("PITCH"), 0);
@@ -187,22 +187,22 @@ bool BoobyTrap2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMa
{
FATAL_LOG(m_logger) << LOGFUNCTION << ", START ADD " << " simId = " << simId;
const Core::GeoPosition2D &geoPos = data.impactPosition();
Point3D markerOrigin(geoPos.lon(), geoPos.lat(), 0);
const Core::GeoPosition2D &geoPos = data.impactPosition;
Point3D markerOrigin(geoPos.lon, geoPos.lat, 0);
VirtualMine::SceneSymbolData ssData;
const QColor &majorColor = mapObj->majorColor();
ssData.color = majorColor;
ssData.radius = std::max(data.impactRadius(), 10.0);
ssData.radius = std::max(data.impactRadius, 10.0);
ssData.cone = data.centralAngle().is_set();
ssData.cone = data.centralAngle.has_value();
int heading = 0;
if (data.rotationAngle().is_set())
heading = static_cast<int>(data.rotationAngle().get());
if (data.rotationAngle.has_value())
heading = static_cast<int>(data.rotationAngle.get());
ssData.heading = (heading+90)%360;
ssData.pitch = 0.0;
@@ -240,21 +240,21 @@ bool BoobyTrap2SituationMap::updateSecondary(int32_t simId)
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtBoobyTrapSecondary, dataAesItemView))
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " AesItemViewForSecondary found :-) ";
trap = m_aesDtc->boobyTrap(dataAesItemView.aesItemId());
trap = m_aesDtc->boobyTrap(dataAesItemView.aesItemId);
} else {
ERROR_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " no AesItemViewForSecondary found. :-( ";
}
if ((dataAesItemView.aesItemId() == simId) &&
(trap.id() == simId) &&
trap.triggered())
if ((dataAesItemView.aesItemId == simId) &&
(trap.id == simId) &&
trap.triggered)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " setSubsidiaryLine";
VirtualMine::OptionalData optData;
optData.closed = true;
mapObj->setSubsidiaryLine(0,
form2PosCont(dataAesItemView.form()), optData);
form2PosCont(dataAesItemView.form), optData);
} else {
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " removeSubsidiaryLine";
mapObj->removeSubsidiaryLine(0);
@@ -266,7 +266,7 @@ bool BoobyTrap2SituationMap::updateSecondary(int32_t simId)
}
TRACE_LOG(m_logger) << LOGFUNCTION << ", END" << " simId = " << simId
<< " trap.triggered(" << trap.triggered();
<< " trap.triggered(" << trap.triggered;
return true;
}
@@ -279,15 +279,15 @@ bool BoobyTrap2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dd
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtBoobyTrap, itemView))
@@ -326,17 +326,17 @@ bool BoobyTrap2SituationMap::isVisibleByFilter(const DDS_TYPE &data) const
if (!m_displayFilter)
return true;
const auto es = data.effectStart().is_set() ? data.effectStart().get() : 0;
const auto partyId = data.partyId().is_set() ? data.partyId().get() : -1;
const auto es = data.effectStart.has_value() ? data.effectStart.get() : 0;
const auto partyId = data.partyId.has_value() ? data.partyId.get() : -1;
bool isVisibleByFilter = partyId > 0 ? FilterClass::m_currentSymbolSettings.symbolSettings.symbolPartyAppearance.value(partyId).isVisible : true;
if (isVisibleByFilter)
isVisibleByFilter = m_displayFilter->isVisible(AreaEffectSimulation::AesType::AtMineArea,
data.effectStateId(),
data.chargeStruct().chargeTypeId(),
data.effectStateId,
data.chargeStruct.chargeTypeId,
partyId,
data.isCentral(),
data.isCentral,
es,
data.effectDuration(),
data.effectDuration,
m_pluginProvider->partitionTime());
return isVisibleByFilter;
@@ -344,14 +344,14 @@ bool BoobyTrap2SituationMap::isVisibleByFilter(const DDS_TYPE &data) const
void BoobyTrap2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType aesType)
{
if ((AreaEffectSimulation::AesType::AtBoobyTrap != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtMineArea != aesType.underlying()))
if ((AreaEffectSimulation::AesType::AtBoobyTrap != aesType) &&
(AreaEffectSimulation::AesType::AtMineArea != aesType))
return;
const auto cb = [this](const DDS_TYPE &data) -> bool
{
if (data.isDeleted())
if (data.isDeleted)
return false;
this->updateVisibility(data);
return false;
@@ -46,12 +46,12 @@ bool Borderline2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &d
ls.setLineWidth(2);
mapObj->setLineStyle(ls);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtBorderline, itemView))
this->updateGeometry(itemView, mapObj);
@@ -37,7 +37,7 @@ public:
bool isElapsed(const DDS_TYPE &ddsData) const override
{
return (ddsData.operatorId() > 0 && m_pluginProvider->operatorId() != ddsData.operatorId());
return (ddsData.operatorId > 0 && m_pluginProvider->operatorId() != ddsData.operatorId);
}
bool iterateAesData(const std::function<bool(const AreaEffectSimulation::Borderline &data)> &cb) const
@@ -15,8 +15,18 @@
#define USE_BUFFER_APPROACH
#ifdef USE_BUFFER_APPROACH
# include <arcgis/PolygonBuilder.h>
# include <arcgis/GeometryEngine.h>
# include <PolygonBuilder.h>
# include <GeometryEngine.h>
# include <Geometry.h>
# include <Polygon.h>
# include <Multipart.h>
# include <SpatialReference.h>
# include <Point.h>
# include <ImmutablePartCollection.h>
# include <ImmutablePart.h>
# include <ImmutablePointCollection.h>
# include <LinearUnit.h>
# include <GeometryTypes.h>
#endif
namespace SituationMap
@@ -137,7 +147,7 @@ public:
BuildingContamination::BuildingContamination(int drawOrder, QObject *parent) : BaseClass(parent)
, d(new Private()),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
m_logger(getLogger("BuildingContamination")) {
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
d->m_drawOrder = drawOrder;
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END";
@@ -270,7 +280,7 @@ void BuildingContamination::onBuildingStateChanged(const Buildings::BuildingStat
{
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
const int buildingId = data.id();
const int buildingId = data.id;
switch (modType)
{
@@ -304,7 +314,7 @@ void BuildingContamination::updateBuilding(int buildingId)
d->m_buildingStateData[buildingId] = bos;
const auto contaminations = bos.contaminationStates();
const auto contaminations = bos.contaminationStates;
DEBUG_LOG(m_logger) << "Statecount " << contaminations.size();
@@ -314,7 +324,7 @@ void BuildingContamination::updateBuilding(int buildingId)
{
QSet<int> rooms;
for (const auto &room : contaminationState.rooms())
for (const auto &room : contaminationState.rooms)
{
rooms.insert(room);
}
@@ -412,7 +422,7 @@ int BuildingContamination::findFloorIdByRoomId(int roomId) noexcept(false)
return -1;
}
const std::vector<int32_t> path = roomSe.path();
const std::vector<int32_t> path = roomSe.path;
for (const int parentSeId : path)
{
@@ -421,7 +431,7 @@ int BuildingContamination::findFloorIdByRoomId(int roomId) noexcept(false)
continue;
if (parentSe.structureElementTypeId().underlying() != InfrastructureManagement::StructureElementType::Floor)
if (parentSe.structureElementTypeId != InfrastructureManagement::StructureElementType::Floor)
continue;
@@ -430,7 +440,7 @@ int BuildingContamination::findFloorIdByRoomId(int roomId) noexcept(false)
return parentSeId;
}
throw QStringLiteral("findFloorId: floor id for room %1 not found").arg(roomSe.id());
throw QStringLiteral("findFloorId: floor id for room %1 not found").arg(roomSe.id);
}
bool BuildingContamination::getRoom(int roomSeId, InfrastructureManagement::StructureElement &roomSe)
@@ -474,14 +484,14 @@ PositionCont BuildingContamination::retrieveBuildingGeometry(int buildingId, int
const InfrastructureManagement::MainFootprint &mainFootprint = m_ismDtc->mainFootprint(buildingId);
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START"
<< " mainFootprint.elements().size()=" << mainFootprint.elements().size();
<< " mainFootprint.elements.size()=" << mainFootprint.elements.size();
relPositions.reserve(mainFootprint.elements().size());
relPositions.reserve(mainFootprint.elements.size());
for (const InfrastructureManagement::FootprintElement &element : mainFootprint.elements())
for (const InfrastructureManagement::FootprintElement &element : mainFootprint.elements)
{
const auto &relPos = element.relPosition();
relPositions += QPointF(relPos.offsetX(), relPos.offsetY());
const auto &relPos = element.relPosition;
relPositions += QPointF(relPos.offsetX, relPos.offsetY);
}
}
@@ -530,10 +540,10 @@ PositionCont BuildingContamination::retrieveBuildingGeometry(int buildingId, int
const InfrastructureManagement::MainStructureElement &mse = m_ismDtc->mainStructureElement(buildingId);
const Core::GeoPosition &geoPosition = mse.geoPosition();
const QPointF &referencePointGeo = QPointF(geoPosition.lon(), geoPosition.lat());
const Core::GeoPosition &geoPosition = mse.geoPosition;
const QPointF &referencePointGeo = QPointF(geoPosition.lon, geoPosition.lat);
const LtsCoordTrans::UtmCoordinate &referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(referencePointGeo);
const double angleRad = mse.angle() * LtsCoordTrans::deg2rad();
const double angleRad = mse.angle * LtsCoordTrans::deg2rad();
const QPointF center;
@@ -569,7 +579,7 @@ PositionCont BuildingContamination::retrieveBuildingGeometry(int buildingId, int
const Esri::ArcGISRuntime::Polygon &polyline =
Esri::ArcGISRuntime::GeometryEngine::bufferGeodetic(esriGeometry,
distance,
Esri::ArcGISRuntime::LinearUnitId::Meters,
Esri::ArcGISRuntime::LinearUnit(Esri::ArcGISRuntime::LinearUnitId::Meters),
0.1,
Esri::ArcGISRuntime::GeodeticCurveType::Geodesic);
@@ -582,7 +592,7 @@ PositionCont BuildingContamination::retrieveBuildingGeometry(int buildingId, int
INFO_LOG(m_logger) << " pointCollection.size = " << pointCollection.size()
<< " - buildingId = " << buildingId
<< ", mse.name = " << mse.name();
<< ", mse.name = " << mse.name;
absPositionsGeo.clear();
absPositionsGeo.reserve(size);
@@ -607,12 +617,12 @@ QMap<int, double> BuildingContamination::retrieveBuildingAbsHeight(int buildingI
const InfrastructureManagement::MainStructureElement &mse = m_ismDtc->mainStructureElement(buildingId);
for (const InfrastructureManagement::StructureElement &element : mse.elements())
for (const InfrastructureManagement::StructureElement &element : mse.elements)
{
if (element.structureElementTypeId() != InfrastructureManagement::StructureElementType::Floor)
if (element.structureElementTypeId != InfrastructureManagement::StructureElementType::Floor)
continue;
const int floorId = element.id();
const int floorId = element.id;
@@ -622,7 +632,7 @@ QMap<int, double> BuildingContamination::retrieveBuildingAbsHeight(int buildingI
double height = element.geoPosition().z();
double height = element.geoPosition.z;
@@ -16,8 +16,18 @@
#define USE_BUFFER_APPROACH
#ifdef USE_BUFFER_APPROACH
# include <arcgis/PolygonBuilder.h>
# include <arcgis/GeometryEngine.h>
# include <PolygonBuilder.h>
# include <GeometryEngine.h>
# include <Geometry.h>
# include <Polygon.h>
# include <Multipart.h>
# include <SpatialReference.h>
# include <Point.h>
# include <ImmutablePartCollection.h>
# include <ImmutablePart.h>
# include <ImmutablePointCollection.h>
# include <LinearUnit.h>
# include <GeometryTypes.h>
#endif
namespace SituationMap
@@ -213,7 +223,7 @@ public:
BuildingOwnership::BuildingOwnership(int drawOrder, QObject *parent) : BaseClass(parent)
, d(new Private()),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {
m_logger(getLogger("BuildingOwnership")) {
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
d->m_drawOrder = drawOrder;
TRACE_LOG(m_logger) << Q_FUNC_INFO << " END";
@@ -348,7 +358,7 @@ void BuildingOwnership::onBuildingOwnershipChanged(const CentralEffectSimulation
{
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START";
const int buildingId = data.buildingId();
const int buildingId = data.buildingId;
switch (modType)
{
@@ -381,14 +391,14 @@ void BuildingOwnership::updateBuilding(int buildingId)
d->m_ownershipData[buildingId] = bos;
const auto &ownerships = bos.ownerships();
const auto &ownerships = bos.ownerships;
QMap<int, int> floor2Party;
for (const CentralEffectSimulation::Ownership &ownership : ownerships)
if (ownership.partyId() > 0)
floor2Party[ownership.floorId()] = ownership.partyId();
if (ownership.partyId > 0)
floor2Party[ownership.floorId] = ownership.partyId;
@@ -464,15 +474,15 @@ PositionCont BuildingOwnership::retrieveBuildingGeometryInternal(int buildingId,
const InfrastructureManagement::MainFootprint &mainFootprint = m_ismDtc->mainFootprint(buildingId);
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START"
<< " mainFootprint.elements().size()=" << mainFootprint.elements().size();
<< " mainFootprint.elements.size()=" << mainFootprint.elements.size();
relPositions.reserve(mainFootprint.elements().size());
relPositions.reserve(mainFootprint.elements.size());
const auto &fpElements = mainFootprint.elements();
const auto &fpElements = mainFootprint.elements;
for (const InfrastructureManagement::FootprintElement &element : fpElements)
{
const auto &relPos = element.relPosition();
relPositions += QPointF(relPos.offsetX(), relPos.offsetY());
const auto &relPos = element.relPosition;
relPositions += QPointF(relPos.offsetX, relPos.offsetY);
}
}
@@ -521,10 +531,10 @@ PositionCont BuildingOwnership::retrieveBuildingGeometryInternal(int buildingId,
const InfrastructureManagement::MainStructureElement &mse = m_ismDtc->mainStructureElement(buildingId);
const Core::GeoPosition &geoPosition = mse.geoPosition();
const QPointF &referencePointGeo = QPointF(geoPosition.lon(), geoPosition.lat());
const Core::GeoPosition &geoPosition = mse.geoPosition;
const QPointF &referencePointGeo = QPointF(geoPosition.lon, geoPosition.lat);
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(referencePointGeo);
const double angleRad = mse.angle() * LtsCoordTrans::deg2rad();
const double angleRad = mse.angle * LtsCoordTrans::deg2rad();
const QPointF center;
@@ -560,7 +570,7 @@ PositionCont BuildingOwnership::retrieveBuildingGeometryInternal(int buildingId,
const Esri::ArcGISRuntime::Polygon polyline =
Esri::ArcGISRuntime::GeometryEngine::bufferGeodetic(esriGeometry,
distance,
Esri::ArcGISRuntime::LinearUnitId::Meters,
Esri::ArcGISRuntime::LinearUnit(Esri::ArcGISRuntime::LinearUnitId::Meters),
0.1,
Esri::ArcGISRuntime::GeodeticCurveType::Geodesic);
@@ -603,12 +613,12 @@ QMap<int, double> BuildingOwnership::retrieveBuildingAbsHeightInternal(int build
const InfrastructureManagement::MainStructureElement &mse = m_ismDtc->mainStructureElement(buildingId);
for (const InfrastructureManagement::StructureElement &element : mse.elements())
for (const InfrastructureManagement::StructureElement &element : mse.elements)
{
if (element.structureElementTypeId() != InfrastructureManagement::StructureElementType::Floor)
if (element.structureElementTypeId != InfrastructureManagement::StructureElementType::Floor)
continue;
const int floorId = element.id();
const int floorId = element.id;
@@ -618,7 +628,7 @@ QMap<int, double> BuildingOwnership::retrieveBuildingAbsHeightInternal(int build
double height = element.geoPosition().z();
double height = element.geoPosition.z;
@@ -39,7 +39,7 @@ BuildingHitlineInfo2SituationMap::~BuildingHitlineInfo2SituationMap()
int32_t BuildingHitlineInfo2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool BuildingHitlineInfo2SituationMap::init(PluginProvider *pluginProvider)
@@ -152,10 +152,10 @@ bool BuildingHitlineInfo2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMa
const auto cb = [this, simIdOut, &umodOut](const Sim2SituationMap::DDS_T & ddsData) -> bool
{
if (ddsData.id() == simIdOut)
if (ddsData.id == simIdOut)
{
umodOut.m_partyId = ddsData.originatorPartyId();
const int32_t originatorChargeTypeId = ddsData.chargeTypeId();
umodOut.m_partyId = ddsData.originatorPartyId;
const int32_t originatorChargeTypeId = ddsData.chargeTypeId;
umodOut.m_description1 = chargeTypeIdentifier(originatorChargeTypeId);
return true;
}
@@ -182,24 +182,24 @@ void BuildingHitlineInfo2SituationMap::onMainStructureElementChanged(const Infra
case DataModification::eAdded:
case DataModification::eModified:
{
if (mse.modelId() != 0 && m_ismDtc->isElementAssignedToExercise(mse, m_exerciseId))
if (mse.modelId != 0 && m_ismDtc->isElementAssignedToExercise(mse, m_exerciseId))
{
DEBUG_LOG(m_logger) << "m_buildingHeight.insert id=" << mse.id() << " z=" << mse.geoPosition().z();
m_buildingHeight.insert(mse.id(), mse.geoPosition().z());
DEBUG_LOG(m_logger) << "m_buildingHeight.insert id=" << mse.id << " z=" << mse.geoPosition.z;
m_buildingHeight.insert(mse.id, mse.geoPosition.z);
}
break;
}
case DataModification::eRemoved:
m_buildingHeight.remove(mse.id());
m_buildingHeight.remove(mse.id);
break;
}
}
bool isValidPos(const Core::GeoPosition &pos)
{
if (qFuzzyIsNull(pos.lat()) && qFuzzyIsNull(pos.lon()))
if (qFuzzyIsNull(pos.lat) && qFuzzyIsNull(pos.lon))
return false;
return !std::isnan(pos.lat()) && !std::isnan(pos.lon());
return !std::isnan(pos.lat) && !std::isnan(pos.lon);
}
bool BuildingHitlineInfo2SituationMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
@@ -214,11 +214,11 @@ bool BuildingHitlineInfo2SituationMap::isElapsed(const Sim2SituationMap::DDS_T &
{
const Core::GeoPosition &startGeoPos = data.originatorPos();
const Core::GeoPosition &startGeoPos = data.originatorPos;
if (!isValidPos(startGeoPos))
return true;
const Core::GeoPosition &endGeoPos = data.buildingPos();
const Core::GeoPosition &endGeoPos = data.buildingPos;
if (!isValidPos(endGeoPos))
return true;
}
@@ -238,7 +238,7 @@ bool BuildingHitlineInfo2SituationMap::isElapsed(const Sim2SituationMap::DDS_T &
bool BuildingHitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
RefPointer<MAP_T> mapObj)
{
const qint32 hitlineId = ddsData.id();
const qint32 hitlineId = ddsData.id;
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " id=" << hitlineId;
@@ -247,7 +247,7 @@ bool BuildingHitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap:
LineStyle ls = mapObj->lineStyle();
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
switch (sct)
{
case SpecialChargeType::LRF:
@@ -264,22 +264,22 @@ bool BuildingHitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap:
mapObj->setLineStyle(ls);
mapObj->setPartyId(ddsData.originatorPartyId());
mapObj->setPartyId(ddsData.originatorPartyId);
const int32_t originatorChargeTypeId = ddsData.chargeTypeId();
const int32_t originatorChargeTypeId = ddsData.chargeTypeId;
mapObj->setIdentifier(chargeTypeIdentifier(originatorChargeTypeId));
const Core::GeoPosition &startGeoPos = ddsData.originatorPos();
const Core::GeoPosition &endGeoPos = ddsData.buildingPos();
const Core::GeoPosition &startGeoPos = ddsData.originatorPos;
const Core::GeoPosition &endGeoPos = ddsData.buildingPos;
int bldgId = ddsData.buildingId();
int bldgId = ddsData.buildingId;
double buildingHeight = m_buildingHeight.value(bldgId, 0);
mapObj->setStartAndEndPoint(Point3D(startGeoPos.lon(), startGeoPos.lat(), startGeoPos.z()),
Point3D(endGeoPos.lon(), endGeoPos.lat(), endGeoPos.z()-buildingHeight));
mapObj->setStartAndEndPoint(Point3D(startGeoPos.lon, startGeoPos.lat, startGeoPos.z),
Point3D(endGeoPos.lon, endGeoPos.lat, endGeoPos.z-buildingHeight));
handleSymbolAppearanceSettings(mapObj, ddsData);
@@ -318,10 +318,10 @@ void BuildingHitlineInfo2SituationMap::handleSymbolAppearanceSettings()
{
for (const Buildings::BuildingHitLineInfo &buildingHitline : std::as_const(m_ddsDataContainer))
{
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(buildingHitline.id(), INVALID_MAP_ID);
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(buildingHitline.id, INVALID_MAP_ID);
if (uniqueMapId == INVALID_MAP_ID)
{
WARNING_LOG(m_logger) << LOGFUNCTION << "Found a buildingHitline which is in internal map but has no map object...: " << buildingHitline.id();
WARNING_LOG(m_logger) << LOGFUNCTION << "Found a buildingHitline which is in internal map but has no map object...: " << buildingHitline.id;
continue;
}
RefPointer<MAP_T> mapObj = m_objFac.get<MAP_T>(uniqueMapId);
@@ -351,7 +351,7 @@ void BuildingHitlineInfo2SituationMap::handleSymbolAppearanceSettings(RefPointer
QTimer::singleShot(200, this, [this, ddsData]()
{
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id());
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id);
if (!mapObj.valid())
return;
handleSymbolAppearanceSettings(mapObj, ddsData);
@@ -378,7 +378,7 @@ bool BuildingHitlineInfo2SituationMap::isVisible(const Sim2SituationMap::DDS_T &
bool BuildingHitlineInfo2SituationMap::visibleBySymbolPartyAppearance(const Sim2SituationMap::DDS_T &ddsData) const
{
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.originatorPartyId());
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.originatorPartyId);
return spa.isVisible;
}
@@ -391,7 +391,7 @@ bool BuildingHitlineInfo2SituationMap::visibleByParticipants(const Sim2Situation
return true;
bool bParticipantExists = true;
bool bRet = m_participant2SituationMap->isParticipantVisible(ddsData.originatorParticipantId(), &bParticipantExists);
bool bRet = m_participant2SituationMap->isParticipantVisible(ddsData.originatorParticipantId, &bParticipantExists);
if (!bParticipantExists && bUncertain)
*bUncertain = true;
@@ -402,7 +402,7 @@ bool BuildingHitlineInfo2SituationMap::visibleByHitLineDisplayLength(const qint6
{
qint64 displayLength = m_currentSymbolSettings.symbolSettings.hitLineDisplayLengthMSec;
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
switch (sct)
{
case SpecialChargeType::LRF:
@@ -425,7 +425,7 @@ bool BuildingHitlineInfo2SituationMap::visibleByHitLineDisplayLength(const qint6
if (displayLength < 0)
return true;
return (newPartitionTime - ddsData.sampleTime()) <= displayLength;
return (newPartitionTime - ddsData.sampleTime) <= displayLength;
}
void BuildingHitlineInfo2SituationMap::onPartitionTimeChanged()
@@ -25,7 +25,7 @@ namespace SituationMap
int32_t Building2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool Building2SituationMap::init(PluginProvider *pluginProvider, bool enableDamageVisualization)
@@ -95,7 +95,7 @@ bool Building2SituationMap::isElapsed(const InfrastructureManagement::MainStruct
const InfrastructureManagement::StructureElementType set = ddsData.structureElementTypeId().underlying();
const InfrastructureManagement::StructureElementType set = ddsData.structureElementTypeId;
if ((set == InfrastructureManagement::StructureElementType::MeteoDataUnit) ||
(set == InfrastructureManagement::StructureElementType::RadioStation) ||
(set == InfrastructureManagement::StructureElementType::ApproachingPoint)
@@ -116,12 +116,12 @@ bool Building2SituationMap::isElapsed(const InfrastructureManagement::MainStruct
const qint32 mseId = ddsData.id();
const qint32 mseId = ddsData.id;
const InfrastructureManagement::MainFootprint &mainFootprint = m_ismDtc->mainFootprint(mseId);
if (mainFootprint.elements().size() < 3)
if (mainFootprint.elements.size() < 3)
{
ERROR_LOG(m_logger) << LOGFUNCTION << " mainFootprint with id=" << mseId << " is not sufficiant."
<< " mainFootprint.elements().size() = " << mainFootprint.elements().size();
<< " mainFootprint.elements().size() = " << mainFootprint.elements.size();
if (!m_mseIdWithoutValidFootprint.contains(mseId))
{
INFO_LOG(m_logger) << LOGFUNCTION << " Save for future mainFootPrintChanged..."
@@ -170,10 +170,10 @@ bool Building2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, Unifie
if (m_bldDtc)
{
const Buildings::BuildingState &bldgState = m_bldDtc->buildingState(buildingId);
if (bldgState.id() == buildingId)
if (bldgState.id == buildingId)
{
umodOut.m_participantData.m_vulnerabilityState = bldgState.vulnerabilityState().underlying();
umodOut.m_participantData.m_vulnerabilityString = ProjectDataManagement::toString(bldgState.vulnerabilityState());
umodOut.m_participantData.m_vulnerabilityState = static_cast<int>(bldgState.vulnerabilityState);
umodOut.m_participantData.m_vulnerabilityString = ProjectDataManagement::toString(bldgState.vulnerabilityState);
}
}
@@ -211,15 +211,15 @@ void Building2SituationMap::onMainFootprintChanged(const InfrastructureManagemen
{
if (modType == DataModification::eRemoved)
return;
if (data.elements().size() < 3)
if (data.elements.size() < 3)
return;
const int32_t mseId = data.id();
const int32_t mseId = data.id;
if (m_mseIdWithoutValidFootprint.contains(mseId))
{
const InfrastructureManagement::MainStructureElement &mseData = m_ismDtc->mainStructureElement(mseId);
if (mseData.id() == mseId)
if (mseData.id == mseId)
{
m_mseIdWithoutValidFootprint.removeAll(mseId);
onMainStructureElementChanged(mseData, DataModification::eAdded);
@@ -237,7 +237,7 @@ void Building2SituationMap::onBuildingStateChanged(const Buildings::BuildingStat
const int buildingId = data.id();
const int buildingId = data.id;
auto it = m_simId2UniqueMapId.constFind(buildingId);
if (it == m_simId2UniqueMapId.constEnd())
@@ -275,10 +275,10 @@ bool Building2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dds
RefPointer<MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " id=" << ddsData.id()
<< " name=" << ddsData.name()
<< " geoPosition=" << ddsData.geoPosition()
<< " angle=" << ddsData.angle();
<< " id=" << ddsData.id
<< " name=" << ddsData.name
<< " geoPosition=" << ddsData.geoPosition
<< " angle=" << ddsData.angle;
@@ -296,8 +296,8 @@ bool Building2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dds
bool isGroundLevel = false;
const QPolygonF &absUtmPositions2D = m_ismDtc->getUtmFootprintById(buildingId, zoneOut, isGroundLevel);
const Core::GeoPosition &geoPosition = ddsData.geoPosition();
const QPointF referencePointGeo(geoPosition.lon(), geoPosition.lat());
const Core::GeoPosition &geoPosition = ddsData.geoPosition;
const QPointF referencePointGeo(geoPosition.lon, geoPosition.lat);
PositionCont absPositionsGeo;
@@ -344,7 +344,7 @@ bool Building2SituationMap::updateBldgDamage(RefPointer<MAP_T> mapObj, qint32 bu
return false;
const Buildings::BuildingState &bldgState = m_bldDtc->buildingState(buildingId);
const bool bIsContaminated = !bldgState.contaminationStates().empty();
const bool bIsContaminated = !bldgState.contaminationStates.empty();
LineStyle ls = mapObj->lineStyle();
@@ -358,11 +358,11 @@ bool Building2SituationMap::updateBldgDamage(RefPointer<MAP_T> mapObj, qint32 bu
FillStyle fs = mapObj->fillStyle();
fs.setFillPattern(FillPattern::Solid);
int damagePercent = bldgState.damagePercent();
int damagePercent = bldgState.damagePercent;
if (bldgState.id() != buildingId)
if (bldgState.id != buildingId)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId/buildingId = " << buildingId
<< " not found!! (mapObj = " << mapObj->debugInfo() << ")";
@@ -3,6 +3,7 @@
#include "charge_effect_to_map.h"
#include <utility>
#include <ParticipantManagement/ppm_dtc.h> // complete Dtc type for &Dtc::typeChanged (signal-pointer connect)
#include "aes_to_situation_map_tmpl.h"
#include <AreaEffectSimulation/Utils/polygons.h>
#include <GuezIedManagement/gim_dtc.h>
@@ -142,53 +143,53 @@ int ChargeEffectToMap::getPartyIdFromOriginator(const int originatorId, const in
int partyId = -1;
switch (originatorType)
{
case ProjectDataManagement::StateChangeOriginator::Participant:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant):
{
const auto &participant = m_pluginProvider->ppmDtc()->participant(originatorId);
partyId = participant.partyId();
partyId = participant.partyId;
break;
}
case ProjectDataManagement::StateChangeOriginator::Party:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Party):
{
partyId = originatorId;
break;
}
case ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation):
{
AreaEffectSimulation::AesItem aesItem;
if (m_pluginProvider->aesDtc()->aesItemFromId(originatorId, aesItem))
partyId = aesItem.partyId().get();
partyId = aesItem.partyId.get();
break;
}
case ProjectDataManagement::StateChangeOriginator::DusMine:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_DusMine):
{
partyId = m_pluginProvider->aesDtc()->partyForDusMine(originatorId);
break;
}
case ProjectDataManagement::StateChangeOriginator::Unknown:
case ProjectDataManagement::StateChangeOriginator::ObserverController:
case ProjectDataManagement::StateChangeOriginator::Initialization:
case ProjectDataManagement::StateChangeOriginator::ExerciseControl:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl):
{
partyId = 1;
break;
}
case ProjectDataManagement::StateChangeOriginator::ImprovisedExplosiveDevice:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ImprovisedExplosiveDevice):
{
auto guezIedDtc = m_pluginProvider->gimDtc();
if (guezIedDtc)
{
const GuezIedManagement::Ied &gIed = guezIedDtc->iedForEquipmentNumber(originatorId);
if (gIed.id() > 0)
partyId = gIed.partyId();
if (gIed.id > 0)
partyId = gIed.partyId;
}
break;
}
case ProjectDataManagement::StateChangeOriginator::WoundTreatmentDevice:
case ProjectDataManagement::StateChangeOriginator::MedicalTimeout:
case ProjectDataManagement::StateChangeOriginator::MaintainanceDevice:
case ProjectDataManagement::StateChangeOriginator::Sanitation:
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_WoundTreatmentDevice):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MedicalTimeout):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MaintainanceDevice):
case static_cast<int>(ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Sanitation):
default:
DEBUG_LOG(m_logger) << LOGFUNCTION << " originator state change for " << originatorType << " not (yet) implemented >>> "
<< ", originatorId = " << originatorId;
@@ -212,10 +213,10 @@ bool ChargeEffectToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMap
const auto cb = [simIdOut, &umodOut](const AreaEffectSimulation::ChargeEffect &data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
QString desc = QStringLiteral("id: %1\time: %2");
umodOut.m_description1 = desc.arg(data.id()).arg(QDateTime::fromMSecsSinceEpoch(data.sampleTime()).toString());
umodOut.m_description1 = desc.arg(data.id).arg(QDateTime::fromMSecsSinceEpoch(data.sampleTime).toString());
return true;
}
return false;
@@ -241,30 +242,30 @@ bool ChargeEffectToMap::updateElementImpl(const DDS_T &ddsData, RefPointer<MAP_T
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setPickable(true);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
const int partyId = getPartyIdFromOriginator(ddsData.originatorId(), ddsData.originatorTypeId().underlying());
const int partyId = getPartyIdFromOriginator(ddsData.originatorId, static_cast<int>(ddsData.originatorTypeId));
mapObj->setPartyId(partyId);
const bool bIsSmoke = m_pluginProvider->pdmDtc()->isSmoke(ddsData.chargeTypeId(), ddsData.igniterTypeId(), ddsData.igniterFunctionId());
const bool bIsSmoke = m_pluginProvider->pdmDtc()->isSmoke(ddsData.chargeTypeId, ddsData.igniterTypeId, ddsData.igniterFunctionId);
if (bIsSmoke)
mapObj->forcePartyColor(Qt::darkYellow);
const Core::GeoPosition &impactGeoPos = ddsData.position();
const Point3D origin = LtsUtils::QPoint3D(impactGeoPos.lon(), impactGeoPos.lat(), impactGeoPos.z());
double impactRadius = m_pluginProvider->pdmDtc()->impactRadius(ddsData.chargeTypeId(), ddsData.igniterTypeId(), ddsData.igniterFunctionId());
const Core::GeoPosition &impactGeoPos = ddsData.position;
const Point3D origin = LtsUtils::QPoint3D(impactGeoPos.lon, impactGeoPos.lat, impactGeoPos.z);
double impactRadius = m_pluginProvider->pdmDtc()->impactRadius(ddsData.chargeTypeId, ddsData.igniterTypeId, ddsData.igniterFunctionId);
if (impactRadius <= 5)
impactRadius = 5;
const auto polygon = form2PosCont(AreaEffectSimulation::Polygons::circle(origin.toPointF(), impactRadius));
mapObj->setPositions(polygon);
const AreaEffectSimulation::AesEffectState effectState = ddsData.state().underlying();
mapObj->setAesState(effectState2aesState(effectState.underlying()));
const AreaEffectSimulation::AesEffectState effectState = ddsData.state;
mapObj->setAesState(effectState2aesState(effectState));
updateVisibility(mapObj, ddsData);
@@ -283,7 +284,7 @@ bool ChargeEffectToMap::isElapsed(const DDS_T &data) const
return bIsElapsed;
}
int32_t ChargeEffectToMap::getSimId(const DDS_T &ddsData) const { return ddsData.id(); }
int32_t ChargeEffectToMap::getSimId(const DDS_T &ddsData) const { return ddsData.id; }
bool ChargeEffectToMap::removeElement(const int32_t simId) { return BaseClass::removeElement(simId); }
@@ -327,7 +328,7 @@ void ChargeEffectToMap::handleSymbolAppearanceSettings(RefPointer<MAP_T> &mapObj
const int simId = m_uniqueMapId2SimId.value(mapObj->uniqueMapId());
const auto &data = m_pluginProvider->aesDtc()->chargeEffect(simId);
if (data.id() <= 0)
if (data.id <= 0)
{
WARNING_LOG(m_logger) << "[handleSymbolAppearanceSettings] data id is invalid! mapObjUniqueId: " << mapObj->uniqueMapId();
return;
@@ -345,17 +346,17 @@ void ChargeEffectToMap::updateAllChargeEffects()
if (isElapsed(data))
return false;
const UniqueMapId uniqueMapId = this->m_simId2UniqueMapId.value(data.id(), INVALID_MAP_ID);
const UniqueMapId uniqueMapId = this->m_simId2UniqueMapId.value(data.id, INVALID_MAP_ID);
if (uniqueMapId == INVALID_MAP_ID)
{
WARNING_LOG(m_logger) << " [updateAllChargeEffects] !!! Found a ChargeEffect which is in internal map but has no map object...: data.id: " << data.id();
WARNING_LOG(m_logger) << " [updateAllChargeEffects] !!! Found a ChargeEffect which is in internal map but has no map object...: data.id: " << data.id;
return false;
}
RefPointer<MAP_T> mapObj = m_objFac.get<MAP_T>(uniqueMapId);
if (!mapObj.valid())
{
WARNING_LOG(m_logger) << " [updateAllChargeEffects] !!! invalid map object...: data.id: " << data.id();
WARNING_LOG(m_logger) << " [updateAllChargeEffects] !!! invalid map object...: data.id: " << data.id;
return false;
}
this->updateVisibility(mapObj, data);
@@ -371,7 +372,7 @@ void ChargeEffectToMap::updateVisibility(RefPointer<MAP_T> &mapObj, const Sim2Si
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
const bool isVisi = isVisible(data);
INFO_LOG(m_logger) << " [updateVisibility]: >> data.id: " << data.id() << " is visible? " << isVisi;
INFO_LOG(m_logger) << " [updateVisibility]: >> data.id: " << data.id << " is visible? " << isVisi;
if (isVisi)
{
@@ -398,8 +399,8 @@ void ChargeEffectToMap::updateVisibility(RefPointer<MAP_T> &mapObj, const Sim2Si
void ChargeEffectToMap::updateGunToTargetLine_SimpleOnSurface(RefPointer<MAP_T> &mapObj, const DDS_T &data)
{
const Core::GeoPosition2D &impactPos2D = data.position();
const Point3D origin = LtsUtils::QPoint3D(impactPos2D.lon(), impactPos2D.lat(), .0);
const Core::GeoPosition2D &impactPos2D = data.position;
const Point3D origin = LtsUtils::QPoint3D(impactPos2D.lon, impactPos2D.lat, .0);
@@ -417,10 +418,10 @@ void ChargeEffectToMap::updateGunToTargetLine_SimpleOnSurface(RefPointer<MAP_T>
Point3D originatorPos;
Point3D targetPos;
if (data.originatorTypeId() == ProjectDataManagement::StateChangeOriginator::Participant)
if (data.originatorTypeId == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant)
{
const auto &ppPos = m_pluginProvider->ppmDtc()->participantPosition(data.originatorId());
originatorPos = Point3D(ppPos.pos().lon(), ppPos.pos().lat(), ppPos.pos().z());
const auto &ppPos = m_pluginProvider->ppmDtc()->participantPosition(data.originatorId);
originatorPos = Point3D(ppPos.pos.lon, ppPos.pos.lat, ppPos.pos.z);
targetPos = origin;
}
mapObj->setGunToTargetLineSurface(originatorPos, targetPos);
@@ -437,10 +438,10 @@ bool ChargeEffectToMap::updateSingleTrajectory(const AreaEffectSimulation::Traje
if (traj.originatorTypeId() != ProjectDataManagement::StateChangeOriginator::ChargeEffect)
if (traj.originatorTypeId != ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ChargeEffect)
return false;
const int32_t simId = traj.originatorId();
const int32_t simId = traj.originatorId;
if (!m_simId2UniqueMapId.contains(simId))
return false;
@@ -454,9 +455,9 @@ bool ChargeEffectToMap::updateSingleTrajectory(const AreaEffectSimulation::Traje
DEBUG_LOG(m_logger) << LOGFUNCTION << " START "
<< ", simId=" << simId << ", traj=" << traj << ", considerTime=" << considerTime
<< ", partitionTimeMsec - traj.trajectoryStartTime() = " << partitionTimeMsec - traj.trajectoryStartTime();
<< ", partitionTimeMsec - traj.trajectoryStartTime() = " << partitionTimeMsec - traj.trajectoryStartTime;
if (traj.trajectoryStartTime() > partitionTimeMsec)
if (traj.trajectoryStartTime > partitionTimeMsec)
return false;
@@ -480,7 +481,7 @@ bool ChargeEffectToMap::updateSingleTrajectory(const AreaEffectSimulation::Traje
{
const std::vector<Core::GeoPositionRelativeTime> &geometry = traj.geometry();
const std::vector<Core::GeoPositionRelativeTime> &geometry = traj.geometry;
const PositionCont &curPath = mapObj->trajectory(index);
if (geometry.size() > static_cast<size_t>(curPath.size()))
{
@@ -489,9 +490,9 @@ bool ChargeEffectToMap::updateSingleTrajectory(const AreaEffectSimulation::Traje
posCont.reserve(geometry.size());
for (const Core::GeoPositionRelativeTime &posTime : std::as_const(geometry))
{
if (considerTime && ((traj.trajectoryStartTime() + posTime.relativeTime()) > partitionTimeMsec))
if (considerTime && ((traj.trajectoryStartTime + posTime.relativeTime) > partitionTimeMsec))
break;
posCont.append(Point3D(posTime.lon(), posTime.lat(), posTime.z()));
posCont.append(Point3D(posTime.lon, posTime.lat, posTime.z));
}
DEBUG_LOG(m_logger) << "update trajectory, simId=" << simId << ", index=" << index << ", posCont.size() " << posCont.size();
@@ -553,16 +554,16 @@ void ChargeEffectToMap::updateImpacts2D3D(RefPointer<MAP_T> &mapObj, const DDS_T
= {AreaEffectSimulation::AesEffectState::EsActivated, AreaEffectSimulation::AesEffectState::EsFired};
const bool bDisplayDueToEffectState = relevantEffectStates.contains(data.state().underlying());
const bool bDisplayDueToEffectState = relevantEffectStates.contains(data.state);
if (bDisplayDueToEffectState)
{
const Core::GeoPosition &impactGeoPos = data.position();
const Point3D &origin = LtsUtils::QPoint3D(impactGeoPos.lon(), impactGeoPos.lat(), impactGeoPos.z());
const Core::GeoPosition &impactGeoPos = data.position;
const Point3D &origin = LtsUtils::QPoint3D(impactGeoPos.lon, impactGeoPos.lat, impactGeoPos.z);
const Core::ZReference zReference = data.zReference();
switch (zReference.underlying())
const Core::ZReference zReference = data.zReference;
switch (zReference)
{
case Core::ZReference::ZrDrapedOnGround:
mapObj->setImpacts({origin});
@@ -584,8 +585,8 @@ void ChargeEffectToMap::updateDetonation3D(RefPointer<MAP_T> &mapObj, const DDS_
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START ";
const int32_t simId = data.id();
const AreaEffectSimulation::AesEffectState effectState = data.state();
const int32_t simId = data.id;
const AreaEffectSimulation::AesEffectState effectState = data.state;
bool bHasChanged = false;
@@ -604,22 +605,22 @@ void ChargeEffectToMap::updateDetonation3D(RefPointer<MAP_T> &mapObj, const DDS_
static QVector<AreaEffectSimulation::AesEffectState> relevantEffectStates
= {AreaEffectSimulation::AesEffectState::EsActivated, AreaEffectSimulation::AesEffectState::EsFired, AreaEffectSimulation::AesEffectState::EsExpired};
bDisplay = bDisplay && relevantEffectStates.contains(effectState.underlying());
bDisplay = bDisplay && relevantEffectStates.contains(effectState);
const qint64 age = partitionTimeMsec - data.effectStart() + data.effectDuration();
DEBUG_LOG(m_logger) << LOGFUNCTION << " START, simId=" << simId << ", bDisplay=" << bDisplay<<" effectState: "<<data.state()<<" age[msec]: "<<age;
const qint64 age = partitionTimeMsec - data.effectStart + data.effectDuration;
DEBUG_LOG(m_logger) << LOGFUNCTION << " START, simId=" << simId << ", bDisplay=" << bDisplay<<" effectState: "<<data.state<<" age[msec]: "<<age;
if (bDisplay && age <= s_effect3dMaxDisplayDuration)
{
double impactRadius = m_pluginProvider->pdmDtc()->impactRadius(data.chargeTypeId(), data.igniterTypeId(), data.igniterFunctionId());
double impactRadius = m_pluginProvider->pdmDtc()->impactRadius(data.chargeTypeId, data.igniterTypeId, data.igniterFunctionId);
if (impactRadius <= 5)
impactRadius = 5;
const Core::GeoPosition &effectGeoPos = data.position();
const Point3D &origin = Point3D(effectGeoPos.lon(), effectGeoPos.lat(), effectGeoPos.z());
const Core::ZReference &zRef = data.zReference();
const Core::GeoPosition &effectGeoPos = data.position;
const Point3D &origin = Point3D(effectGeoPos.lon, effectGeoPos.lat, effectGeoPos.z);
const Core::ZReference &zRef = data.zReference;
switch (zRef.underlying())
switch (zRef)
{
case Core::ZReference::ZrDrapedOnGround:
if (mapObj->setDetonationsDraped({origin}, std::round(impactRadius)))
@@ -658,7 +659,7 @@ bool ChargeEffectToMap::isVisible(const DDS_T &data) const
bool ChargeEffectToMap::visibleBySymbolPartyAppearance(const DDS_T &data) const
{
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
const int partyId = getPartyIdFromOriginator(data.originatorId(), data.originatorTypeId().underlying());
const int partyId = getPartyIdFromOriginator(data.originatorId, static_cast<int>(data.originatorTypeId));
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(partyId);
return spa.isVisible;
}
@@ -668,14 +669,14 @@ bool ChargeEffectToMap::visibleByAesFilter(const DDS_T &data) const
if (!m_displayFilter)
return true;
switch (data.state().underlying())
switch (data.state)
{
case AreaEffectSimulation::AesEffectState::EsError:
case AreaEffectSimulation::AesEffectState::EsUnknown:
case AreaEffectSimulation::AesEffectState::EsRemoved:
case AreaEffectSimulation::AesEffectState::EsReceived:
case AreaEffectSimulation::AesEffectState::EsFired:
DEBUG_LOG(m_logger) << "[visibleByAesFilter] set unvisible id: " << data.id() << ", state:" << data.state();
DEBUG_LOG(m_logger) << "[visibleByAesFilter] set unvisible id: " << data.id << ", state:" << data.state;
return false;
case AreaEffectSimulation::AesEffectState::EsCreated:
DEBUG_LOG(m_logger) << "[visibleByAesFilter][EsCreated] created visible: " << m_effectStateStruct.displayCreated;
@@ -689,7 +690,7 @@ bool ChargeEffectToMap::visibleByAesFilter(const DDS_T &data) const
return m_effectStateStruct.displayActivated;
case AreaEffectSimulation::AesEffectState::EsExpired:
{
auto timeTriggered = data.sampleTime();
auto timeTriggered = data.sampleTime;
const AreaEffectSimulation::AesType t(AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions);
const auto afterGlow = m_effectStateStruct.expiredAfterglowDurationMSec;
DEBUG_LOG(m_logger) << "[visibleByAesFilter] [EsExpired] >>> partitionTime: " << m_pluginProvider->partitionTime() << " timeTriggered: " << timeTriggered
@@ -705,8 +706,8 @@ void ChargeEffectToMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType
{
DEBUG_LOG(m_logger) << "[ChargeEffectToMap] onAesDisplayFilterChanged aes Type: " << aesType;
if (!m_displayFilter
|| ((AreaEffectSimulation::AesType::AtExplosionCluster != aesType.underlying())
&& (AreaEffectSimulation::AesType::AtExplosionArea != aesType.underlying())))
|| ((AreaEffectSimulation::AesType::AtExplosionCluster != aesType)
&& (AreaEffectSimulation::AesType::AtExplosionArea != aesType)))
return;
m_effectStateStruct = m_displayFilter->effectStateFilter(AreaEffectSimulation::AesType::AtExplosionArea);
@@ -717,8 +718,8 @@ void ChargeEffectToMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType
void ChargeEffectToMap::onChargeEffectChanged(const DDS_T &data, DataModification modType)
{
INFO_LOG(m_logger) << "[onChargeEffectChanged] >>> " << data.id() << " name: " << data.name() << " originId: " << data.originatorId()
<< " originTypeId: " << data.originatorTypeId().underlying() << " chargeTypeId: " << data.chargeTypeId() << " state: " << data.state();
INFO_LOG(m_logger) << "[onChargeEffectChanged] >>> " << data.id << " name: " << data.name << " originId: " << data.originatorId
<< " originTypeId: " << data.originatorTypeId << " chargeTypeId: " << data.chargeTypeId << " state: " << data.state;
this->handleChanged(data, modType);
}
@@ -37,16 +37,16 @@ bool DangerArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &d
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtDangerArea, itemView))
this->updateGeometry(itemView, mapObj);
@@ -5,7 +5,7 @@
#include <AreaEffectSimulation/Utils/polygons.h>
#include <AreaEffectSimulation/Utils/ddsdbconvert.h>
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <SituationMap/Symbology/sidc_codec.h>
@@ -62,10 +62,10 @@ bool DusSingleMine2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, U
const std::function<bool(const AreaEffectSimulation::DusSingleMine &data)> cb = [simIdOut, &umodOut](const AreaEffectSimulation::DusSingleMine & data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_description2 = QString::number(data.mineId());
umodOut.m_description2 = QString::number(data.mineId);
return true;
}
return false;
@@ -100,13 +100,13 @@ bool DusSingleMine2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setOrigin(Point3D(ddsData.position().lon(), ddsData.position().lat(), .0));
mapObj->setOrigin(Point3D(ddsData.position.lon, ddsData.position.lat, .0));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::number(ddsData.mineId()));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::number(ddsData.mineId));
updateVisibility(ddsData, mapObj);
@@ -4,10 +4,11 @@
#include "effect_cluster_to_map.h"
#include <utility>
#include "pdm_handler.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <LtsCoordTrans/lts_coord_trans.h>
#include <AreaEffectSimulation/Utils/polygons.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <Map/map.h>
#define ADD_UNIQUE_MAP_ID_TO_NOTIFIY(uniqueMapId) addUniqueMapIdToNotifiy(uniqueMapId, __FILE__, __LINE__)
@@ -124,8 +125,8 @@ bool EffectCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS_TY
return false;
}
const int32_t simId = ddsData.id();
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId().underlying();
const int32_t simId = ddsData.id;
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId;
bool bIsMode3D = false;
if (m_objFac.map() && (m_objFac.map()->mode() == Mode::Mode_3D))
@@ -156,14 +157,14 @@ bool EffectCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS_TY
AreaEffectSimulation::AesItemView itemViewGunToTargetLine;
const std::vector<Core::GeoPosition>& form = itemViewGunToTargetLine.form();
const std::vector<Core::GeoPosition>& form = itemViewGunToTargetLine.form;
if (bDisplayFilterShowGTL || bDisplayFilterShowGFK)
m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtEffectClusterGunToTargetLine, itemViewGunToTargetLine);
if (bDisplayFilterShowGTL && (form.size() >= 2))
mapObj->setGunToTargetLineSurface(Point3D(form.front().lon(), form.front().lat(), 0.0),
Point3D(form.back().lon() , form.back().lat() , 0.0));
mapObj->setGunToTargetLineSurface(Point3D(form.front().lon, form.front().lat, 0.0),
Point3D(form.back().lon , form.back().lat , 0.0));
else
mapObj->setGunToTargetLineSurface(Point3D(), Point3D());
@@ -176,7 +177,7 @@ bool EffectCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS_TY
PositionCont gunToTargetPath;
gunToTargetPath.reserve(static_cast<int>(form.size()));
for (const Core::GeoPosition& item : std::as_const(form))
gunToTargetPath.append(Point3D(item.lon(), item.lat(), item.z()));
gunToTargetPath.append(Point3D(item.lon, item.lat, item.z));
mapObj->setGunToTargetTrajectory3D(gunToTargetPath);
} else {
@@ -192,11 +193,11 @@ bool EffectCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS_TY
bDisplayFilterShowMHP = m_displayFilter->showExplosionClusterMeanHitPoint();
PositionCont mhps;
mhps.reserve(static_cast<int>(ddsData.effectors().size()));
for (const auto &effector : std::as_const(ddsData.effectors()))
mhps.reserve(static_cast<int>(ddsData.effectors.size()));
for (const auto &effector : std::as_const(ddsData.effectors))
{
const Core::GeoPosition &mhpPos = effector.mhpPosition();
mhps.append(Point3D(mhpPos.lon(), mhpPos.lat(), mhpPos.z()));
const Core::GeoPosition &mhpPos = effector.mhpPosition;
mhps.append(Point3D(mhpPos.lon, mhpPos.lat, mhpPos.z));
}
if (bDisplayFilterShowMHP)
{
@@ -204,8 +205,8 @@ bool EffectCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS_TY
QColor impactsColor;
const auto &chargeStruct = ddsData.chargeStruct();
const bool bIsSmoke = m_pluginProvider->pdmDtc()->isSmoke(chargeStruct.chargeTypeId(), chargeStruct.igniterTypeId(), chargeStruct.igniterFunctionId());
const auto &chargeStruct = ddsData.chargeStruct;
const bool bIsSmoke = m_pluginProvider->pdmDtc()->isSmoke(chargeStruct.chargeTypeId, chargeStruct.igniterTypeId, chargeStruct.igniterFunctionId);
if (bIsSmoke)
impactsColor = Qt::darkYellow;
mapObj->setScheduledImpacts(mhps, impactsColor);
@@ -228,18 +229,18 @@ bool EffectCluster2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
BENCHMARK_SETUP_AND_START();
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId().underlying();
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId;
mapObj->setAesState(effectState2aesState(effectState));
@@ -305,7 +306,7 @@ bool EffectCluster2SituationMap::updateGeometry(const AreaEffectSimulation::AesI
const int simId = aesItemView.aesItemId();
const int simId = aesItemView.aesItemId;
auto it = m_ddsDataContainer.find(simId);
if (it != m_ddsDataContainer.end())
updateNonLethalArea(mapObj, *it, aesItemView);
@@ -326,13 +327,13 @@ bool EffectCluster2SituationMap::onAesItemViewChanged(const AreaEffectSimulation
const int simId = aesItemView.aesItemId();
const int simId = aesItemView.aesItemId;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, simId=" << simId;
bool success = false;
if (aesItemView.aesTypeId() == AreaEffectSimulation::AesType::AtEffectClusterGunToTargetLine)
if (aesItemView.aesTypeId == AreaEffectSimulation::AesType::AtEffectClusterGunToTargetLine)
{
RefPointer<MAP_T> mapObj = this->getMapObjectOfSimId(simId);
@@ -348,13 +349,13 @@ bool EffectCluster2SituationMap::onAesItemViewChanged(const AreaEffectSimulation
bool EffectCluster2SituationMap::updateGunToTargetLineAndTrajectory(const AreaEffectSimulation::AesItemView &itemView,
RefPointer<Sim2SituationMap::MAP_T> mapObj)
{
const std::vector<Core::GeoPosition>& formRef = itemView.form();
const std::vector<Core::GeoPosition>& formRef = itemView.form;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, form.size = " << formRef.size();
if (formRef.size() >= 2)
{
mapObj->setGunToTargetLineSurface(Point3D(formRef.front().lon(), formRef.front().lat(), 0.0),
Point3D(formRef.back().lon() , formRef.back().lat() , 0.0));
mapObj->setGunToTargetLineSurface(Point3D(formRef.front().lon, formRef.front().lat, 0.0),
Point3D(formRef.back().lon , formRef.back().lat , 0.0));
} else {
mapObj->setGunToTargetLineSurface(Point3D(), Point3D());
@@ -366,7 +367,7 @@ bool EffectCluster2SituationMap::updateGunToTargetLineAndTrajectory(const AreaEf
PositionCont gunToTargetPath;
gunToTargetPath.reserve(static_cast<int>(formRef.size()));
for (const Core::GeoPosition& item : std::as_const(formRef))
gunToTargetPath.append(Point3D(item.lon(), item.lat(), item.z()));
gunToTargetPath.append(Point3D(item.lon, item.lat, item.z));
mapObj->setGunToTargetTrajectory3D(gunToTargetPath);
}
@@ -400,7 +401,7 @@ bool EffectCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2SituationMap
if (!m_pdmHandler)
return false;
if (EffectCluster.id() != aesItemView.aesItemId())
if (EffectCluster.id != aesItemView.aesItemId)
return false;
@@ -410,11 +411,11 @@ bool EffectCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2SituationMap
const int chargeTypeId = EffectCluster.chargeStruct().chargeTypeId();
const int chargeTypeId = EffectCluster.chargeStruct.chargeTypeId;
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(chargeTypeId);
if (gc.underlying() == ProjectDataManagement::GearClass::AirSupport)
if (gc == ProjectDataManagement::GearClass::GearClass_AirSupport)
{
const QVector<ProjectDataManagement::CasEffect> &casEffectsVec = m_pdmHandler->casEffects(EffectCluster.chargeStruct());
const QVector<ProjectDataManagement::CasEffect> &casEffectsVec = m_pdmHandler->casEffects(EffectCluster.chargeStruct);
@@ -423,13 +424,13 @@ bool EffectCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2SituationMap
const ProjectDataManagement::CasEffect &ce = casEffectsVec[1];
const double impactRadius = ce.impactRadius();
const double impactRadius = ce.impactRadius;
const AreaEffectSimulation::Area &areaRef = EffectCluster.area();
const AreaEffectSimulation::Area &areaRef = EffectCluster.area;
const Core::GeoPosition2D &blGeo = aesItemView.boundingBoxBottomLeft();
const QPointF &centerGeo = AreaEffectSimulation::Polygons::bottomLeft2CenterPoint(QPointF(blGeo.lon(), blGeo.lat()),
areaRef.width(), areaRef.height(), areaRef.rotation());
const Core::GeoPosition2D &blGeo = aesItemView.boundingBoxBottomLeft;
const QPointF &centerGeo = AreaEffectSimulation::Polygons::bottomLeft2CenterPoint(QPointF(blGeo.lon, blGeo.lat),
areaRef.width, areaRef.height, areaRef.rotation);
updateNonLethalArea(mapObj, centerGeo, impactRadius);
}
@@ -512,24 +513,24 @@ AreaEffectSimulation::AesType EffectCluster2SituationMap::aesTypeFromGearClassCh
{
static QMap<int, AreaEffectSimulation::AesType> s_aesTypeMap;
if (s_aesTypeMap.contains(data.chargeStruct().chargeTypeId()))
return s_aesTypeMap[data.chargeStruct().chargeTypeId()];
if (s_aesTypeMap.contains(data.chargeStruct.chargeTypeId))
return s_aesTypeMap[data.chargeStruct.chargeTypeId];
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(data.chargeStruct().chargeTypeId());
switch (gc.underlying())
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(data.chargeStruct.chargeTypeId);
switch (gc)
{
case ProjectDataManagement::GearClass::GearClass_AirSupport:
s_aesTypeMap[data.chargeStruct().chargeTypeId()] = AreaEffectSimulation::AesType::AtAirSupportImpact;
s_aesTypeMap[data.chargeStruct.chargeTypeId] = AreaEffectSimulation::AesType::AtAirSupportImpact;
break;
case ProjectDataManagement::GearClass::GearClass_Artillery:
case ProjectDataManagement::GearClass::GearClass_Mortar:
case ProjectDataManagement::GearClass::GearClass_Rocket:
s_aesTypeMap[data.chargeStruct().chargeTypeId()] = AreaEffectSimulation::AesType::AtExplosionArea;
s_aesTypeMap[data.chargeStruct.chargeTypeId] = AreaEffectSimulation::AesType::AtExplosionArea;
break;
default:
return AreaEffectSimulation::AesType::AtUnknown;
}
return s_aesTypeMap[data.chargeStruct().chargeTypeId()];
return s_aesTypeMap[data.chargeStruct.chargeTypeId];
}
void EffectCluster2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType aesType)
@@ -537,9 +538,9 @@ void EffectCluster2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation:
TRACE_LOG(m_logger) << " onAesDisplayFilterChanged, aesType =" << aesType
<< ", this " << this;
if ((AreaEffectSimulation::AesType::AtEffectCluster != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtExplosionArea != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtAirSupportImpact != aesType.underlying()))
if ((AreaEffectSimulation::AesType::AtEffectCluster != aesType) &&
(AreaEffectSimulation::AesType::AtExplosionArea != aesType) &&
(AreaEffectSimulation::AesType::AtAirSupportImpact != aesType))
return;
const auto cb = [this](const DDS_TYPE &data) -> bool
@@ -559,8 +560,8 @@ bool EffectCluster2SituationMap::isVisibleByFilter(const Aes2SituationMap::DDS_T
if (!m_displayFilter)
return true;
const auto es = data.effectStart().is_set() ? data.effectStart().get() : 0;
const auto partyId = data.partyId().is_set() ? data.partyId().get() : -1;
const auto es = data.effectStart.has_value() ? data.effectStart.get() : 0;
const auto partyId = data.partyId.has_value() ? data.partyId.get() : -1;
bool isVisibleByFilter = partyId > 0 ? FilterClass::m_currentSymbolSettings.symbolSettings.symbolPartyAppearance.value(partyId).isVisible : true;
if (isVisibleByFilter)
{
@@ -572,12 +573,12 @@ bool EffectCluster2SituationMap::isVisibleByFilter(const Aes2SituationMap::DDS_T
}
isVisibleByFilter = m_displayFilter->isVisible(aestype,
data.effectStateId(),
data.chargeStruct().chargeTypeId(),
data.effectStateId,
data.chargeStruct.chargeTypeId,
partyId,
data.isCentral(),
data.isCentral,
es,
data.effectDuration(),
data.effectDuration,
m_pluginProvider->partitionTime());
}
@@ -152,11 +152,11 @@ bool EmergencyCallToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMa
const auto cb = [ simIdOut, &umodOut](const AlarmManagement::AlmEmergencyCall & data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_equipmentNumber = data.issi();
umodOut.m_equipmentNumber = data.issi;
QString desc = QStringLiteral("id: %1\ntime: %2");
umodOut.m_description1 = desc.arg(data.id()).arg(QDateTime::fromMSecsSinceEpoch(data.sampleTime()).toString());
umodOut.m_description1 = desc.arg(data.id).arg(QDateTime::fromMSecsSinceEpoch(data.sampleTime).toString());
return true;
}
return false;
@@ -188,12 +188,12 @@ bool EmergencyCallToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
bool bIsValid = m_showExpired || !data.expired();
bool bIsValid = m_showExpired || !data.expired;
DEBUG_LOG(m_logger) << LOGFUNCTION
<< ", id: "<< data.id()
<< ", issi: "<< data.issi()
<< ", data.expired: " << data.expired()
<< ", id: "<< data.id
<< ", issi: "<< data.issi
<< ", data.expired: " << data.expired
<< ", m_showExpired: " << m_showExpired
<< " -> bIsValid=" << bIsValid;
@@ -203,22 +203,22 @@ bool EmergencyCallToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
int32_t EmergencyCallToMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool EmergencyCallToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, RefPointer<Sim2SituationMap::MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION << ", id " << ddsData.id();
TRACE_LOG(m_logger) << LOGFUNCTION << ", id " << ddsData.id;
mapObj->setPickable(true);
mapObj->setDrawOrder(1);
mapObj->setIdentifier(QStringLiteral("SOS_%1").arg(ddsData.issi()));
mapObj->setIdentifier(QStringLiteral("SOS_%1").arg(ddsData.issi));
TextStyle textStyle;
textStyle.setSize(20);
if (ddsData.expired())
if (ddsData.expired)
textStyle.setTextColor(Qt::gray);
else
textStyle.setTextColor(Qt::red);
@@ -227,18 +227,18 @@ bool EmergencyCallToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsDat
mapObj->setTextStyle(textStyle);
const Core::GeoPosition2D &geoPos = ddsData.position();
mapObj->setOrigin(Point3D(geoPos.lon(), geoPos.lat(), 0.0));
const Core::GeoPosition2D &geoPos = ddsData.position;
mapObj->setOrigin(Point3D(geoPos.lon, geoPos.lat, 0.0));
mapObj->setProxyImage(renderEmergencySymbol(ddsData.expired()), QSize(50, 50));
mapObj->setProxyImage(renderEmergencySymbol(ddsData.expired), QSize(50, 50));
mapObj->setPinEnabled(true);
forceEmergencyCallLayerVisibility();
emit emergencyCallUpdated(mapObj->identifier(), Point3D(geoPos.lon(), geoPos.lat(), 0));
emit emergencyCallUpdated(mapObj->identifier(), Point3D(geoPos.lon, geoPos.lat, 0));
return true;
}
@@ -2,7 +2,7 @@
#include "explosion_area_to_map.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
namespace SituationMap
@@ -40,19 +40,19 @@ bool ExplosionArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId().underlying();
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId;
mapObj->setAesState(effectState2aesState(effectState));
@@ -101,7 +101,7 @@ bool ExplosionArea2SituationMap::onTriggeredImpactsChanged(const AreaEffectSimul
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
if (data.aesTypeId() != AreaEffectSimulation::AesType::AtExplosionAreaSingleExplosions)
if (data.aesTypeId != AreaEffectSimulation::AesType::AtExplosionAreaSingleExplosions)
return false;
if (modType == DataModification::eRemoved)
@@ -113,7 +113,7 @@ bool ExplosionArea2SituationMap::onTriggeredImpactsChanged(const AreaEffectSimul
const int32_t simId = data.aesItemId();
const int32_t simId = data.aesItemId;
RefPointer<MAP_T> mapObj = this->getMapObjectOfSimId(simId);
@@ -133,11 +133,11 @@ bool ExplosionArea2SituationMap::onTriggeredImpactsChanged(const AreaEffectSimul
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtExplosionAreaSingleExplosions, itemView))
{
const PositionCont &posCont = form2PosCont(itemView.form());
const auto &bitField = data.bitfield();
const PositionCont &posCont = form2PosCont(itemView.form);
const auto &bitField = data.bitfield;
int32_t impactCount = data.impactCount();
int32_t impactCount = data.impactCount;
if (impactCount != posCont.size())
{
ERROR_LOG(m_logger) << LOGFUNCTION
@@ -4,10 +4,11 @@
#include "explosion_cluster_to_map.h"
#include <utility>
#include "pdm_handler.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <LtsCoordTrans/lts_coord_trans.h>
#include <AreaEffectSimulation/Utils/polygons.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <Map/map.h>
@@ -150,8 +151,8 @@ bool ExplosionCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS
return false;
}
const int32_t simId = ddsData.id();
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId().underlying();
const int32_t simId = ddsData.id;
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId;
bool bIsMode3D = false;
if (m_objFac.map() && (m_objFac.map()->mode() == Mode::Mode_3D))
@@ -177,20 +178,20 @@ bool ExplosionCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS
if (m_displayFilter)
bDisplayFilterShowGTL = m_displayFilter->showExplosionClusterGunToTargetLine();
const bool bDisplayFilterShowGFK = bDisplayFilterShowGTL && bIsMode3D &&
((effectState.underlying() != AreaEffectSimulation::AesEffectState::EsActivated) &&
(effectState.underlying() != AreaEffectSimulation::AesEffectState::EsExpired));
((effectState != AreaEffectSimulation::AesEffectState::EsActivated) &&
(effectState != AreaEffectSimulation::AesEffectState::EsExpired));
AreaEffectSimulation::AesItemView itemViewGunToTargetLine;
const std::vector<Core::GeoPosition>& form = itemViewGunToTargetLine.form();
const std::vector<Core::GeoPosition>& form = itemViewGunToTargetLine.form;
if (bDisplayFilterShowGTL || bDisplayFilterShowGFK)
m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtExplosionClusterGunToTargetLine, itemViewGunToTargetLine);
if (bDisplayFilterShowGTL && (form.size() >= 2))
mapObj->setGunToTargetLineSurface(Point3D(form.front().lon(), form.front().lat(), 0.0),
Point3D(form.back().lon() , form.back().lat() , 0.0));
mapObj->setGunToTargetLineSurface(Point3D(form.front().lon, form.front().lat, 0.0),
Point3D(form.back().lon , form.back().lat , 0.0));
else
mapObj->setGunToTargetLineSurface(Point3D(), Point3D());
@@ -203,7 +204,7 @@ bool ExplosionCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS
PositionCont gunToTargetPath;
gunToTargetPath.reserve(form.size());
for (const Core::GeoPosition& item : std::as_const(form))
gunToTargetPath.append(Point3D(item.lon(), item.lat(), item.z()));
gunToTargetPath.append(Point3D(item.lon, item.lat, item.z));
mapObj->setGunToTargetTrajectory3D(gunToTargetPath);
} else {
@@ -222,7 +223,7 @@ bool ExplosionCluster2SituationMap::updateVisibility(const Aes2SituationMap::DDS
bDisplayFilterShowMHP = m_displayFilter->showExplosionClusterMeanHitPoint();
if (bDisplayFilterShowMHP)
mapObj->setScheduledImpacts(form2PosCont(ddsData.mhPoints()));
mapObj->setScheduledImpacts(form2PosCont(ddsData.mhPoints));
else
mapObj->setScheduledImpacts({});
}
@@ -244,25 +245,25 @@ bool ExplosionCluster2SituationMap::updateElementImpl(const Sim2SituationMap::DD
BENCHMARK_SETUP_AND_START();
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId().underlying();
const AreaEffectSimulation::AesEffectState effectState = ddsData.effectStateId;
mapObj->setAesState(effectState2aesState(effectState));
LineStyle ls = mapObj->lineStyle();
if (ddsData.annotationString().empty())
if (ddsData.annotationString.empty())
ls.setLinePattern(LinePattern::Solid);
else
ls.setLinePattern(LinePattern::Dash);
@@ -307,7 +308,7 @@ bool ExplosionCluster2SituationMap::updateElementImpl(const Sim2SituationMap::DD
if (ddsData.partyId().is_set())
if (ddsData.partyId.has_value())
{
@@ -348,7 +349,7 @@ bool ExplosionCluster2SituationMap::updateGeometry(const AreaEffectSimulation::A
const int simId = aesItemView.aesItemId();
const int simId = aesItemView.aesItemId;
auto it = m_ddsDataContainer.find(simId);
if (it != m_ddsDataContainer.end())
updateNonLethalArea(mapObj, *it, aesItemView);
@@ -370,13 +371,13 @@ bool ExplosionCluster2SituationMap::onAesItemViewChanged(const AreaEffectSimulat
const int simId = aesItemView.aesItemId();
const int simId = aesItemView.aesItemId;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, simId=" << simId;
bool success = false;
if (aesItemView.aesTypeId() == AreaEffectSimulation::AesType::AtExplosionClusterGunToTargetLine)
if (aesItemView.aesTypeId == AreaEffectSimulation::AesType::AtExplosionClusterGunToTargetLine)
{
RefPointer<MAP_T> mapObj = this->getMapObjectOfSimId(simId);
@@ -395,10 +396,10 @@ bool ExplosionCluster2SituationMap::onEffectssChanged(const AreaEffectSimulation
<< ", modType = " << modType;
if (effects.aesTypeId() != AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions)
if (effects.aesTypeId != AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions)
return false;
const int aesItemId = effects.aesItemId();
const int aesItemId = effects.aesItemId;
const int simId = aesItemId;
@@ -411,7 +412,7 @@ bool ExplosionCluster2SituationMap::onEffectssChanged(const AreaEffectSimulation
return false;
}
const std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = effects.singleEffects();
const std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = effects.singleEffects;
PositionCont posContImpactsDraped, posContImpactsAbsolute;
posContImpactsDraped.reserve(singleEffectsRef.size());
@@ -420,16 +421,16 @@ bool ExplosionCluster2SituationMap::onEffectssChanged(const AreaEffectSimulation
for (const AreaEffectSimulation::SingleEffect &se : std::as_const(singleEffectsRef))
{
if (se.singleEffectState().underlying() != AreaEffectSimulation::AesSingleEffectState::SesTriggered)
if (se.singleEffectState != AreaEffectSimulation::AesSingleEffectState::SesTriggered)
continue;
switch (se.zPlacement().underlying())
switch (se.zPlacement)
{
case AreaEffectSimulation::AesZPlacement::ZpDraped:
posContImpactsDraped.append({se.position().lon(), se.position().lat(), se.position().z()});
posContImpactsDraped.append({se.position.lon, se.position.lat, se.position.z});
break;
case AreaEffectSimulation::AesZPlacement::ZpAbsolute:
posContImpactsAbsolute.append({se.position().lon(), se.position().lat(), se.position().z()});
posContImpactsAbsolute.append({se.position.lon, se.position.lat, se.position.z});
break;
case AreaEffectSimulation::AesZPlacement::ZpRelative:
@@ -467,13 +468,13 @@ bool ExplosionCluster2SituationMap::onEffectssChanged(const AreaEffectSimulation
bool ExplosionCluster2SituationMap::updateGunToTargetLineAndTrajectory(const AreaEffectSimulation::AesItemView &itemView,
RefPointer<Sim2SituationMap::MAP_T> mapObj)
{
const std::vector<Core::GeoPosition>& formRef = itemView.form();
const std::vector<Core::GeoPosition>& formRef = itemView.form;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, form.size = " << formRef.size();
if (formRef.size() >= 2)
{
mapObj->setGunToTargetLineSurface(Point3D(formRef.front().lon(), formRef.front().lat(), 0.0),
Point3D(formRef.back().lon() , formRef.back().lat() , 0.0));
mapObj->setGunToTargetLineSurface(Point3D(formRef.front().lon, formRef.front().lat, 0.0),
Point3D(formRef.back().lon , formRef.back().lat , 0.0));
} else {
mapObj->setGunToTargetLineSurface(Point3D(), Point3D());
@@ -485,7 +486,7 @@ bool ExplosionCluster2SituationMap::updateGunToTargetLineAndTrajectory(const Are
PositionCont gunToTargetPath;
gunToTargetPath.reserve(formRef.size());
for (const Core::GeoPosition& item : std::as_const(formRef))
gunToTargetPath.append(Point3D(item.lon(), item.lat(), item.z()));
gunToTargetPath.append(Point3D(item.lon, item.lat, item.z));
mapObj->setGunToTargetTrajectory3D(gunToTargetPath);
}
@@ -532,7 +533,7 @@ bool ExplosionCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2Situation
if (!m_pdmHandler)
return false;
if (explosionCluster.id() != aesItemView.aesItemId())
if (explosionCluster.id != aesItemView.aesItemId)
return false;
@@ -542,11 +543,11 @@ bool ExplosionCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2Situation
const int chargeTypeId = explosionCluster.chargeStruct().chargeTypeId();
const int chargeTypeId = explosionCluster.chargeStruct.chargeTypeId;
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(chargeTypeId);
if (gc.underlying() == ProjectDataManagement::GearClass::AirSupport)
if (gc == ProjectDataManagement::GearClass::GearClass_AirSupport)
{
const QVector<ProjectDataManagement::CasEffect> &casEffectsVec = m_pdmHandler->casEffects(explosionCluster.chargeStruct());
const QVector<ProjectDataManagement::CasEffect> &casEffectsVec = m_pdmHandler->casEffects(explosionCluster.chargeStruct);
@@ -555,13 +556,13 @@ bool ExplosionCluster2SituationMap::updateNonLethalArea(RefPointer<Sim2Situation
const ProjectDataManagement::CasEffect &ce = casEffectsVec[1];
const double impactRadius = ce.impactRadius();
const double impactRadius = ce.impactRadius;
const AreaEffectSimulation::Area &areaRef = explosionCluster.area();
const AreaEffectSimulation::Area &areaRef = explosionCluster.area;
const Core::GeoPosition2D &blGeo = aesItemView.boundingBoxBottomLeft();
const QPointF &centerGeo = AreaEffectSimulation::Polygons::bottomLeft2CenterPoint(QPointF(blGeo.lon(), blGeo.lat()),
areaRef.width(), areaRef.height(), areaRef.rotation());
const Core::GeoPosition2D &blGeo = aesItemView.boundingBoxBottomLeft;
const QPointF &centerGeo = AreaEffectSimulation::Polygons::bottomLeft2CenterPoint(QPointF(blGeo.lon, blGeo.lat),
areaRef.width, areaRef.height, areaRef.rotation);
updateNonLethalArea(mapObj, centerGeo, impactRadius);
}
@@ -595,10 +596,10 @@ bool ExplosionCluster2SituationMap::updateSingleTracjectory(const AreaEffectSimu
{
if (traj.originatorTypeId() != ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
if (traj.originatorTypeId != ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
return false;
const int32_t simId = traj.originatorId();
const int32_t simId = traj.originatorId;
if (!m_simId2UniqueMapId.contains(simId))
return false;
@@ -607,7 +608,7 @@ bool ExplosionCluster2SituationMap::updateSingleTracjectory(const AreaEffectSimu
if (m_displayFilter)
bDisplayFilterShowTRJ = m_displayFilter->showExplosionClusterTrajectory();
const int32_t index = traj.index();
const int32_t index = traj.index;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, traj=" << traj
<< ", simId=" << simId
@@ -621,7 +622,7 @@ bool ExplosionCluster2SituationMap::updateSingleTracjectory(const AreaEffectSimu
const qint64 partitionTimeMsec = m_pluginProvider->partitionTime();
if (traj.trajectoryStartTime() > partitionTimeMsec)
if (traj.trajectoryStartTime > partitionTimeMsec)
return false;
@@ -644,7 +645,7 @@ bool ExplosionCluster2SituationMap::updateSingleTracjectory(const AreaEffectSimu
{
const std::vector<Core::GeoPositionRelativeTime>& geometry = traj.geometry();
const std::vector<Core::GeoPositionRelativeTime>& geometry = traj.geometry;
const PositionCont &curPath = mapObj->trajectory(index);
if (geometry.size() > static_cast<size_t>(curPath.size()))
{
@@ -653,9 +654,9 @@ bool ExplosionCluster2SituationMap::updateSingleTracjectory(const AreaEffectSimu
posCont.reserve(geometry.size());
for (const Core::GeoPositionRelativeTime& posTime : std::as_const(geometry))
{
if (considerTime && ((traj.trajectoryStartTime() + posTime.relativeTime()) > partitionTimeMsec) )
if (considerTime && ((traj.trajectoryStartTime + posTime.relativeTime) > partitionTimeMsec) )
break;
posCont.append(Point3D(posTime.lon(), posTime.lat(), posTime.z()));
posCont.append(Point3D(posTime.lon, posTime.lat, posTime.z));
}
INFO_LOG(m_logger) << "update trajectory, simId=" << simId
@@ -697,9 +698,9 @@ bool ExplosionCluster2SituationMap::updateAllTracjectories(int simToRestrict)
auto cb = [this, simToRestrict](const AreaEffectSimulation::TrajectoryTimeAware &traj)
{
if (traj.originatorTypeId() != ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation)
if (traj.originatorTypeId != ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation)
return;
const int aesItemId = traj.originatorId();
const int aesItemId = traj.originatorId;
if ((simToRestrict < 0) || (simToRestrict == aesItemId))
updateSingleTracjectory(traj);
};
@@ -721,10 +722,10 @@ bool ExplosionCluster2SituationMap::updateAllTracjectories(int simToRestrict)
bool ExplosionCluster2SituationMap::updateEffects3DSingleItem(const AreaEffectSimulation::Effects &effects)
{
if (effects.aesTypeId() != AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions)
if (effects.aesTypeId != AreaEffectSimulation::AesType::AtExplosionClusterSingleExplosions)
return false;
const int32_t simId = effects.aesItemId();
const int32_t simId = effects.aesItemId;
if (!m_simId2UniqueMapId.contains(simId))
return false;
@@ -756,7 +757,7 @@ bool ExplosionCluster2SituationMap::updateEffects3DSingleItem(const AreaEffectSi
if (bDisplayFilterShowDetoSphere)
{
const std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = effects.singleEffects();
const std::vector<AreaEffectSimulation::SingleEffect> &singleEffectsRef = effects.singleEffects;
PositionCont posContImpactsDraped, posContImpactsAbsolute;
posContImpactsDraped.reserve(singleEffectsRef.size());
@@ -767,11 +768,11 @@ bool ExplosionCluster2SituationMap::updateEffects3DSingleItem(const AreaEffectSi
{
++i;
if (se.singleEffectState().underlying() != AreaEffectSimulation::AesSingleEffectState::SesTriggered)
if (se.singleEffectState != AreaEffectSimulation::AesSingleEffectState::SesTriggered)
continue;
const qint64 age = partitionTimeMsec - se.singleEffectTime();
const Core::GeoPosition &singleEffectPosGeo = se.position();
const qint64 age = partitionTimeMsec - se.singleEffectTime;
const Core::GeoPosition &singleEffectPosGeo = se.position;
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId=" << simId << ", SingleEffect, i = " << i
<< ", age = " << age << ", s_effect3dMaxDisplayDuration = " << s_effect3dMaxDisplayDuration
@@ -780,13 +781,13 @@ bool ExplosionCluster2SituationMap::updateEffects3DSingleItem(const AreaEffectSi
if (age > s_effect3dMaxDisplayDuration)
continue;
switch (se.zPlacement().underlying())
switch (se.zPlacement)
{
case AreaEffectSimulation::AesZPlacement::ZpDraped:
posContImpactsDraped.append({singleEffectPosGeo.lon(), singleEffectPosGeo.lat(), singleEffectPosGeo.z()});
posContImpactsDraped.append({singleEffectPosGeo.lon, singleEffectPosGeo.lat, singleEffectPosGeo.z});
break;
case AreaEffectSimulation::AesZPlacement::ZpAbsolute:
posContImpactsAbsolute.append({singleEffectPosGeo.lon(), singleEffectPosGeo.lat(), singleEffectPosGeo.z()});
posContImpactsAbsolute.append({singleEffectPosGeo.lon, singleEffectPosGeo.lat, singleEffectPosGeo.z});
break;
case AreaEffectSimulation::AesZPlacement::ZpRelative:
@@ -804,7 +805,7 @@ bool ExplosionCluster2SituationMap::updateEffects3DSingleItem(const AreaEffectSi
double impactRadius = 5;
auto it = m_ddsDataContainer.find(simId);
if (it != m_ddsDataContainer.end())
impactRadius = m_pdmHandler->impactRadius(it->chargeStruct(), 5);
impactRadius = m_pdmHandler->impactRadius(it->chargeStruct, 5);
if (mapObj->setDetonationsDraped(posContImpactsDraped, impactRadius))
bHasChanged = true;
@@ -838,7 +839,7 @@ bool ExplosionCluster2SituationMap::updateEffects3DAllItems(int simToRestrict)
auto cb = [this, simToRestrict](const AreaEffectSimulation::Effects &effect)
{
if ((simToRestrict < 0) || (simToRestrict == effect.aesItemId()))
if ((simToRestrict < 0) || (simToRestrict == effect.aesItemId))
updateEffects3DSingleItem(effect);
};
m_aesDtc->effectss(cb);
@@ -914,24 +915,24 @@ AreaEffectSimulation::AesType ExplosionCluster2SituationMap::aesTypeFromGearClas
{
static QMap<int, AreaEffectSimulation::AesType> s_aesTypeMap;
if (s_aesTypeMap.contains(data.chargeStruct().chargeTypeId()))
return s_aesTypeMap[data.chargeStruct().chargeTypeId()];
if (s_aesTypeMap.contains(data.chargeStruct.chargeTypeId))
return s_aesTypeMap[data.chargeStruct.chargeTypeId];
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(data.chargeStruct().chargeTypeId());
switch (gc.underlying())
const ProjectDataManagement::GearClass &gc = m_pdmHandler->gearClassFromChargeTypeId(data.chargeStruct.chargeTypeId);
switch (gc)
{
case ProjectDataManagement::GearClass::GearClass_AirSupport:
s_aesTypeMap[data.chargeStruct().chargeTypeId()] = AreaEffectSimulation::AesType::AtAirSupportImpact;
s_aesTypeMap[data.chargeStruct.chargeTypeId] = AreaEffectSimulation::AesType::AtAirSupportImpact;
break;
case ProjectDataManagement::GearClass::GearClass_Artillery:
case ProjectDataManagement::GearClass::GearClass_Mortar:
case ProjectDataManagement::GearClass::GearClass_Rocket:
s_aesTypeMap[data.chargeStruct().chargeTypeId()] = AreaEffectSimulation::AesType::AtExplosionArea;
s_aesTypeMap[data.chargeStruct.chargeTypeId] = AreaEffectSimulation::AesType::AtExplosionArea;
break;
default:
return AreaEffectSimulation::AesType::AtUnknown;
}
return s_aesTypeMap[data.chargeStruct().chargeTypeId()];
return s_aesTypeMap[data.chargeStruct.chargeTypeId];
}
void ExplosionCluster2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType aesType)
@@ -939,9 +940,9 @@ void ExplosionCluster2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulati
TRACE_LOG(m_logger) << "START onAesDisplayFilterChanged, aesType =" << aesType
<< ", this " << this;
if ((AreaEffectSimulation::AesType::AtExplosionCluster != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtExplosionArea != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtAirSupportImpact != aesType.underlying()))
if ((AreaEffectSimulation::AesType::AtExplosionCluster != aesType) &&
(AreaEffectSimulation::AesType::AtExplosionArea != aesType) &&
(AreaEffectSimulation::AesType::AtAirSupportImpact != aesType))
return;
const auto cb = [this](const DDS_TYPE &data) -> bool
@@ -963,8 +964,8 @@ bool ExplosionCluster2SituationMap::isVisibleByFilter(const Aes2SituationMap::DD
if (!m_displayFilter)
return true;
const auto es = data.effectStart().is_set() ? data.effectStart().get() : 0;
const auto partyId = data.partyId().is_set() ? data.partyId().get() : -1;
const auto es = data.effectStart.has_value() ? data.effectStart.get() : 0;
const auto partyId = data.partyId.has_value() ? data.partyId.get() : -1;
bool isVisibleByFilter = partyId > 0 ? FilterClass::m_currentSymbolSettings.symbolSettings.symbolPartyAppearance.value(partyId).isVisible : true;
if (isVisibleByFilter)
{
@@ -976,12 +977,12 @@ bool ExplosionCluster2SituationMap::isVisibleByFilter(const Aes2SituationMap::DD
}
isVisibleByFilter = m_displayFilter->isVisible(aestype,
data.effectStateId(),
data.chargeStruct().chargeTypeId(),
data.effectStateId,
data.chargeStruct.chargeTypeId,
partyId,
data.isCentral(),
data.isCentral,
es,
data.effectDuration(),
data.effectDuration,
m_pluginProvider->partitionTime());
}
@@ -43,15 +43,15 @@ bool ExplosionSingle2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
mapObj->setVisibility(ObjectAppearance::Tactical, false);
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtExplosionSingle, itemView))
@@ -72,11 +72,11 @@ bool ExplosionSingle2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
}
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition();
mapObj->setImpactOrigin(Point3D(impactPos2D.lon(), impactPos2D.lat(), 0.0));
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition;
mapObj->setImpactOrigin(Point3D(impactPos2D.lon, impactPos2D.lat, 0.0));
if (m_pdmHandler && m_pdmHandler->isSmart(ddsData.chargeStruct()))
if (m_pdmHandler && m_pdmHandler->isSmart(ddsData.chargeStruct))
mapObj->setImpactType(SingleFire::ImpactType::doubleImpact);
else
mapObj->setImpactType(SingleFire::ImpactType::normalImpact);
@@ -37,15 +37,15 @@ bool FunctionalArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtFunctionalArea, itemView))
this->updateGeometry(itemView, mapObj);
@@ -65,9 +65,9 @@ bool FunctionalArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_
}
if (ddsData.pointSymbol().is_set())
if (ddsData.pointSymbol.has_value())
{
const QString pointSymbolSidc = QString::fromStdString(ddsData.pointSymbol().get());
const QString pointSymbolSidc = QString::fromStdString(ddsData.pointSymbol.get());
DEBUG_LOG(m_logger) << LOGFUNCTION
<< " pointSymbolSidc ='" << pointSymbolSidc << "'"
<< " simId=" << simId ;
@@ -2,7 +2,7 @@
#include "gas_pipe_to_map.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
namespace SituationMap
@@ -34,13 +34,13 @@ bool GasPipe2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsD
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
AreaEffectSimulation::AesItemView itemView;
@@ -35,7 +35,7 @@ GuezIed2SituationMap::~GuezIed2SituationMap()
int32_t GuezIed2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool GuezIed2SituationMap::init(PluginProvider *pluginProvider)
@@ -135,12 +135,12 @@ bool GuezIed2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, Unified
const auto cb = [simIdOut, &umodOut](const GuezIedManagement::Ied & data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_equipmentNumber = data.equipmentNumber();
umodOut.m_partyId = data.partyId();
umodOut.m_description1 = QString::fromStdString(data.name());
umodOut.m_description2 = QString::number(data.explosiveForce());
umodOut.m_equipmentNumber = data.equipmentNumber;
umodOut.m_partyId = data.partyId;
umodOut.m_description1 = QString::fromStdString(data.name);
umodOut.m_description2 = QString::number(data.explosiveForce);
return true;
}
return false;
@@ -169,8 +169,8 @@ void GuezIed2SituationMap::onIedPositionChanged(const GuezIedManagement::IedPosi
DEBUG_LOG(m_logger) << "onIedPositionChanged: " << data;
const int32_t simId = data.id();
const Core::GeoPosition &geoPos = data.position();
const int32_t simId = data.id;
const Core::GeoPosition &geoPos = data.position;
auto it = m_simId2UniqueMapId.constFind(simId);
@@ -185,7 +185,7 @@ void GuezIed2SituationMap::onIedPositionChanged(const GuezIedManagement::IedPosi
if (mapObj)
{
mapObj->setOrigin(Point3D(geoPos.lon(), geoPos.lat(), geoPos.z()));
mapObj->setOrigin(Point3D(geoPos.lon, geoPos.lat, geoPos.z));
if (!mapObj->updateView())
{
ERROR_LOG(m_logger) << LOGFUNCTION << " GUEZ Ied updateView failed"
@@ -207,7 +207,7 @@ void GuezIed2SituationMap::onIedPositionChanged(const GuezIedManagement::IedPosi
Injury guezIedStateToInjury(const GuezIedManagement::IedTacticalState &iedState)
{
switch (iedState.underlying())
switch (iedState)
{
case GuezIedManagement::IedTacticalState::Active:
return AdvancedSymbology::Injury::NoInjury;
@@ -232,7 +232,7 @@ void updateIedPyro(const GuezIedManagement::IedTacticalState &iedStateIn,
if (injuryInOut != AdvancedSymbology::Injury::TotalKill)
return;
switch (iedStateIn.underlying())
switch (iedStateIn)
{
case GuezIedManagement::IedTacticalState::Unknown:
case GuezIedManagement::IedTacticalState::NotActive:
@@ -268,22 +268,22 @@ bool GuezIed2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsD
RefPointer<MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " id=" << ddsData.id()
<< " name=" << ddsData.name();
<< " id=" << ddsData.id
<< " name=" << ddsData.name;
SymbolData symData = mapObj->symbol();
symData.sidc = QString::fromStdString(ddsData.symbol());
symData.sidc = QString::fromStdString(ddsData.symbol);
mapObj->setTextModifier(Participant::TextModifier::T_UniqueDesignation, QString::fromStdString(ddsData.name()));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::number(ddsData.explosiveForce()));
mapObj->setTextModifier(Participant::TextModifier::T_UniqueDesignation, QString::fromStdString(ddsData.name));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::number(ddsData.explosiveForce));
mapObj->setPartyId(ddsData.partyId());
mapObj->setPartyId(ddsData.partyId);
@@ -299,11 +299,11 @@ bool GuezIed2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsD
AdvancedSymbology::Injury injury = guezIedStateToInjury(ddsData.tacticalState());
if ((ddsData.type() == GuezIedManagement::IedType::IedSmallPyro) ||
(ddsData.type() == GuezIedManagement::IedType::IedBigPyro))
AdvancedSymbology::Injury injury = guezIedStateToInjury(ddsData.tacticalState);
if ((ddsData.type == GuezIedManagement::IedType::IedSmallPyro) ||
(ddsData.type == GuezIedManagement::IedType::IedBigPyro))
{
updateIedPyro(ddsData.tacticalState(), injury, symData.sidc);
updateIedPyro(ddsData.tacticalState, injury, symData.sidc);
}
int32_t injuryPartyId = -1;
@@ -375,10 +375,10 @@ void GuezIed2SituationMap::handleSymbolAppearanceSettings()
{
for (const GuezIedManagement::Ied &ied : std::as_const(m_ddsDataContainer))
{
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(ied.id(), INVALID_MAP_ID);
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(ied.id, INVALID_MAP_ID);
if (uniqueMapId == INVALID_MAP_ID)
{
WARNING_LOG(m_logger) << LOGFUNCTION << "Found a ied which is in internal map but has no map object...: " << ied.id();
WARNING_LOG(m_logger) << LOGFUNCTION << "Found a ied which is in internal map but has no map object...: " << ied.id;
continue;
}
RefPointer<MAP_T> mapObj = m_objFac.get<MAP_T>(uniqueMapId);
@@ -400,7 +400,7 @@ void GuezIed2SituationMap::handleSymbolAppearanceSettings(RefPointer<MAP_T> &map
mapObj->setScale(filterSettings.symbolSettings.symbolScale);
mapObj->setUserSymbolOpacity(1.0f - filterSettings.symbolSettings.symbolTransparency);
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.partyId());
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.partyId);
mapObj->setTextModifierVisibility(Participant::TextModifier::T_UniqueDesignation, spa.showDesignator);
mapObj->setTextModifierVisibility(Participant::TextModifier::M_HigherFormation, spa.showTacticalIdentifier);
@@ -421,7 +421,7 @@ bool GuezIed2SituationMap::isVisible(const Sim2SituationMap::DDS_T &ddsData) con
bool GuezIed2SituationMap::visibleBySymbolPartyAppearance(const Sim2SituationMap::DDS_T &ddsData) const
{
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.partyId());
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.partyId);
return spa.isVisible;
}
@@ -430,7 +430,7 @@ bool GuezIed2SituationMap::visibleByAesFilter(const Sim2SituationMap::DDS_T &dds
if (!m_displayFilter)
return true;
switch (ddsData.tacticalState().underlying())
switch (ddsData.tacticalState)
{
@@ -451,7 +451,7 @@ bool GuezIed2SituationMap::visibleByAesFilter(const Sim2SituationMap::DDS_T &dds
case GuezIedManagement::IedTacticalState::TriggeredByRemote:
case GuezIedManagement::IedTacticalState::TriggeredBySwitch:
case GuezIedManagement::IedTacticalState::TriggeredByTautWire:
auto timeTriggered = ddsData.sampleTime();
auto timeTriggered = ddsData.sampleTime;
const AreaEffectSimulation::AesType t(AreaEffectSimulation::AesType::AtMineAreaSingleMines);
const auto afterGlow = m_effectStateStruct.expiredAfterglowDurationMSec;
DEBUG_LOG(m_logger) << LOGFUNCTION
@@ -5,6 +5,7 @@
#include "sim_to_situation_map_tmpl.h"
#include <GuezIedManagement/gim_data_plugin_interface.h>
#include <GuezIedManagement/gim_dtc.h> // complete Dtc type for &Dtc::signal connects
#include <GuezIedManagement/gim_info_gui_plugin_interface.h>
#include <FilterManagement/flt_data_plugin_aes_display_filter.h>
#include <AreaEffectSimulation/aes_enums.hpp>
@@ -24,7 +24,7 @@ namespace SituationMap
int32_t GuezNasat9Liner2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
GuezNasat9Liner2SituationMap::GuezNasat9Liner2SituationMap(ObjectFactory &objFac, const QString &layername, int drawOrder, const char *loggerName)
@@ -162,7 +162,7 @@ bool GuezNasat9Liner2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId,
if (mapObj.valid())
umodOut.m_image = mapObj->previewImage();
umodOut.m_description1 = QString::fromStdString(m_gnaDtc->nasat9Liner(simIdOut).name());
umodOut.m_description1 = QString::fromStdString(m_gnaDtc->nasat9Liner(simIdOut).name);
return true;
}
@@ -170,16 +170,16 @@ bool GuezNasat9Liner2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId,
void GuezNasat9Liner2SituationMap::onParticipantChanged(const ParticipantManagement::Participant &data, DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " pId=" << data.id()
<< " parytIdOld=" << m_participantToPartyId.value(data.id(), -1)
<< " parytId=" << data.partyId()
<< " pId=" << data.id
<< " parytIdOld=" << m_participantToPartyId.value(data.id, -1)
<< " parytId=" << data.partyId
<< ", m_participantToPartyId.size()=" << m_participantToPartyId.size();
const int simId = data.id();
const int simId = data.id;
switch (modType)
{
case DataModification::eAdded:
case DataModification::eModified:
m_participantToPartyId[simId] = data.partyId();
m_participantToPartyId[simId] = data.partyId;
break;
case DataModification::eRemoved:
m_ddsDataContainer.remove(simId);
@@ -207,14 +207,14 @@ bool GuezNasat9Liner2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
RefPointer<MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " id=" << ddsData.id()
<< " name=" << ddsData.name()
<< " isCurrent=" << ddsData.isCurrent()
<< " initialPoint=" << ddsData.initialPoint()
<< " targetPosition=" << ddsData.targetPosition()
<< " participantId=" << ddsData.participantId()
<< " id=" << ddsData.id
<< " name=" << ddsData.name
<< " isCurrent=" << ddsData.isCurrent
<< " initialPoint=" << ddsData.initialPoint
<< " targetPosition=" << ddsData.targetPosition
<< " participantId=" << ddsData.participantId
<< " m_participantToPartyId.size()=" << m_participantToPartyId.size()
<< " partyId.size()=" << m_participantToPartyId.value(ddsData.participantId(), -1);
<< " partyId.size()=" << m_participantToPartyId.value(ddsData.participantId, -1);
mapObj->setPickable(false);
@@ -223,24 +223,24 @@ bool GuezNasat9Liner2SituationMap::updateElementImpl(const Sim2SituationMap::DDS
mapObj->setPartyId(m_participantToPartyId.value(ddsData.participantId(), -1));
mapObj->setPartyId(m_participantToPartyId.value(ddsData.participantId, -1));
TextStyle ts = mapObj->textStyle();
ts.setHorizontalAlignment(HorizontalAlignment::Center);
mapObj->setTextStyle(ts);
MAP_T::NineLinerData data;
data.initialPoint = Point3D(ddsData.initialPoint().lon(), ddsData.initialPoint().lat(), .0);
data.targetPosition = Point3D(ddsData.targetPosition().lon(), ddsData.targetPosition().lat(), .0);
data.fah = ddsData.finalAttackHeading();
data.fahLow = ddsData.finalAttackHeadingLow();
data.fahHigh = ddsData.finalAttackHeadingHigh();
data.friendliesBearing = ddsData.friendliesBearing();
data.friendliesDistance = ddsData.friendliesDistance();
data.initialPoint = Point3D(ddsData.initialPoint.lon, ddsData.initialPoint.lat, .0);
data.targetPosition = Point3D(ddsData.targetPosition.lon, ddsData.targetPosition.lat, .0);
data.fah = ddsData.finalAttackHeading;
data.fahLow = ddsData.finalAttackHeadingLow;
data.fahHigh = ddsData.finalAttackHeadingHigh;
data.friendliesBearing = ddsData.friendliesBearing;
data.friendliesDistance = ddsData.friendliesDistance;
mapObj->setNineLinerData(data);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
return true;
@@ -258,7 +258,7 @@ void GuezNasat9Liner2SituationMap::handleSymbolAppearanceSettings()
for (const GuezNasat::Nasat9Liner &nineLiner : std::as_const(m_ddsDataContainer))
{
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(nineLiner.id());
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(nineLiner.id);
if (!mapObj.valid())
continue;
@@ -298,7 +298,7 @@ void GuezNasat9Liner2SituationMap::handleSymbolAppearanceSettings(RefPointer<Sim
{
mapObj->setScale(m_currentSymbolSettings.symbolSettings.symbolScale);
const bool isVisi = visibleByDisplayLength(m_pluginProvider->partitionTime(), ddsData.sampleTime());
const bool isVisi = visibleByDisplayLength(m_pluginProvider->partitionTime(), ddsData.sampleTime);
if (mapObj->visibility() != isVisi)
{
@@ -333,7 +333,7 @@ void GuezNasat9Liner2SituationMap::updateAllItems()
TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_ddsDataContainer.size()=" << m_ddsDataContainer.size();
for (const DDS_T &ddsData : std::as_const(m_ddsDataContainer))
{
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id());
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id);
if (!mapObj.valid())
continue;
@@ -6,6 +6,7 @@
#include "sim_to_situation_map_tmpl.h"
#include <GuezNasat/gna_data_plugin_interface.h>
#include <ParticipantManagement/ppm_data_plugin_interface.h>
#include <ParticipantManagement/ppm_dtc.h> // complete Dtc type for &Dtc::signal connects / ->disconnect
#include <MapObjects/polyline.h>
#include <MapObjects/nine_liner.h>
@@ -4,6 +4,7 @@
#include "hitlineinfo_to_map.h"
#include <utility>
#include <ParticipantManagement/ppm_dtc.h> // complete Dtc type for &Dtc::typeChanged (signal-pointer connect)
#include "pdm_handler.h"
#include <Map/object_factory.h>
#include <Map/map.h>
@@ -48,7 +49,7 @@ HitlineInfo2SituationMap::~HitlineInfo2SituationMap()
int32_t HitlineInfo2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool HitlineInfo2SituationMap::init(PluginProvider *pluginProvider)
@@ -132,15 +133,15 @@ bool HitlineInfo2SituationMap::isElapsed(const ParticipantManagement::HitLineInf
const Core::GeoPosition &startGeoPos = ddsData.originatorPos();
const Core::GeoPosition &endGeoPos = ddsData.injuryPos();
const Core::GeoPosition &startGeoPos = ddsData.originatorPos;
const Core::GeoPosition &endGeoPos = ddsData.injuryPos;
{
Point3D dummy(startGeoPos.lon(), startGeoPos.lat(), startGeoPos.z());
Point3D dummy(startGeoPos.lon, startGeoPos.lat, startGeoPos.z);
if (dummy.isNull())
return true;
}
{
Point3D dummy(endGeoPos.lon(), endGeoPos.lat(), endGeoPos.z());
Point3D dummy(endGeoPos.lon, endGeoPos.lat, endGeoPos.z);
if (dummy.isNull())
return true;
}
@@ -152,9 +153,9 @@ bool HitlineInfo2SituationMap::isElapsed(const ParticipantManagement::HitLineInf
if (m_objFac.map() && (m_objFac.map()->mode() == Mode::Mode_3D))
{
if (startGeoPos.z() < 0)
if (startGeoPos.z < 0)
return true;
if (endGeoPos.z() < 0)
if (endGeoPos.z < 0)
return true;
}
@@ -202,10 +203,10 @@ bool HitlineInfo2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, Uni
const auto cb = [this, simIdOut, &umodOut](const Sim2SituationMap::DDS_T & ddsData) -> bool
{
if (ddsData.id() == simIdOut)
if (ddsData.id == simIdOut)
{
umodOut.m_partyId = ddsData.originatorPartyId();
const int32_t originatorChargeTypeId = ddsData.chargeTypeId();
umodOut.m_partyId = ddsData.originatorPartyId;
const int32_t originatorChargeTypeId = ddsData.chargeTypeId;
umodOut.m_description1 = chargeTypeIdentifier(originatorChargeTypeId);
return true;
}
@@ -220,8 +221,8 @@ bool HitlineInfo2SituationMap::onHitLineInfoChanged(const Sim2SituationMap::DDS_
DataModification modType)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " START"
<< ", ddsData.id()=" << ddsData.id()
<< ", ddsData.injuryBuildingId()=" << ddsData.injuryBuildingId()
<< ", ddsData.id()=" << ddsData.id
<< ", ddsData.injuryBuildingId()=" << ddsData.injuryBuildingId
<< ", modType=" << modType
<< ", m_buildingHits.size()=" << m_buildingHits.size();
@@ -243,9 +244,9 @@ bool HitlineInfo2SituationMap::onHitLineInfoChanged(const Sim2SituationMap::DDS_
void HitlineInfo2SituationMap::onBuildingHitlineInfoChanged(const Buildings::BuildingHitLineInfo &data, DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< ", data.id()=" << data.id()
<< ", data.originatorParticipantId()=" << data.originatorParticipantId()
<< ", data.buildingId()=" << data.buildingId()
<< ", data.id()=" << data.id
<< ", data.originatorParticipantId()=" << data.originatorParticipantId
<< ", data.buildingId()=" << data.buildingId
<< ", modType=" << modType
<< ", m_buildingHits.size()=" << m_buildingHits.size();
@@ -253,15 +254,15 @@ void HitlineInfo2SituationMap::onBuildingHitlineInfoChanged(const Buildings::Bui
return;
BuildingHit bh;
bh.sampleTime = data.sampleTime();
bh.originatorParticipantId = data.originatorParticipantId();
bh.chargeTypeId = data.chargeTypeId();
m_buildingHits[data.buildingId()].push_back(bh);
bh.sampleTime = data.sampleTime;
bh.originatorParticipantId = data.originatorParticipantId;
bh.chargeTypeId = data.chargeTypeId;
m_buildingHits[data.buildingId].push_back(bh);
TRACE_LOG(m_logger) << LOGFUNCTION << " END"
<< ", data.id()=" << data.id()
<< ", data.originatorParticipantId()=" << data.originatorParticipantId()
<< ", data.buildingId()=" << data.buildingId()
<< ", data.id()=" << data.id
<< ", data.originatorParticipantId()=" << data.originatorParticipantId
<< ", data.buildingId()=" << data.buildingId
<< ", modType=" << modType
<< ", m_buildingHits.size()=" << m_buildingHits.size();
}
@@ -284,9 +285,9 @@ bool HitlineInfo2SituationMap::createElement(const DDS_T &ddsData)
{
INFO_LOG(m_logger) << LOGFUNCTION << " new Hitline !!!!" << " simId = " << simId;
const SpecialChargeType specialChargeTypeId = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType specialChargeTypeId = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
if (PdmHandler::isChargeTypeLtdOrLrf(specialChargeTypeId))
m_participant2SituationMap->onParticipantFakeGearEventChanged(ddsData.originatorParticipantId(), ddsData.sampleTime(), specialChargeTypeId);
m_participant2SituationMap->onParticipantFakeGearEventChanged(ddsData.originatorParticipantId, ddsData.sampleTime, specialChargeTypeId);
@@ -302,7 +303,7 @@ bool HitlineInfo2SituationMap::createElement(const DDS_T &ddsData)
bool HitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
RefPointer<MAP_T> mapObj)
{
const qint32 hitlineId = ddsData.id();
const qint32 hitlineId = ddsData.id;
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " id=" << hitlineId;
@@ -312,7 +313,7 @@ bool HitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &
LineStyle ls = mapObj->lineStyle();
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
switch (sct)
{
case SpecialChargeType::LRF:
@@ -329,18 +330,18 @@ bool HitlineInfo2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &
mapObj->setLineStyle(ls);
mapObj->setPartyId(ddsData.originatorPartyId());
mapObj->setPartyId(ddsData.originatorPartyId);
const int32_t originatorChargeTypeId = ddsData.chargeTypeId();
const int32_t originatorChargeTypeId = ddsData.chargeTypeId;
mapObj->setIdentifier(chargeTypeIdentifier(originatorChargeTypeId));
const Core::GeoPosition &startGeoPos = ddsData.originatorPos();
const Core::GeoPosition &endGeoPos = ddsData.injuryPos();
mapObj->setStartAndEndPoint(Point3D(startGeoPos.lon(), startGeoPos.lat(), startGeoPos.z()),
Point3D(endGeoPos.lon(), endGeoPos.lat(), endGeoPos.z()));
const Core::GeoPosition &startGeoPos = ddsData.originatorPos;
const Core::GeoPosition &endGeoPos = ddsData.injuryPos;
mapObj->setStartAndEndPoint(Point3D(startGeoPos.lon, startGeoPos.lat, startGeoPos.z),
Point3D(endGeoPos.lon, endGeoPos.lat, endGeoPos.z));
handleSymbolAppearanceSettings(mapObj, ddsData);
@@ -381,7 +382,7 @@ void HitlineInfo2SituationMap::handleSymbolAppearanceSettings()
for (const ParticipantManagement::HitLineInfo &hitline : std::as_const(m_ddsDataContainer))
{
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(hitline.id());
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(hitline.id);
if (!mapObj.valid())
continue;
@@ -392,7 +393,7 @@ void HitlineInfo2SituationMap::handleSymbolAppearanceSettings()
void HitlineInfo2SituationMap::handleSymbolAppearanceSettings(RefPointer<MAP_T> mapObj, const Sim2SituationMap::DDS_T &ddsData)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ddsData.id()=" << ddsData.id()
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ddsData.id()=" << ddsData.id
<< ", mapObj = " << mapObj->debugInfo();
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
@@ -408,7 +409,7 @@ void HitlineInfo2SituationMap::handleSymbolAppearanceSettings(RefPointer<MAP_T>
QTimer::singleShot(200, this, [this, ddsData]()
{
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id());
RefPointer<MAP_T> mapObj = getMapObjectOfSimId(ddsData.id);
if (!mapObj.valid())
return;
handleSymbolAppearanceSettings(mapObj, ddsData);
@@ -421,7 +422,7 @@ void HitlineInfo2SituationMap::handleSymbolAppearanceSettings(RefPointer<MAP_T>
WARNING_LOG(m_logger) << LOGFUNCTION << " updateView failed,"
<< " mapObj = " << mapObj->debugInfo();
}
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " ddsData.id()=" << ddsData.id()
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " ddsData.id()=" << ddsData.id
<< ", mapObj = " << mapObj->debugInfo();
}
@@ -437,7 +438,7 @@ bool HitlineInfo2SituationMap::isVisible(const Sim2SituationMap::DDS_T &ddsData,
bool HitlineInfo2SituationMap::visibleBySymbolPartyAppearance(const Sim2SituationMap::DDS_T &ddsData) const
{
const FilterManagement::SymbolAppearanceSettings::Settings &filterSettings = m_symbolAppearanceSettings->settings();
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.originatorPartyId());
const auto spa = filterSettings.symbolSettings.symbolPartyAppearance.value(ddsData.originatorPartyId);
return spa.isVisible;
}
@@ -452,8 +453,8 @@ bool HitlineInfo2SituationMap::visibleByParticipants(const Sim2SituationMap::DDS
bool bParticipant1Exists = true;
bool bParticipant2Exists = true;
bool visi =
m_participant2SituationMap->isParticipantVisible(ddsData.originatorParticipantId(), &bParticipant1Exists) &&
m_participant2SituationMap->isParticipantVisible(ddsData.injuryParticipantId(), &bParticipant2Exists);
m_participant2SituationMap->isParticipantVisible(ddsData.originatorParticipantId, &bParticipant1Exists) &&
m_participant2SituationMap->isParticipantVisible(ddsData.injuryParticipantId, &bParticipant2Exists);
if ((!bParticipant1Exists || !bParticipant2Exists) && bUncertain)
*bUncertain = true;
@@ -462,14 +463,14 @@ bool HitlineInfo2SituationMap::visibleByParticipants(const Sim2SituationMap::DDS
bool HitlineInfo2SituationMap::visibleByBldgHitlines(const Sim2SituationMap::DDS_T &ddsData) const
{
auto itBuildingHit = m_buildingHits.constFind(ddsData.injuryBuildingId());
auto itBuildingHit = m_buildingHits.constFind(ddsData.injuryBuildingId);
if (itBuildingHit != m_buildingHits.constEnd())
{
const QVector<BuildingHit> &bHits = itBuildingHit.value();
qint64 displayLength = m_currentSymbolSettings.symbolSettings.hitLineDisplayLengthMSec;
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
switch (sct)
{
case SpecialChargeType::LRF:
@@ -488,9 +489,9 @@ bool HitlineInfo2SituationMap::visibleByBldgHitlines(const Sim2SituationMap::DDS
for (const BuildingHit &bh : bHits)
{
if (bh.chargeTypeId == ddsData.chargeTypeId() &&
bh.originatorParticipantId == ddsData.originatorParticipantId() &&
ddsData.sampleTime() - displayLength < bh.sampleTime)
if (bh.chargeTypeId == ddsData.chargeTypeId &&
bh.originatorParticipantId == ddsData.originatorParticipantId &&
ddsData.sampleTime - displayLength < bh.sampleTime)
{
DEBUG_LOG(m_logger) << "Not showing participant hitline " << ddsData << " since there is already a hitline on the building";
return false;
@@ -502,10 +503,10 @@ bool HitlineInfo2SituationMap::visibleByBldgHitlines(const Sim2SituationMap::DDS
bool HitlineInfo2SituationMap::visibleByHitLineDisplayLength(const qint64 newPartitionTime, const Sim2SituationMap::DDS_T &ddsData) const
{
const qint64 stateTime = ddsData.sampleTime();
const qint64 stateTime = ddsData.sampleTime;
qint64 displayLength = m_currentSymbolSettings.symbolSettings.hitLineDisplayLengthMSec;
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId());
const SpecialChargeType sct = m_pdmHandler->isSpecialChargeType(ddsData.chargeTypeId);
switch (sct)
{
case SpecialChargeType::LRF:
@@ -9,6 +9,7 @@
#include <Buildings/bld_dtc.h>
#include <ParticipantManagement/ppm.hpp>
#include <ParticipantManagement/ppm_dtc.h>
#include <ParticipantManagement/ppm_participant_info_gui_plugin_interface.h>
@@ -6,7 +6,7 @@
#include <AreaEffectSimulation/Utils/ddsdbconvert.h>
#include <ProjectDataManagement/pdm_dtc.h>
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <SituationMap/Symbology/sidc_codec.h>
@@ -17,6 +17,7 @@ DusMineStateProxy::DusMineStateProxy(QObject *parent)
: BaseClass(parent)
, m_lastDusMineState()
, m_lastItemView()
, m_logger(getLogger("DusMineStateProxy"))
{
}
@@ -91,11 +92,11 @@ bool DusMineStateProxy::handleChanged(const AreaEffectSimulation::DusMineState &
{
Q_UNUSED(modType);
if (ddsData.id() != 0)
if (ddsData.id != 0)
return false;
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << ddsData.id()
<< " ddsData.mines().size() = " << ddsData.mines().size();
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << ddsData.id
<< " ddsData.mines().size() = " << ddsData.mines.size();
if (modType == DataModification::eRemoved)
m_lastDusMineState = AreaEffectSimulation::DusMineState();
@@ -109,11 +110,11 @@ bool DusMineStateProxy::handleChanged(const AreaEffectSimulation::AesItemView &d
{
Q_UNUSED(modType);
if (ddsData.id() != AreaEffectSimulation::AesType::AtMineAreaSingleMines)
if (ddsData.id != static_cast<int>(AreaEffectSimulation::AesType::AtMineAreaSingleMines))
return false;
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << ddsData.id()
<< " ddsData.form().size() = " << ddsData.form().size();
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << ddsData.id
<< " ddsData.form().size() = " << ddsData.form.size();
if (modType == DataModification::eRemoved)
m_lastItemView = AreaEffectSimulation::AesItemView();
@@ -125,7 +126,7 @@ bool DusMineStateProxy::handleChanged(const AreaEffectSimulation::AesItemView &d
bool DusMineStateProxy::publishNewMap()
{
if (m_lastItemView.setId() != m_lastDusMineState.setId())
if (m_lastItemView.setId != m_lastDusMineState.setId)
return false;
const QMap<int32_t, DusMineStateAndPositionData> &mapContVeryNew = getFromDds();
@@ -165,14 +166,14 @@ bool DusMineStateProxy::publishNewMap()
const QMap<int32_t, DusMineStateAndPositionData> DusMineStateProxy::getFromDds()
{
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << m_lastDusMineState.id()
<< " ddsData.mines().size() = " << m_lastDusMineState.mines().size();
TRACE_LOG(m_logger) << Q_FUNC_INFO << " START, ddsData.id()=" << m_lastDusMineState.id
<< " ddsData.mines().size() = " << m_lastDusMineState.mines.size();
QMap<int32_t, DusMineStateAndPositionData> mapCont;
const auto size = m_lastDusMineState.mines().size();
const auto size = m_lastDusMineState.mines.size();
const auto &mines = m_lastDusMineState.mines();
const auto &mines = m_lastDusMineState.mines;
if (m_logger.isDebugEnabled())
{
int idx = 0;
@@ -180,40 +181,40 @@ const QMap<int32_t, DusMineStateAndPositionData> DusMineStateProxy::getFromDds()
{
DEBUG_LOG(m_logger) << Q_FUNC_INFO
<< " idx=" << idx++
<< ", eqId=" << mine.eqId()
<< ", chargeTypeId=" << mine.chargeTypeId();
<< ", eqId=" << mine.eqId
<< ", chargeTypeId=" << mine.chargeTypeId;
}
}
if (size != m_lastItemView.form().size())
if (size != m_lastItemView.form.size())
{
ERROR_LOG(m_logger) << Q_FUNC_INFO << " ddsData.id()=" << m_lastDusMineState.id()
ERROR_LOG(m_logger) << Q_FUNC_INFO << " ddsData.id()=" << m_lastDusMineState.id
<< " size does not match"
<< " ddsData.mines().size() = " << mines.size()
<< " itemView.form().size() = " << m_lastItemView.form().size();
<< " itemView.form().size() = " << m_lastItemView.form.size();
return mapCont;
}
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " ddsData.id()=" << m_lastDusMineState.id()
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " ddsData.id()=" << m_lastDusMineState.id
<< " size ::"
<< " ddsData.mines().size() = " << mines.size()
<< " itemView.form().size() = " << m_lastItemView.form().size();
<< " itemView.form().size() = " << m_lastItemView.form.size();
for (size_t i = 0; i < size; ++i)
{
const AreaEffectSimulation::DusMine &dusMine = mines[i];
const Core::GeoPosition2D &pos = m_lastItemView.form().at(i);
const Core::GeoPosition2D &pos = m_lastItemView.form.at(i);
DusMineStateAndPositionData dmsDdsData(dusMine.eqId(),
{dusMine.chargeTypeId(),0,0},
dusMine.triggered(),
DusMineStateAndPositionData dmsDdsData(dusMine.eqId,
{dusMine.chargeTypeId,0,0},
dusMine.triggered,
pos
);
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " i=" << i << ", id/eqId=" << dusMine.eqId() << ", pos=" << pos;
DEBUG_LOG(m_logger) << Q_FUNC_INFO << " i=" << i << ", id/eqId=" << dusMine.eqId << ", pos=" << pos;
mapCont.insert(dusMine.eqId(), dmsDdsData);
mapCont.insert(dusMine.eqId, dmsDdsData);
}
return mapCont;
@@ -227,7 +228,7 @@ bool DusMineStateProxy::getItemView(AreaEffectSimulation::AesItemView &itemView)
const AreaEffectSimulation::AesItemView &localItemView = m_aesDtc->aesItemView(aesType);
if (localItemView.id() != aesType)
if (localItemView.id != aesType)
return false;
itemView = localItemView;
return true;
@@ -315,10 +316,10 @@ bool MineAreaNull2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, Un
const auto cb = [simIdOut, &umodOut](const DusMineStateAndPositionData &data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_description1 = QString::number(data.id());
umodOut.m_description2 = data.triggered() ? tr("disarmed") : tr("armed");
umodOut.m_description1 = QString::number(data.id);
umodOut.m_description2 = data.triggered ? tr("disarmed") : tr("armed");
return true;
}
return false;
@@ -360,13 +361,13 @@ void MineAreaNull2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation::
{
if (AreaEffectSimulation::AesType::AtMineArea != aesType.underlying())
if (AreaEffectSimulation::AesType::AtMineArea != aesType)
return;
const auto cb = [this](const DDS_TYPE &data) -> bool
{
if (data.isDeleted())
if (data.isDeleted)
return false;
this->updateVisibility(data);
return false;
@@ -384,7 +385,7 @@ bool MineAreaNull2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setVisibility(ObjectAppearance::Tactical, false);
const int32_t simId_eqId = ddsData.id();
const int32_t simId_eqId = ddsData.id;
SymbolData symData;
@@ -396,7 +397,7 @@ bool MineAreaNull2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
SituationMap::Injury injury = SituationMap::Injury::NoInjury;
if (ddsData.triggered())
if (ddsData.triggered)
injury = SituationMap::Injury::TotalKill;
mapObj->setInjury(injury, QColor(Qt::black));
@@ -407,7 +408,7 @@ bool MineAreaNull2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setVisibility(true);
mapObj->setOrigin(Point3D(ddsData.position().lon(), ddsData.position().lat(), .0));
mapObj->setOrigin(Point3D(ddsData.position().lon, ddsData.position().lat, .0));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::number(simId_eqId));
@@ -41,39 +41,31 @@ public:
explicit AesItemProxy(int32_t id = 0,
const AreaEffectSimulation::ChargeStruct &chargeStruct = {-1,0,0},
const Core::GeoPosition2D &form = Core::GeoPosition2D())
: m_id_param(id),
m_chargeStruct(chargeStruct),
m_form_param(form)
: id(id),
chargeStruct(chargeStruct),
m_position(form)
{}
virtual ~AesItemProxy() = default;
void setId(const int32_t &value) { id = value; }
int32_t id() const { return m_id_param; }
void setId(const int32_t &value) { m_id_param = value; }
// Member-based access (mirrors the RTI DDS data structs, whose fields are plain members)
int32_t id{0};
std::string name;
bool isDeleted{false};
EffectStart effectStart;
PartyId partyId;
bool isCentral{false};
AreaEffectSimulation::AesEffectState effectStateId{AreaEffectSimulation::AesEffectState::EsCreated};
AreaEffectSimulation::ChargeStruct chargeStruct;
qint64 effectDuration{-1};
static std::string name() { return std::string(); }
static bool isDeleted() { return false; }
static EffectStart effectStart() { return {}; }
static PartyId partyId() { return {}; }
static bool isCentral() { return false;}
static AreaEffectSimulation::AesEffectState effectStateId() { return AreaEffectSimulation::AesEffectState::EsCreated;}
AreaEffectSimulation::ChargeStruct chargeStruct() const { return m_chargeStruct; }
int chargeTypeId() const { return m_chargeStruct.chargeTypeId(); }
static qint64 effectDuration() { return -1; }
Core::GeoPosition2D position() const { return m_form_param; }
int chargeTypeId() const { return chargeStruct.chargeTypeId; }
Core::GeoPosition2D position() const { return m_position; }
private:
NGL::INGLLogger &m_logger;
int32_t m_id_param;
AreaEffectSimulation::ChargeStruct m_chargeStruct;
Core::GeoPosition2D m_form_param;
Core::GeoPosition2D m_position;
};
@@ -94,17 +86,14 @@ public:
const Core::GeoPosition2D &form = Core::GeoPosition2D()
)
: BaseClass(id, chargeStruct, form),
m_triggered(triggered)
triggered(triggered)
{}
virtual ~DusMineStateAndPositionData() = default;
bool triggered() const { return m_triggered; }
void setTriggered(bool onOff) { m_triggered = onOff; }
private:
bool m_triggered;
void setTriggered(bool onOff) { triggered = onOff; }
bool triggered{false};
};
@@ -150,6 +139,7 @@ protected:
AreaEffectSimulation::DusMineState m_lastDusMineState;
AreaEffectSimulation::AesItemView m_lastItemView;
QMap<int32_t, DusMineStateAndPositionData> m_map;
LOGGER_T m_logger;
QSharedPointer<MineAreaNull2SituationMap> m_mineAreaNull2SituationMap;
};
@@ -7,7 +7,7 @@
#include <AreaEffectSimulation/Utils/ddsdbconvert.h>
#include <ProjectDataManagement/pdm_dtc.h>
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
@@ -102,15 +102,15 @@ bool MineArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dds
mapObj->setVisibility(ObjectAppearance::Tactical, false);
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
{
@@ -133,7 +133,7 @@ bool MineArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dds
}
const QVector<AreaEffectSimulation::Database::AesMineAreaSegment> segments(AreaEffectSimulation::DdsDbConvert::mineAreaSegments(ddsData));
const QVector<QPolygonF> singleSegments(AreaEffectSimulation::Polygons::mineAreaSingleSegments(segments, ddsData.width(), ddsData.isCenterLine()));
const QVector<QPolygonF> singleSegments(AreaEffectSimulation::Polygons::mineAreaSingleSegments(segments, ddsData.width, ddsData.isCenterLine));
QList<int> keysInUse = mapObj->keysInUse();
@@ -208,7 +208,7 @@ bool MineArea2SituationMap::updateGeometry(const AreaEffectSimulation::AesItemVi
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " START";
const PositionCont &posCont = form2PosCont(data.form());
const PositionCont &posCont = form2PosCont(data.form);
@@ -229,12 +229,12 @@ void MineArea2SituationMap::onTriggeredImpactsChanged(const AreaEffectSimulation
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
const int32_t simId = data.aesItemId();
const int32_t simId = data.aesItemId;
if (simId < 0)
return;
if (data.aesTypeId() != AreaEffectSimulation::AesType::AtMineAreaSingleMines)
if (data.aesTypeId != AreaEffectSimulation::AesType::AtMineAreaSingleMines)
return;
@@ -261,15 +261,15 @@ void MineArea2SituationMap::onTriggeredImpactsChanged(const AreaEffectSimulation
void MineArea2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::AesItemView &data, DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " data.aesTypeId()=" << data.aesTypeId() << " modType=" << modType;
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " data.aesTypeId()=" << data.aesTypeId << " modType=" << modType;
const int32_t simId = data.aesItemId();
const int32_t simId = data.aesItemId;
if (simId < 0)
return;
{
if (data.aesTypeId() == AreaEffectSimulation::AesType::AtMineArea)
if (data.aesTypeId == AreaEffectSimulation::AesType::AtMineArea)
{
RefPointer<MAP_T> mapObj = this->getMapObjectOfSimId(simId);
@@ -287,7 +287,7 @@ void MineArea2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::Aes
if (data.aesTypeId() != AreaEffectSimulation::AesType::AtMineAreaSingleMines)
if (data.aesTypeId != AreaEffectSimulation::AesType::AtMineAreaSingleMines)
return;
if (modType == DataModification::eRemoved)
@@ -349,8 +349,8 @@ bool MineArea2SituationMap::completeMissingData(int32_t simId,
const int32_t impactCount = dataTriggeredImpacts.impactCount();
const int32_t formSize = dataAesItemView.form().size();
const int32_t impactCount = dataTriggeredImpacts.impactCount;
const int32_t formSize = dataAesItemView.form.size();
if (impactCount != formSize)
{
@@ -391,7 +391,7 @@ bool MineArea2SituationMap::updateMines(const int32_t simId)
AreaEffectSimulation::TriggeredImpacts dataTriggeredImpacts;
AreaEffectSimulation::AesItemView dataAesItemView;
bool bothTopicsMatch = completeMissingData(simId, dataTriggeredImpacts, dataAesItemView);
const PositionCont &posCont = form2PosCont(dataAesItemView.form());
const PositionCont &posCont = form2PosCont(dataAesItemView.form);
@@ -403,7 +403,7 @@ bool MineArea2SituationMap::updateMines(const int32_t simId)
posContActivated.reserve(posCont.size());
posContDeActivated.reserve(posCont.size());
const auto &bitField = dataTriggeredImpacts.bitfield();
const auto &bitField = dataTriggeredImpacts.bitfield;
@@ -5,7 +5,7 @@
#include <AreaEffectSimulation/Utils/polygons.h>
#include <AreaEffectSimulation/Utils/ddsdbconvert.h>
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
namespace SituationMap
@@ -37,7 +37,7 @@ bool MineCorridor2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
QColor color(Qt::gray);
@@ -46,7 +46,7 @@ bool MineCorridor2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->rFillStyle().setFillColor(color);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
AreaEffectSimulation::AesItemView itemView;
@@ -497,7 +497,7 @@ bool MountingPointToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
const InfrastructureManagement::MountingPointType mpType = data.type();
if (mpType.underlying() == InfrastructureManagement::MountingPointType::BuildingNetworkSwitch)
if (mpType == InfrastructureManagement::MountingPointType::BuildingNetworkSwitch)
return true;
@@ -507,26 +507,26 @@ bool MountingPointToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
switch (m_resourceManagerMode) {
case ResourceManagerMode::RMM_PlanActivityView:
return ( (mpType.underlying() == InfrastructureManagement::MountingPointType::BuildingControlUnit) ||
(data.aimState().underlying() == InfrastructureManagement::MountingPointState::Idle)
return ( (mpType == InfrastructureManagement::MountingPointType::BuildingControlUnit) ||
(data.aimState() == InfrastructureManagement::MountingPointState::Idle)
);
break;
case ResourceManagerMode::RMM_PlanDefinitionView:
return (mpType.underlying() == InfrastructureManagement::MountingPointType::BuildingControlUnit);
return (mpType == InfrastructureManagement::MountingPointType::BuildingControlUnit);
break;
case ResourceManagerMode::RMM_ComponentMonitor:
return
! (data.hasAssociatedAsset() &&
(
(mpType.underlying() == InfrastructureManagement::MountingPointType::OutdoorIPS) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::IndoorIPS) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::IndoorCamera) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::BuildingSensorModule)
(mpType == InfrastructureManagement::MountingPointType::OutdoorIPS) ||
(mpType == InfrastructureManagement::MountingPointType::IndoorIPS) ||
(mpType == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType == InfrastructureManagement::MountingPointType::IndoorCamera) ||
(mpType == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType == InfrastructureManagement::MountingPointType::EffectGenerationControlUnit) ||
(mpType == InfrastructureManagement::MountingPointType::BuildingSensorModule)
)
);
break;
@@ -546,8 +546,8 @@ bool MountingPointToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
if ((mpType.underlying() == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::AnnouncementUnit))
if ((mpType == InfrastructureManagement::MountingPointType::OutdoorCamera) ||
(mpType == InfrastructureManagement::MountingPointType::AnnouncementUnit))
return data.hasAssociatedAsset() == false;
return true;
@@ -574,7 +574,7 @@ bool MountingPointToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsDat
const Core::GeoPosition &geoPos = ddsData.geoPosition();
mapObj->setOrigin(Point3D(geoPos.lon(), geoPos.lat(), geoPos.z()));
mapObj->setOrigin(Point3D(geoPos.lon, geoPos.lat, geoPos.z));
QString attribValue;
@@ -608,8 +608,8 @@ bool MountingPointToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsDat
InfrastructureManagement::MountingPoint::MpColor col = InfrastructureManagement::MountingPoint::MpColor::GRAY;
const InfrastructureManagement::MountingPointType mpType = ddsData.type();
if ( (mpType.underlying() == InfrastructureManagement::MountingPointType::OutdoorIPS) ||
(mpType.underlying() == InfrastructureManagement::MountingPointType::IndoorIPS) )
if ( (mpType == InfrastructureManagement::MountingPointType::OutdoorIPS) ||
(mpType == InfrastructureManagement::MountingPointType::IndoorIPS) )
{
col = InfrastructureManagement::MountingPoint::MpColor::GRAY;
} else {
@@ -621,7 +621,7 @@ bool MountingPointToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsDat
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " componentStateOfHostname: '" << hostname << "' -> " << stateOut;
switch (stateOut.underlying()) {
switch (stateOut) {
case ComponentMonitor::ComponentState::Undefined:
if (QGuiApplication::keyboardModifiers().testFlag(Qt::ControlModifier))
col = InfrastructureManagement::MountingPoint::MpColor::ORANGE;
@@ -810,9 +810,9 @@ std::string MountingPointToMap::mountingPointHostname(const InfrastructureManage
const int assAssetId = mountingPoint.associatedAssetId();
const InfrastructureManagement::InstrumentationAsset &iAsset = m_ismDtc->instrumentationAsset(assAssetId);
if (iAsset.id() == assAssetId)
if (iAsset.id == assAssetId)
{
const std::string &hostname = iAsset.hostname();
const std::string &hostname = iAsset.hostname;
if (!hostname.empty())
return hostname;
}
@@ -827,9 +827,9 @@ bool MountingPointToMap::componentStateOfHostname(const std::string &hostname, C
const auto cb = [hostname, &stateOut](const ComponentMonitor::ComponentStatus &ddsData) -> bool
{
if (ddsData.hostname().compare(hostname) == 0)
if (ddsData.hostname.compare(hostname) == 0)
{
stateOut = ddsData.state();
stateOut = ddsData.state;
return true;
}
return false;
@@ -865,7 +865,7 @@ bool MountingPointToMap::onComponentStatusChanged(const ComponentMonitor::Compon
const std::string &hostname = data.hostname();
const std::string &hostname = data.hostname;
if (hostname.empty())
return false;
@@ -13,7 +13,7 @@
#include <InfrastructureManagement/ism_data_plugin_interface.h>
#include <InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
#include <ComponentMonitor/cmo_data_plugin_interface.h>
#include <InfrastructureManagement/ism_mounting_point.h>
#include <InfrastructureManagement/Shared/ism_mounting_point.h>
#include <MapObjects/geo_image.h>
#include <MapObjects/map_object_attributes.h>
@@ -26,7 +26,7 @@ namespace SituationMap
int32_t MSEBridgeToMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool MSEBridgeToMap::init(PluginProvider *pluginProvider)
@@ -83,15 +83,15 @@ bool MSEBridgeToMap::isElapsed(const InfrastructureManagement::MainStructureElem
if (BaseClass::isElapsed(ddsData))
return true;
if (ddsData.structureElementTypeId() != InfrastructureManagement::StructureElementType::Bridge)
if (ddsData.structureElementTypeId != InfrastructureManagement::StructureElementType::Bridge)
return true;
const qint32 mseId = ddsData.id();
const qint32 mseId = ddsData.id;
const InfrastructureManagement::MainFootprint &mainFootprint = m_ismDtc->mainFootprint(mseId);
if (mainFootprint.elements().size() < 4)
if (mainFootprint.elements.size() < 4)
{
ERROR_LOG(m_logger) << LOGFUNCTION << " mainFootprint with id=" << mseId << " is not sufficiant."
<< " mainFootprint.elements().size() = " << mainFootprint.elements().size();
<< " mainFootprint.elements().size() = " << mainFootprint.elements.size();
if (!m_mseIdWithoutValidFootprint.contains(mseId))
{
INFO_LOG(m_logger) << LOGFUNCTION << " Save for future mainFootPrintChanged..."
@@ -132,10 +132,10 @@ bool MSEBridgeToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMapObj
const auto cb = [this, simIdOut, &umodOut](const InfrastructureManagement::MainStructureElement & data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_description1 = m_ismDtc->getBuildingDisplayName(data);
umodOut.m_participantData.m_typeName = InfrastructureManagement::toString(data.structureElementTypeId());
umodOut.m_participantData.m_typeName = InfrastructureManagement::toString(data.structureElementTypeId);
return true;
}
return false;
@@ -176,15 +176,15 @@ void MSEBridgeToMap::onMainFootprintChanged(const InfrastructureManagement::Main
{
if (modType == DataModification::eRemoved)
return;
if (data.elements().size() < 4)
if (data.elements.size() < 4)
return;
const int32_t mseId = data.id();
const int32_t mseId = data.id;
if (m_mseIdWithoutValidFootprint.contains(mseId))
{
const InfrastructureManagement::MainStructureElement &mseData= m_ismDtc->mainStructureElement(mseId);
if (mseData.id() == mseId)
if (mseData.id == mseId)
{
m_mseIdWithoutValidFootprint.removeAll(mseId);
onMainStructureElementChanged(mseData, DataModification::eAdded);
@@ -196,10 +196,10 @@ bool MSEBridgeToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
RefPointer<MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " id=" << ddsData.id()
<< " name=" << ddsData.name()
<< " geoPosition=" << ddsData.geoPosition()
<< " angle=" << ddsData.angle();
<< " id=" << ddsData.id
<< " name=" << ddsData.name
<< " geoPosition=" << ddsData.geoPosition
<< " angle=" << ddsData.angle;
mapObj->setVisibility(ObjectAppearance::Tactical, false);
@@ -226,16 +226,16 @@ bool MSEBridgeToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
const InfrastructureManagement::MainFootprint &mainFootprint = m_ismDtc->mainFootprint(bridgeId);
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
<< " id=" << ddsData.id()
<< " name=" << ddsData.name()
<< " mainFootprint.elements().size()=" << mainFootprint.elements().size();
<< " id=" << ddsData.id
<< " name=" << ddsData.name
<< " mainFootprint.elements().size()=" << mainFootprint.elements.size();
relPositions2D.reserve(mainFootprint.elements().size());
relPositions2D.reserve(mainFootprint.elements.size());
for (const InfrastructureManagement::FootprintElement &element : mainFootprint.elements())
for (const InfrastructureManagement::FootprintElement &element : mainFootprint.elements)
{
const auto &relPos = element.relPosition();
relPositions2D += QPointF(relPos.offsetX(), relPos.offsetY());
const auto &relPos = element.relPosition;
relPositions2D += QPointF(relPos.offsetX, relPos.offsetY);
}
}
DEBUG_LOG(m_logger) << "footprint = " << relPositions2D;
@@ -246,9 +246,9 @@ bool MSEBridgeToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
PositionCont absPositionsGeo;
const Core::GeoPosition &geoPosition = ddsData.geoPosition();
const double angleRad = ddsData.angle() * LtsCoordTrans::deg2rad();
const QPointF referencePointGeo(geoPosition.lon(), geoPosition.lat());
const Core::GeoPosition &geoPosition = ddsData.geoPosition;
const double angleRad = ddsData.angle * LtsCoordTrans::deg2rad();
const QPointF referencePointGeo(geoPosition.lon, geoPosition.lat);
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(referencePointGeo);
@@ -289,7 +289,7 @@ bool MSEBridgeToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
switch(m_ismDtc->getBridgeStatus(ddsData.id()).underlying())
switch(m_ismDtc->getBridgeStatus(ddsData.id))
{
case InfrastructureManagement::BridgeStatus::Broken:
{
@@ -330,7 +330,7 @@ bool MSEBridgeToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
mapObj->setLineStyle(ls);
mapObj->setFillStyle(fs);
mssd.heading = (ddsData.angle()*-1)+90;
mssd.heading = (ddsData.angle*-1)+90;
mapObj->setModelSceneSymbolData(mssd);
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
@@ -135,11 +135,11 @@ bool MSEPointToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMapObje
const auto cb = [simIdOut, &umodOut](const InfrastructureManagement::MainStructureElement & data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_description1 = QString::fromStdString(data.name());
umodOut.m_participantData.m_typeName = InfrastructureManagement::toString(data.structureElementTypeId());
umodOut.m_description1 = QString::fromStdString(data.name);
umodOut.m_participantData.m_typeName = InfrastructureManagement::toString(data.structureElementTypeId);
return true;
}
return false;
@@ -159,10 +159,10 @@ bool MSEPointToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
if (BaseClass::isElapsed(data))
return true;
if (data.isDeleted())
if (data.isDeleted)
return true;
if (data.structureElementTypeId() != InfrastructureManagement::StructureElementType::ApproachingPoint)
if (data.structureElementTypeId != InfrastructureManagement::StructureElementType::ApproachingPoint)
return true;
return false;
@@ -170,23 +170,23 @@ bool MSEPointToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
int32_t MSEPointToMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool MSEPointToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, RefPointer<Sim2SituationMap::MAP_T> mapObj)
{
TRACE_LOG(m_logger) << LOGFUNCTION
<< ", id " << ddsData.id()
<< ", name = " << ddsData.name();
<< ", id " << ddsData.id
<< ", name = " << ddsData.name;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
TextStyle textStyle;
textStyle.setSize(10);
if (ddsData.structureElementTypeId() == InfrastructureManagement::StructureElementType::ApproachingPoint)
if (ddsData.structureElementTypeId == InfrastructureManagement::StructureElementType::ApproachingPoint)
{
textStyle.setTextColor(Qt::yellow);
mapObj->setProxyImage(renderApproachingPoint(Qt::yellow), QSize(50, 50));
@@ -195,8 +195,8 @@ bool MSEPointToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, Re
mapObj->setTextStyle(textStyle);
const Core::GeoPosition &geoPos = ddsData.geoPosition();
mapObj->setOrigin(Point3D(geoPos.lon(), geoPos.lat(), geoPos.z()));
const Core::GeoPosition &geoPos = ddsData.geoPosition;
mapObj->setOrigin(Point3D(geoPos.lon, geoPos.lat, geoPos.z));
return true;
}
@@ -67,7 +67,7 @@ void NContamination2SituationMap::updateAllSpheres3D(qint64 newPartitionTime)
const int simId = it.key();
const AreaEffectSimulation::NContamination &nCont = m_aesDtc->nContamination(simId);
if (nCont.id() != simId)
if (nCont.id != simId)
continue;
if (updateSphere3D(mapObj, nCont, newPartitionTime))
@@ -80,18 +80,18 @@ void NContamination2SituationMap::updateAllSpheres3D(qint64 newPartitionTime)
bool NContamination2SituationMap::updateSphere3D(RefPointer<Sim2SituationMap::MAP_T> mapObj, const AreaEffectSimulation::NContamination &data, qint64 newPartitionTime)
{
const int32_t simId = data.id();
const int32_t simId = data.id;
if (!mapObj)
return false;
bool bUpdateRequired = false;
const bool bDesiredNewState = (data.effectStateId().underlying() == AreaEffectSimulation::AesEffectState::EsActivated) &&
((newPartitionTime - data.sampleTime() < 5000));
const bool bDesiredNewState = (data.effectStateId == AreaEffectSimulation::AesEffectState::EsActivated) &&
((newPartitionTime - data.sampleTime < 5000));
TRACE_LOG(m_logger) << LOGFUNCTION << ", START" << " simId = " << simId
<< ", sampleTime " << data.sampleTime()
<< ", sampleTime " << data.sampleTime
<< ", bDesiredNewState " << bDesiredNewState;
@@ -112,9 +112,9 @@ bool NContamination2SituationMap::updateSphere3D(RefPointer<Sim2SituationMap::MA
{
DEBUG_LOG(m_logger) << LOGFUNCTION << ", START ADD " << " simId = " << simId;
const Core::GeoPosition2D &geoPos = data.impactPosition();
Point3D markerOrigin(geoPos.lon(), geoPos.lat(), 0);
mapObj->setDetonation(markerOrigin, data.impactRadius());
const Core::GeoPosition2D &geoPos = data.impactPosition;
Point3D markerOrigin(geoPos.lon, geoPos.lat, 0);
mapObj->setDetonation(markerOrigin, data.impactRadius);
bUpdateRequired = true;
}
@@ -131,18 +131,18 @@ bool NContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
if (m_objFac.map() && (m_objFac.map()->mode() == Mode::Mode_3D))
updateSphere3D(mapObj, ddsData, m_pluginProvider->partitionTime());
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtNContamination, itemView))
this->updateGeometry(itemView, mapObj);
@@ -162,8 +162,8 @@ bool NContamination2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_
}
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition();
mapObj->setImpactOrigin(Point3D(impactPos2D.lon(), impactPos2D.lat(), 0.0));
const Core::GeoPosition2D& impactPos2D = ddsData.impactPosition;
mapObj->setImpactOrigin(Point3D(impactPos2D.lon, impactPos2D.lat, 0.0));
updateVisibility(ddsData, mapObj);
@@ -50,21 +50,21 @@ void OffRoute2SituationMap::onPartitionTimeChanged(qint64 newPartitionTime)
void OffRoute2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::AesItemView &data, DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START, " << " data.aesTypeId()=" << data.aesTypeId() << " modType=" << modType;
TRACE_LOG(m_logger) << LOGFUNCTION << " START, " << " data.aesTypeId()=" << data.aesTypeId << " modType=" << modType;
if (data.aesTypeId() != AreaEffectSimulation::AesType::AtOffRouteMineSecondary)
if (data.aesTypeId != AreaEffectSimulation::AesType::AtOffRouteMineSecondary)
return;
const int32_t simId = data.aesItemId();
const int32_t simId = data.aesItemId;
if (simId < 0)
return;
updateSecondary(simId);
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " data.aesTypeId()=" << data.aesTypeId() << " modType=" << modType;
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " data.aesTypeId()=" << data.aesTypeId << " modType=" << modType;
}
void OffRoute2SituationMap::updateAllDetonationSpheres(qint64 newPartitionTime)
@@ -91,7 +91,7 @@ void OffRoute2SituationMap::updateAllDetonationSpheres(qint64 newPartitionTime)
const int simId = it.key();
const AreaEffectSimulation::OffRouteMine &offRouteMine = m_aesDtc->offRouteMine(simId);
if (offRouteMine.id() != simId)
if (offRouteMine.id != simId)
continue;
if (updateDetonationSphere3D(mapObj, offRouteMine, newPartitionTime))
@@ -104,17 +104,17 @@ void OffRoute2SituationMap::updateAllDetonationSpheres(qint64 newPartitionTime)
bool OffRoute2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMap::MAP_T> mapObj, const AreaEffectSimulation::OffRouteMine &trap, qint64 newPartitionTime)
{
const int32_t simId = trap.id();
const int32_t simId = trap.id;
if (!mapObj)
return false;
bool bUpdateRequired = false;
const bool bDesiredNewState = trap.triggered() && ((newPartitionTime - trap.sampleTime() < 5000));
const bool bDesiredNewState = trap.triggered && ((newPartitionTime - trap.sampleTime < 5000));
TRACE_LOG(m_logger) << LOGFUNCTION << ", START" << " simId = " << simId
<< ", sampleTime " << trap.sampleTime()
<< ", sampleTime " << trap.sampleTime
<< ", bDesiredNewState " << bDesiredNewState;
@@ -191,15 +191,15 @@ bool OffRoute2SituationMap::updateDetonationSphere3D(RefPointer<Sim2SituationMap
{
FATAL_LOG(m_logger) << LOGFUNCTION << ", START ADD " << " simId = " << simId;
const Core::GeoPosition2D &geoPos = trap.area().cornerBottomLeft();
Point3D markerOrigin(geoPos.lon(), geoPos.lat(), 0);
const Core::GeoPosition2D &geoPos = trap.area.cornerBottomLeft;
Point3D markerOrigin(geoPos.lon, geoPos.lat, 0);
VirtualMine::SceneSymbolData ssData;
const QColor &majorColor = mapObj->majorColor();
ssData.color = majorColor;
ssData.radius = std::max( (trap.impactRadius().is_set() ? trap.impactRadius().get() : 1) , 1.0);
ssData.radius = std::max( (trap.impactRadius.has_value() ? trap.impactRadius.get() : 1) , 1.0);
@@ -244,7 +244,7 @@ bool OffRoute2SituationMap::updateSecondary(int32_t simId, bool bUpdateJust3DPar
const AreaEffectSimulation::OffRouteMine &trap = m_aesDtc->offRouteMine(simId);
if (trap.chargeStruct().chargeTypeId() == s_offRouteMine2)
if (trap.chargeStruct.chargeTypeId == s_offRouteMine2)
{
AreaEffectSimulation::AesItemView dataAesItemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtOffRouteMineSecondary, dataAesItemView))
@@ -255,15 +255,15 @@ bool OffRoute2SituationMap::updateSecondary(int32_t simId, bool bUpdateJust3DPar
}
if ((dataAesItemView.aesItemId() == simId) &&
(trap.id() == simId) &&
trap.triggered())
if ((dataAesItemView.aesItemId == simId) &&
(trap.id == simId) &&
trap.triggered)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " setSubsidiaryLine";
VirtualMine::OptionalData optData;
optData.closed = true;
mapObj->setSubsidiaryLine(0,
form2PosCont(dataAesItemView.form()), optData);
form2PosCont(dataAesItemView.form), optData);
} else {
DEBUG_LOG(m_logger) << LOGFUNCTION << " simId = " << simId << " removeSubsidiaryLine";
mapObj->removeSubsidiaryLine(0);
@@ -276,7 +276,7 @@ bool OffRoute2SituationMap::updateSecondary(int32_t simId, bool bUpdateJust3DPar
}
TRACE_LOG(m_logger) << LOGFUNCTION << ", END" << " simId = " << simId
<< " trap.triggered(" << trap.triggered();
<< " trap.triggered(" << trap.triggered;
return true;
}
@@ -289,15 +289,15 @@ bool OffRoute2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dds
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, AreaEffectSimulation::AesType::AtOffRouteMine, itemView))
{
@@ -335,17 +335,17 @@ bool OffRoute2SituationMap::isVisibleByFilter(const Aes2SituationMap::DDS_TYPE &
if (!m_displayFilter)
return true;
const auto es = data.effectStart().is_set() ? data.effectStart().get() : 0;
const auto partyId = data.partyId().is_set() ? data.partyId().get() : -1;
const auto es = data.effectStart.has_value() ? data.effectStart.get() : 0;
const auto partyId = data.partyId.has_value() ? data.partyId.get() : -1;
bool isVisibleByFilter = partyId > 0 ? FilterClass::m_currentSymbolSettings.symbolSettings.symbolPartyAppearance.value(partyId).isVisible : true;
if (isVisibleByFilter)
isVisibleByFilter = m_displayFilter->isVisible(AreaEffectSimulation::AesType::AtMineArea,
data.effectStateId(),
data.chargeStruct().chargeTypeId(),
data.effectStateId,
data.chargeStruct.chargeTypeId,
partyId,
data.isCentral(),
data.isCentral,
es,
data.effectDuration(),
data.effectDuration,
m_pluginProvider->partitionTime());
return isVisibleByFilter;
@@ -353,14 +353,14 @@ bool OffRoute2SituationMap::isVisibleByFilter(const Aes2SituationMap::DDS_TYPE &
void OffRoute2SituationMap::onAesDisplayFilterChanged(AreaEffectSimulation::AesType aesType)
{
if ((AreaEffectSimulation::AesType::AtOffRouteMine != aesType.underlying()) &&
(AreaEffectSimulation::AesType::AtMineArea != aesType.underlying()))
if ((AreaEffectSimulation::AesType::AtOffRouteMine != aesType) &&
(AreaEffectSimulation::AesType::AtMineArea != aesType))
return;
const auto cb = [this](const DDS_TYPE &data) -> bool
{
if (data.isDeleted())
if (data.isDeleted)
return false;
this->updateVisibility(data);
return false;
@@ -3,6 +3,8 @@
#include "participant_to_map.h"
#include <utility>
#include <ParticipantManagement/ppm_dtc.h> // complete Dtc type for &Dtc::typeChanged (signal-pointer connect)
#include <GuezIedManagement/gim_dtc.h> // complete GuezIedManagement Dtc type + Ied struct
#include "pdm_handler.h"
#include <Map/map.h>
@@ -33,19 +35,19 @@ static QString participantToString(const ParticipantManagement::Participant &dat
{
QString str;
str.append(QStringLiteral("participantId=%1").arg(data.id()));
str.append(QStringLiteral(", symbol=%1").arg(QString::fromStdString(data.symbol())));
str.append(QStringLiteral(", typeId=%1").arg(data.typeId()));
str.append(QStringLiteral(", designator=%1").arg(QString::fromStdString(data.designator())));
str.append(QStringLiteral(", tacticalIdentifier=%1").arg(QString::fromStdString(data.tacticalIdentifier())));
str.append(QStringLiteral("participantId=%1").arg(data.id));
str.append(QStringLiteral(", symbol=%1").arg(QString::fromStdString(data.symbol)));
str.append(QStringLiteral(", typeId=%1").arg(data.typeId));
str.append(QStringLiteral(", designator=%1").arg(QString::fromStdString(data.designator)));
str.append(QStringLiteral(", tacticalIdentifier=%1").arg(QString::fromStdString(data.tacticalIdentifier)));
return str;
}
static bool hasGeoPositionNaN(const Core::GeoPosition &geoPos)
{
return std::isnan(geoPos.lat()) ||
std::isnan(geoPos.lon()) ||
std::isnan(geoPos.z());
return std::isnan(geoPos.lat) ||
std::isnan(geoPos.lon) ||
std::isnan(geoPos.z);
}
@@ -73,7 +75,7 @@ Participant2SituationMap::~Participant2SituationMap()
int32_t Participant2SituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool Participant2SituationMap::init(LayerFactory *layerFactory,
@@ -151,13 +153,13 @@ bool Participant2SituationMap::run()
m_ppmDtc->bites([this](const ParticipantManagement::Bite & data)
{
if (data.biteErrors().size() > 0)
m_hasBiteError.insert(data.equipmentNumber());
if (data.biteErrors.size() > 0)
m_hasBiteError.insert(data.equipmentNumber);
});
m_ppmDtc->dynamicParticipantDatas([this](const ParticipantManagement::DynamicParticipantData & data)
{
m_participantDynamicData.insert(data.participantId(), data);
m_participantDynamicData.insert(data.participantId, data);
});
m_ppmDtc->participants([this](const ParticipantManagement::Participant & data)
@@ -321,34 +323,34 @@ bool Participant2SituationMap::unifiedMapObjectData(UniqueMapId uniqueMapId, Uni
umodOut = UnifiedMapObjectData();
const ParticipantManagement::Participant &particpantData = it.value();
if (particpantData.equipmentNumber().is_set())
umodOut.m_equipmentNumber = particpantData.equipmentNumber().get();
umodOut.m_participantData.m_participantId = particpantData.id();
umodOut.m_participantData.m_typeId = particpantData.typeId();
umodOut.m_participantData.m_typeName = QString::fromStdString(m_ppmDtc->type(particpantData.typeId()).name());
const auto itDynData = m_participantDynamicData.find(particpantData.id());
if (particpantData.equipmentNumber.has_value())
umodOut.m_equipmentNumber = particpantData.equipmentNumber.get();
umodOut.m_participantData.m_participantId = particpantData.id;
umodOut.m_participantData.m_typeId = particpantData.typeId;
umodOut.m_participantData.m_typeName = QString::fromStdString(m_ppmDtc->type(particpantData.typeId).name);
const auto itDynData = m_participantDynamicData.find(particpantData.id);
if (itDynData != m_participantDynamicData.end())
{
const auto &dynData = itDynData.value();
if (dynData.stateHistory().size() != 0)
if (dynData.stateHistory.size() != 0)
{
const ParticipantManagement::Type type = m_ppmDtc->type(particpantData.typeId());
const ParticipantManagement::TypeClass typeClass = type.typeClass();
const ParticipantManagement::Type type = m_ppmDtc->type(particpantData.typeId);
const ParticipantManagement::TypeClass typeClass = type.typeClass;
const ProjectDataManagement::VulnerabilityClass vc = typeClass == ParticipantManagement::TypeClass::Human ?
ProjectDataManagement::VulnerabilityClass::SoldierInjuries :
ProjectDataManagement::VulnerabilityClass::VehicleDamages;
ProjectDataManagement::VulnerabilityClass::VulnerabilityClass_SoldierInjuries :
ProjectDataManagement::VulnerabilityClass::VulnerabilityClass_VehicleDamages;
const ParticipantManagement::StateInformation &lastState = m_ppmDtc->youngestStateInformation(dynData.stateHistory());
const ProjectDataManagement::VulnerabilityState &vulState = lastState.vulnerabilityState();
umodOut.m_participantData.m_vulnerabilityState = vulState.underlying();
const ParticipantManagement::StateInformation &lastState = m_ppmDtc->youngestStateInformation(dynData.stateHistory);
const ProjectDataManagement::VulnerabilityState &vulState = lastState.vulnerabilityState;
umodOut.m_participantData.m_vulnerabilityState = static_cast<int>(vulState);
umodOut.m_participantData.m_vulnerabilityString = ProjectDataManagement::toString(vulState, vc);
}
}
umodOut.m_partyId = particpantData.partyId();
umodOut.m_partyId = particpantData.partyId;
umodOut.m_description1 = QString::fromStdString(particpantData.designator());
umodOut.m_description2 = QString::fromStdString(particpantData.tacticalIdentifier());
umodOut.m_description1 = QString::fromStdString(particpantData.designator);
umodOut.m_description2 = QString::fromStdString(particpantData.tacticalIdentifier);
RefPointer<SituationMap::Participant> mapObj = this->getMapObjectOfUniqueMapId(uniqueMapId);
if (mapObj.valid())
@@ -420,7 +422,7 @@ void Participant2SituationMap::onPartitionTimeChanged(qint64 newPartitionTime)
for (const InternalPosition &pos : std::as_const(m_participantPositions))
{
if (LtsUtils::isPositionTimeOutdated(newPartitionTime, pos.sampleTime()))
handleSymbolAppearanceSettingsParticipant(pos.participantId());
handleSymbolAppearanceSettingsParticipant(pos.participantId);
}
@@ -486,11 +488,11 @@ void Participant2SituationMap::onTypesChanged(const ParticipantManagement::Type
{
if (modType == DataModification::eRemoved)
{
m_types.remove(data.id());
m_types.remove(data.id);
return;
}
m_types[data.id()] = data;
m_types[data.id] = data;
updateHierarchyLevels();
}
@@ -503,7 +505,7 @@ void Participant2SituationMap::updateHierarchyLevels()
{
std::set<qint32> hLevels;
for (const ParticipantManagement::Type &type : std::as_const(m_types))
hLevels.insert(type.hierarchyLevel());
hLevels.insert(type.hierarchyLevel);
RenderingMode renderingMode = m_layerFactory->participantLayerRenderingMode();
@@ -549,16 +551,16 @@ void Participant2SituationMap::onParticipantChanged(const ParticipantManagement:
DataModification modType)
{
DEBUG_LOG(m_logger) << "onParticipantChanged: " << data;
updateContainer(m_participants, data, data.id(), modType);
checkForUnknownOriginatorsParticipant(data.id());
updateContainer(m_participants, data, data.id, modType);
checkForUnknownOriginatorsParticipant(data.id);
if (handleChanged(data, modType) && modType != DataModification::eRemoved)
updateParticipantPosition(data.id());
updateParticipantPosition(data.id);
const ParticipantManagement::ParticipantData &ppData = m_ppmDtc->convertParticipantToParticipantData(data);
const ParticipantManagement::Type &ppType = m_ppmDtc->type(ppData.typeId());
const QJsonObject typeProperties(QJsonDocument::fromJson(QByteArray::fromStdString(ppType.properties())).object());
updateContainer(m_participantsWithProperties, typeProperties[QStringLiteral("isArtillery")].toBool(false), data.id(), modType);
const ParticipantManagement::Type &ppType = m_ppmDtc->type(ppData.typeId);
const QJsonObject typeProperties(QJsonDocument::fromJson(QByteArray::fromStdString(ppType.properties)).object());
updateContainer(m_participantsWithProperties, typeProperties[QStringLiteral("isArtillery")].toBool(false), data.id, modType);
}
@@ -573,14 +575,14 @@ void Participant2SituationMap::onPositionChanged(const ParticipantManagement::Pa
if(m_ppmDtc != nullptr)
{
auto participant = m_ppmDtc.get()->participant(data.participantId());
if(participant.equipmentNumber().is_set())
auto participant = m_ppmDtc.get()->participant(data.participantId);
if(participant.equipmentNumber.has_value())
{
if(participant.equipmentNumber().get() == 1)
if(participant.equipmentNumber.get() == 1)
{
DEBUG_LOG(m_logger) << "ownPositionChanged2!!!";
const Point3D newPos(data.pos().lon(), data.pos().lat(), data.pos().z());
emit participantOwnPositionChanged(newPos, data.sampleTime());
const Point3D newPos(data.pos.lon, data.pos.lat, data.pos.z);
emit participantOwnPositionChanged(newPos, data.sampleTime);
return;
}
@@ -597,22 +599,22 @@ void Participant2SituationMap::onPositionChanged(const ParticipantManagement::Pa
}
InternalPosition pos;
pos.participantId(data.participantId());
pos.positionLeader(data.pos());
pos.sampleTimeLeader(data.sampleTime());
pos.reportingSource = data.reportingSource();
pos.participantId = data.participantId;
pos.positionLeader = data.pos;
pos.sampleTimeLeader = data.sampleTime;
pos.reportingSource = data.reportingSource;
pos.isUnit = false;
if (data.mountedOn().is_set() && data.mountedOn().get() > 0)
if (data.mountedOn.has_value() && data.mountedOn.get() > 0)
pos.bIsMountedOn = true;
if (data.mountedParticipants().is_set() && data.mountedParticipants().get().size() > 0)
if (data.mountedParticipants.has_value() && data.mountedParticipants.get().size() > 0)
pos.bHasMountedParticipants = true;
updateContainer(m_participantPositions, std::move(pos), data.participantId(), modType);
updateParticipantPosition(data.participantId());
updateContainer(m_participantPositions, std::move(pos), data.participantId, modType);
updateParticipantPosition(data.participantId);
}
void Participant2SituationMap::onUnitPositionChanged(const ParticipantManagement::UnitPosition &data,
@@ -629,7 +631,7 @@ void Participant2SituationMap::onUnitPositionChanged(const ParticipantManagement
}
#endif
InternalPosition pos(data, m_bShowCenterPositions);
updateContainer(m_participantPositions, pos, data.participantId(), modType);
updateContainer(m_participantPositions, pos, data.participantId, modType);
updateParticipantPosition(pos);
}
@@ -645,11 +647,11 @@ void Participant2SituationMap::updateParticipantPosition(int participantId, bool
void Participant2SituationMap::updateParticipantPosition(const InternalPosition &pos, bool bHandleSymbolAppearanceSettingsParticipant)
{
const auto it = m_simId2UniqueMapId.constFind(pos.participantId());
const auto it = m_simId2UniqueMapId.constFind(pos.participantId);
if (it == m_simId2UniqueMapId.constEnd())
return;
const auto participantId = pos.participantId();
const auto participantId = pos.participantId;
const UniqueMapId uniqueMapId = it.value();
RefPointer<Sim2SituationMap::MAP_T> mapObj = m_objFac.get<Sim2SituationMap::MAP_T>(uniqueMapId);
if (!mapObj)
@@ -663,8 +665,8 @@ void Participant2SituationMap::updateParticipantPosition(const InternalPosition
{
DEBUG_LOG(m_logger) << "InternalPosition of participantId " << participantId
<< " has nan!"
<< " pos.positionCenter() = " << pos.positionCenter()
<< " pos.positionLeader() = " << pos.positionLeader();
<< " pos.positionCenter() = " << pos.positionCenter
<< " pos.positionLeader() = " << pos.positionLeader;
if (mapObj->visibility())
{
mapObj->setVisibility(false);
@@ -710,7 +712,7 @@ void Participant2SituationMap::updateParticipantPosition(const InternalPosition
}
const Core::GeoPosition &geoPos = pos.position();
const Point3D newPos(geoPos.lon(), geoPos.lat(), geoPos.z());
const Point3D newPos(geoPos.lon, geoPos.lat, geoPos.z);
bool positionChanged = mapObj->setOrigin(newPos);
@@ -741,7 +743,7 @@ void Participant2SituationMap::onDynamicParticipantDataChanged(const Participant
{
DEBUG_LOG(m_logger) << "onDynamicParticipantDataChanged: " << data;
const int32_t simId = data.participantId();
const int32_t simId = data.participantId;
updateContainer(m_participantDynamicData, data, simId, modType);
@@ -764,7 +766,7 @@ void Participant2SituationMap::onDynamicParticipantDataChanged(const Participant
return;
}
checkForUnknownOriginatorsParticipant(data.participantId());
checkForUnknownOriginatorsParticipant(data.participantId);
updateDynamicParticipantData(mapObj, data);
@@ -779,24 +781,24 @@ void Participant2SituationMap::onBiteChanged(const ParticipantManagement::Bite &
{
case DataModification::eAdded:
case DataModification::eModified:
if (data.biteErrors().size() > 0)
m_hasBiteError.insert(data.participantId());
if (data.biteErrors.size() > 0)
m_hasBiteError.insert(data.participantId);
else
m_hasBiteError.remove(data.participantId());
m_hasBiteError.remove(data.participantId);
break;
case DataModification::eRemoved:
m_hasBiteError.remove(data.participantId());
m_hasBiteError.remove(data.participantId);
break;
}
handleSymbolAppearanceSettingsParticipant(data.participantId());
handleSymbolAppearanceSettingsParticipant(data.participantId);
}
void Participant2SituationMap::onParticipantGearEventChanged(const ParticipantManagement::ParticipantGearEvent &data,
DataModification modType)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " ParticipantGearEvent = "
<< " participantId= " << data.participantId()
<< " sampleTime= " << data.sampleTime();
<< " participantId= " << data.participantId
<< " sampleTime= " << data.sampleTime;
@@ -806,7 +808,7 @@ void Participant2SituationMap::onParticipantGearEventChanged(const ParticipantMa
case DataModification::eAdded:
case DataModification::eModified:
{
m_participantGearEvents[data.participantId()] = data.sampleTime();
m_participantGearEvents[data.participantId] = data.sampleTime;
}
break;
@@ -814,7 +816,7 @@ void Participant2SituationMap::onParticipantGearEventChanged(const ParticipantMa
case DataModification::eRemoved:
{
const int participantId = data.participantId();
const int participantId = data.participantId;
RefPointer<MAP_T> mapObj = this->getMapObjectOfSimId(participantId);
if (mapObj.valid())
mapObj->forcePartyColor(QColor());
@@ -867,7 +869,7 @@ void Participant2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::
AreaEffectSimulation::AesType::AtExplosionClusterSingleTrajectory,
AreaEffectSimulation::AesType::AtExplosionClusterGunToTargetLine};
if (subOrdinateAesTypeIds.contains(data.aesTypeId().underlying()))
if (subOrdinateAesTypeIds.contains(data.aesTypeId))
return;
@@ -875,19 +877,19 @@ void Participant2SituationMap::onAesItemViewChanged(const AreaEffectSimulation::
{
case DataModification::eAdded:
case DataModification::eModified:
if (data.partyId().is_set())
m_aesItemView2PartyId[data.aesItemId()] = data.partyId().get();
if (data.partyId.has_value())
m_aesItemView2PartyId[data.aesItemId] = data.partyId.get();
else
m_aesItemView2PartyId.remove(data.aesItemId());
m_aesItemView2PartyId.remove(data.aesItemId);
break;
case DataModification::eRemoved:
m_aesItemView2PartyId.remove(data.aesItemId());
m_aesItemView2PartyId.remove(data.aesItemId);
break;
}
if (modType == DataModification::eRemoved)
return;
checkForUnknownOriginatorsAes(data.aesItemId());
checkForUnknownOriginatorsAes(data.aesItemId);
}
void Participant2SituationMap::onDusMineStateChanged(const AreaEffectSimulation::DusMineState &, DataModification )
@@ -895,7 +897,7 @@ void Participant2SituationMap::onDusMineStateChanged(const AreaEffectSimulation:
auto copy = m_participantDynamicData;
for (const ParticipantManagement::DynamicParticipantData &dynPartData : std::as_const(copy))
{
if (!m_participantWithMaybeMissingPartyId.contains(dynPartData.participantId()))
if (!m_participantWithMaybeMissingPartyId.contains(dynPartData.participantId))
continue;
onDynamicParticipantDataChanged(dynPartData, DataModification::eModified);
}
@@ -980,11 +982,11 @@ void Participant2SituationMap::onMovementTrackRemoved(int trackId)
int Participant2SituationMap::participantHierachyLevel(const ParticipantManagement::Participant &data) const
{
const qint32 typeId = data.typeId();
const qint32 typeId = data.typeId;
auto it = m_types.find(typeId);
if (it == m_types.end())
return 0;
return it.value().hierarchyLevel();
return it.value().hierarchyLevel;
}
@@ -1009,14 +1011,14 @@ bool Participant2SituationMap::isElapsed(const ParticipantManagement::Participan
if(strcmp(PROJECTBUILD, "commaster") == 0 ||
strcmp(PROJECTBUILD, "demotablet") == 0)
{
if(data.equipmentNumber().is_set())
if(data.equipmentNumber().get() == 1)
if(data.equipmentNumber.has_value())
if(data.equipmentNumber.get() == 1)
isOwnPosition = true;
}
return data.isDeleted() || isOwnPosition;
return data.isDeleted || isOwnPosition;
}
@@ -1063,7 +1065,7 @@ void Participant2SituationMap::checkForUnknownOriginatorsAes(int possibleOrigina
bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2SituationMap::MAP_T> mapObj,
const ParticipantManagement::DynamicParticipantData &data)
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << ", data.participantId() " << data.participantId();
TRACE_LOG(m_logger) << LOGFUNCTION << " START" << ", data.participantId() " << data.participantId;
if (!mapObj)
return false;
@@ -1073,11 +1075,11 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
int32_t injuryPartyId = -1;
const ParticipantManagement::StateInformation &lastState = m_ppmDtc->youngestStateInformation(data.stateHistory());
if (data.stateHistory().size() != 0)
const ParticipantManagement::StateInformation &lastState = m_ppmDtc->youngestStateInformation(data.stateHistory);
if (data.stateHistory.size() != 0)
{
const ProjectDataManagement::VulnerabilityState &vulState = lastState.vulnerabilityState();
switch (vulState.underlying())
const ProjectDataManagement::VulnerabilityState &vulState = lastState.vulnerabilityState;
switch (vulState)
{
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_CombatReady:
case ProjectDataManagement::VulnerabilityState::VulnerabilityState_TemporarySeverance:
@@ -1114,46 +1116,46 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
}
switch (lastState.originatorType().underlying())
switch (lastState.originatorType)
{
case ProjectDataManagement::StateChangeOriginator::Participant:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant:
{
const int32_t originParticipantId = lastState.originatorId();
const int32_t originParticipantId = lastState.originatorId;
if (originParticipantId != 0)
{
auto it = m_participants.constFind(originParticipantId);
if (it == m_participants.constEnd())
{
const ParticipantManagement::Participant &participantOrigin = m_ppmDtc->participant(originParticipantId);
if (participantOrigin.id() > 0)
if (participantOrigin.id > 0)
{
m_participants.insert(participantOrigin.id(), participantOrigin);
injuryPartyId = participantOrigin.partyId();
m_participants.insert(participantOrigin.id, participantOrigin);
injuryPartyId = participantOrigin.partyId;
const ParticipantManagement::ParticipantData &ppData = m_ppmDtc->convertParticipantToParticipantData(participantOrigin);
const ParticipantManagement::Type &ppType = m_ppmDtc->type(ppData.typeId());
const QJsonObject typeProperties(QJsonDocument::fromJson(QByteArray::fromStdString(ppType.properties())).object());
m_participantsWithProperties.insert(participantOrigin.id(), typeProperties[QStringLiteral("isArtillery")].toBool(false));
const ParticipantManagement::Type &ppType = m_ppmDtc->type(ppData.typeId);
const QJsonObject typeProperties(QJsonDocument::fromJson(QByteArray::fromStdString(ppType.properties)).object());
m_participantsWithProperties.insert(participantOrigin.id, typeProperties[QStringLiteral("isArtillery")].toBool(false));
}
else if (originParticipantId != data.participantId())
m_unknownOriginatorsParticipant.push_back(qMakePair(originParticipantId, data.participantId()));
else if (originParticipantId != data.participantId)
m_unknownOriginatorsParticipant.push_back(qMakePair(originParticipantId, data.participantId));
}
else
injuryPartyId = it.value().partyId();
injuryPartyId = it.value().partyId;
}
break;
}
case ProjectDataManagement::StateChangeOriginator::Party:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Party:
{
const ParticipantManagement::Party &partyOrigin = m_ppmDtc->party(lastState.originatorId());
if(partyOrigin.id())
injuryPartyId = partyOrigin.id();
const ParticipantManagement::Party &partyOrigin = m_ppmDtc->party(lastState.originatorId);
if(partyOrigin.id)
injuryPartyId = partyOrigin.id;
break;
}
case ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation:
case ProjectDataManagement::StateChangeOriginator::FunctionalArea:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_FunctionalArea:
{
const int32_t originEffectSimulationId = lastState.originatorId();
const int32_t originEffectSimulationId = lastState.originatorId;
if (originEffectSimulationId != 0)
{
@@ -1162,7 +1164,7 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
if (itAesItemView == m_aesItemView2PartyId.constEnd())
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " aesItemViewFromEntityId failed 1, originEffectSimulationId = " << originEffectSimulationId
<< ", data.participantId() " << data.participantId();
<< ", data.participantId() " << data.participantId;
#ifdef EXPENSIVE_FALLBACK
@@ -1174,7 +1176,7 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
AreaEffectSimulation::AesItem aesItem;
m_aesDtc->aesItemFromId(originEffectSimulationId, aesItem);
if (aesItem.partyId().is_set())
if (aesItem.partyId().has_value())
{
injuryPartyId = aesItem.partyId().get();
@@ -1194,9 +1196,9 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
#endif
{
DEBUG_LOG(m_logger) << LOGFUNCTION << " aesItemViewFromEntityId failed 2, originEffectSimulationId = " << originEffectSimulationId
<< ", data.participantId() " << data.participantId();
<< ", data.participantId() " << data.participantId;
m_unknownOriginatorsAes.push_back(qMakePair(originEffectSimulationId, data.participantId()));
m_unknownOriginatorsAes.push_back(qMakePair(originEffectSimulationId, data.participantId));
}
}
@@ -1205,42 +1207,42 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
}
}
break;
case ProjectDataManagement::StateChangeOriginator::ImprovisedExplosiveDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ImprovisedExplosiveDevice:
{
auto guezIedDtc = m_pluginProvider->gimDtc();
if (guezIedDtc)
{
const GuezIedManagement::Ied &gIed = guezIedDtc->iedForEquipmentNumber(lastState.originatorId());
if (gIed.id() > 0)
injuryPartyId = gIed.partyId();
const GuezIedManagement::Ied &gIed = guezIedDtc->iedForEquipmentNumber(lastState.originatorId);
if (gIed.id > 0)
injuryPartyId = gIed.partyId;
}
}
break;
case ProjectDataManagement::StateChangeOriginator::DusMine:
injuryPartyId = m_aesDtc->partyForDusMine(lastState.originatorId());
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_DusMine:
injuryPartyId = m_aesDtc->partyForDusMine(lastState.originatorId);
if (injuryPartyId == -1)
m_participantWithMaybeMissingPartyId.insert(data.participantId());
m_participantWithMaybeMissingPartyId.insert(data.participantId);
else
m_participantWithMaybeMissingPartyId.remove(data.participantId());
m_participantWithMaybeMissingPartyId.remove(data.participantId);
break;
case ProjectDataManagement::StateChangeOriginator::Unknown:
case ProjectDataManagement::StateChangeOriginator::ObserverController:
case ProjectDataManagement::StateChangeOriginator::ExerciseControl:
case ProjectDataManagement::StateChangeOriginator::Initialization:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Unknown:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ObserverController:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_ExerciseControl:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Initialization:
{
injuryPartyId = 1;
}
break;
case ProjectDataManagement::StateChangeOriginator::WoundTreatmentDevice:
case ProjectDataManagement::StateChangeOriginator::MaintainanceDevice:
case ProjectDataManagement::StateChangeOriginator::MedicalTimeout:
case ProjectDataManagement::StateChangeOriginator::Sanitation:
DEBUG_LOG(m_logger) << LOGFUNCTION << " originator state change for " << lastState.originatorType() << " not (yet) implemented"
<< ", participantId = " << data.participantId()
<< ", sampleTime=" << data.sampleTime()
<< ", eqNumber=" << m_participants.value(data.participantId()).equipmentNumber()
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_WoundTreatmentDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MaintainanceDevice:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_MedicalTimeout:
case ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Sanitation:
DEBUG_LOG(m_logger) << LOGFUNCTION << " originator state change for " << lastState.originatorType << " not (yet) implemented"
<< ", participantId = " << data.participantId
<< ", sampleTime=" << data.sampleTime
<< ", eqNumber=" << m_participants.value(data.participantId).equipmentNumber
<< ", mapObj->debugInfo() = " << mapObj->debugInfo();
break;
}
@@ -1249,25 +1251,25 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
injury = SituationMap::Injury::NoInjury;
DEBUG_LOG(m_logger) << LOGFUNCTION << " injuryPartyId = " << injuryPartyId
<< ", data.participantId() " << data.participantId();
<< ", data.participantId() " << data.participantId;
updateParticipantPosition(data.participantId(), false);
updateParticipantPosition(data.participantId, false);
if ((injury != Injury::NoInjury) &&
(injuryPartyId >= 0) &&
(lastState.originatorType() == ProjectDataManagement::StateChangeOriginator::Participant))
(lastState.originatorType == ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_Participant))
{
DEBUG_LOG(m_logger) << "Hit Event: "
<< " stateTime=" << lastState.stateTime()
<< " stateTime=" << lastState.stateTime
<< " injury=" << injury
<< " injuryPartyId=" << injuryPartyId
<< " originatorType=" << lastState.originatorType()
<< " originatorChargeTypeId=" << lastState.originatorChargeTypeId();
<< " originatorType=" << lastState.originatorType
<< " originatorChargeTypeId=" << lastState.originatorChargeTypeId;
@@ -1276,10 +1278,10 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
HitlineInfo hlInfo;
hlInfo.participantId = data.participantId();
hlInfo.participantPosition = m_ppmDtc->participantPosition(data.participantId());
hlInfo.participantId = data.participantId;
hlInfo.participantPosition = m_ppmDtc->participantPosition(data.participantId);
hlInfo.participantState = lastState;
hlInfo.originatorPosition = m_ppmDtc->participantPosition(lastState.originatorId());
hlInfo.originatorPosition = m_ppmDtc->participantPosition(lastState.originatorId);
hlInfo.injuryPartyId = injuryPartyId;
emit hitlineOccured(hlInfo);
@@ -1289,24 +1291,24 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
const bool bInjuryChanged = mapObj->setInjury(injury, injuryPartyId);
const bool bAddSymbolChanged = mapObj->setAdditionalSymbol(SituationMap::AdditionalSymbolType::NbcProtection, data.hasNbcProtectionActive() || data.hasNbcProtectionConfigured());
const bool bAddSymbolChanged = mapObj->setAdditionalSymbol(SituationMap::AdditionalSymbolType::NbcProtection, data.hasNbcProtectionActive || data.hasNbcProtectionConfigured);
QVector<QPair<int, int>> validGearCharges;
validGearCharges.reserve(data.gear().size());
for (auto const &gear : data.gear())
validGearCharges.reserve(data.gear.size());
for (auto const &gear : data.gear)
{
QPair<int, int> candidate(gear.gearTypeId(), gear.chargeTypeId());
QPair<int, int> candidate(gear.gearTypeId, gear.chargeTypeId);
if (!validGearCharges.contains(candidate))
validGearCharges.append(candidate);
}
QVector<int> gearRanges;
gearRanges.reserve(data.gear().size());
gearRanges.reserve(data.gear.size());
for (const QPair<int, int> &gearCharge : std::as_const(validGearCharges))
{
const int range = m_pdmHandler->maxRangeFromGearTypeIdAndChargeTypeId(gearCharge.first, gearCharge.second);
@@ -1318,7 +1320,7 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
const std::vector<ParticipantManagement::LaserDesignation> &designations = data.designations();
const std::vector<ParticipantManagement::LaserDesignation> &designations = data.designations;
QVector<Participant::DesignationData> designationDataVec;
@@ -1327,13 +1329,13 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
for (const ParticipantManagement::LaserDesignation &des : std::as_const(designations))
{
Participant::DesignationData designationData;
const Core::GeoPosition &spotLocation = des.spotLocation();
designationData.spotLocation.rx() = spotLocation.lon();
designationData.spotLocation.ry() = spotLocation.lat();
designationData.spotLocation.rz() = spotLocation.z();
const Core::GeoPosition &spotLocation = des.spotLocation;
designationData.spotLocation.rx() = spotLocation.lon;
designationData.spotLocation.ry() = spotLocation.lat;
designationData.spotLocation.rz() = spotLocation.z;
if (designationData.spotLocation.isNull())
continue;
designationData.code = des.code();
designationData.code = des.code;
designationDataVec.push_back(designationData);
}
const bool bDesignationChanged = mapObj->setDesignations(designationDataVec);
@@ -1343,11 +1345,11 @@ bool Participant2SituationMap::updateDynamicParticipantData(RefPointer<Sim2Situa
addToUpdateNotify(mapObj);
auto itPart = m_participants.constFind(data.participantId());
auto itPart = m_participants.constFind(data.participantId);
handleSymbolAppearanceSettingsParticipant(mapObj,
itPart == m_participants.constEnd() ? ParticipantManagement::Participant() : itPart.value());
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << ", data.participantId()" << data.participantId();
TRACE_LOG(m_logger) << LOGFUNCTION << " END" << ", data.participantId()" << data.participantId;
return true;
}
@@ -1359,17 +1361,17 @@ bool Participant2SituationMap::updateElementImpl(const ParticipantManagement::Pa
SymbolData symData = mapObj->symbol();
symData.sidc = QString::fromStdString(ddsData.symbol());
symData.sidc = QString::fromStdString(ddsData.symbol);
mapObj->setSymbol(symData);
mapObj->setPartyId(ddsData.partyId());
mapObj->setPartyId(ddsData.partyId);
mapObj->setTextModifier(Participant::TextModifier::T_UniqueDesignation, QString::fromStdString(ddsData.designator()));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::fromStdString(ddsData.tacticalIdentifier()));
mapObj->setTextModifier(Participant::TextModifier::T_UniqueDesignation, QString::fromStdString(ddsData.designator));
mapObj->setTextModifier(Participant::TextModifier::M_HigherFormation, QString::fromStdString(ddsData.tacticalIdentifier));
const int32_t participantId = ddsData.id();
const int32_t participantId = ddsData.id;
auto itDpd = m_participantDynamicData.constFind(participantId);
if (itDpd != m_participantDynamicData.cend())
@@ -1695,10 +1697,10 @@ void Participant2SituationMap::onSymbolAppearanceSettingsChanged(FilterManagemen
for (const ParticipantManagement::Participant &participant : std::as_const(m_participants))
{
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(participant.id(), INVALID_MAP_ID);
const UniqueMapId uniqueMapId = m_simId2UniqueMapId.value(participant.id, INVALID_MAP_ID);
if (uniqueMapId == INVALID_MAP_ID)
{
DEBUG_LOG(m_logger) << LOGFUNCTION << "Found a participant which is in internal map but has no map object...: " << participant.id();
DEBUG_LOG(m_logger) << LOGFUNCTION << "Found a participant which is in internal map but has no map object...: " << participant.id;
continue;
}
RefPointer<MAP_T> mapObj = m_objFac.get<MAP_T>(uniqueMapId);
@@ -1720,12 +1722,12 @@ void Participant2SituationMap::onSymbolAppearanceSettingsChanged(FilterManagemen
static inline bool hasManipulation(const ParticipantManagement::DynamicParticipantData &dpd)
{
return dpd.manipulation().size() > 0;
return dpd.manipulation.size() > 0;
}
bool Participant2SituationMap::hasBitError(const ParticipantManagement::DynamicParticipantData &dpd) const
{
return m_hasBiteError.contains(dpd.participantId());
return m_hasBiteError.contains(dpd.participantId);
}
bool Participant2SituationMap::isSimulatedPosition(const InternalPosition &pos) const
@@ -1765,8 +1767,8 @@ void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(int par
void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(RefPointer<MAP_T> &mapObj,
const ParticipantManagement::Participant &participant)
{
const auto itDpd = m_participantDynamicData.constFind(participant.id());
const auto itPos = m_participantPositions.constFind(participant.id());
const auto itDpd = m_participantDynamicData.constFind(participant.id);
const auto itPos = m_participantPositions.constFind(participant.id);
handleSymbolAppearanceSettingsParticipant(mapObj,
participant,
itPos == m_participantPositions.cend() ? InternalPosition() : itPos.value(),
@@ -1787,7 +1789,7 @@ void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(RefPoin
const FilterManagement::SymbolAppearanceSettings::Settings &s = m_symbolAppearanceSettings->settings();
const auto l = s.symbolSettings.symbolPartyAppearance.value(participant.partyId());
const auto l = s.symbolSettings.symbolPartyAppearance.value(participant.partyId);
mapObj->setTextModifierVisibility(Participant::TextModifier::T_UniqueDesignation, l.showDesignator);
mapObj->setTextModifierVisibility(Participant::TextModifier::M_HigherFormation, l.showTacticalIdentifier);
mapObj->setUserSymbolOpacity(1.0f - s.symbolSettings.symbolTransparency);
@@ -1823,14 +1825,14 @@ void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(RefPoin
break;
}
if (!bSymbolVisible && s.symbolSettings.showFiringUnits && m_participantsWithProperties.value(participant.id(), false))
if (!bSymbolVisible && s.symbolSettings.showFiringUnits && m_participantsWithProperties.value(participant.id, false))
bSymbolVisible = true;
if (!l.isVisible)
bSymbolVisible = false;
if (bSymbolVisible && !m_pluginProvider->isVisibleParty(participant.partyId()))
if (bSymbolVisible && !m_pluginProvider->isVisibleParty(participant.partyId))
bSymbolVisible = false;
if (bSymbolVisible && s.hiddenTypeFilter.value(participant.partyId()).contains(participant.typeId()))
if (bSymbolVisible && s.hiddenTypeFilter.value(participant.partyId).contains(participant.typeId))
bSymbolVisible = false;
if (bSymbolVisible && hasGeoPositionNaN(pPos.position()))
bSymbolVisible = false;
@@ -1839,11 +1841,11 @@ void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(RefPoin
if (bSymbolVisible)
{
const auto youngestState = m_ppmDtc->youngestStateInformation(dpd.stateHistory());
if (s.hiddenStateFilter.value(participant.partyId()).contains(youngestState.vulnerabilityState().underlying()))
const auto youngestState = m_ppmDtc->youngestStateInformation(dpd.stateHistory);
if (s.hiddenStateFilter.value(participant.partyId).contains(static_cast<int>(youngestState.vulnerabilityState)))
bSymbolVisible = false;
}
if (bSymbolVisible && m_symbolAppearanceSettings->isParticipantVisibileCollapseExpand(participant.id()))
if (bSymbolVisible && m_symbolAppearanceSettings->isParticipantVisibileCollapseExpand(participant.id))
bSymbolVisible = false;
bool oldVisibility = mapObj->visibility();
@@ -1862,8 +1864,8 @@ void Participant2SituationMap::handleSymbolAppearanceSettingsParticipant(RefPoin
emit mapObjectChanged(mapObj->uniqueMapId());
TRACE_LOG(m_logger) << LOGFUNCTION << " Symbol visibilty for Entity: " << mapObj->debugInfo()
<< " with participant.id " << participant.id()
<< " and partyId " << participant.partyId()
<< " with participant.id " << participant.id
<< " and partyId " << participant.partyId
<< " is " << bSymbolVisible;
}
@@ -58,11 +58,11 @@ class Participant2SituationMap final : public Sim2SituationMap<ParticipantManage
inline const Core::GeoPosition &position() const OMG_NOEXCEPT
{
return (isUnit && bShowCenter) ? positionCenter() : positionLeader();
return (isUnit && bShowCenter) ? positionCenter : positionLeader;
}
inline rti::core::int64 sampleTime() const OMG_NOEXCEPT
{
return (isUnit && bShowCenter) ? sampleTimeCenter() : sampleTimeLeader();
return (isUnit && bShowCenter) ? sampleTimeCenter : sampleTimeLeader;
}
InternalPosition() = default;
@@ -26,7 +26,7 @@ QString toString(SpecialChargeType value)
}
PdmHandler::PdmHandler(const std::shared_ptr<ProjectDataManagement::Interface::Dtc> &dtcPdm) : m_dtcPdm(dtcPdm),
m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger()) {}
m_logger(getLogger("PdmHandler")) {}
void PdmHandler::initializePdm()
@@ -53,7 +53,7 @@ void PdmHandler::onChargeTypeChanged(const ProjectDataManagement::ChargeType &da
{
case DataModification::eAdded:
case DataModification::eModified:
m_chargeTypes[data.id()] = data;
m_chargeTypes[data.id] = data;
break;
case DataModification::eRemoved:
break;
@@ -66,7 +66,7 @@ void PdmHandler::onGearTypeChargeTypeChanged(const ProjectDataManagement::GearTy
{
case DataModification::eAdded:
case DataModification::eModified:
m_gearTypeChargeTypes[data.id()] = data;
m_gearTypeChargeTypes[data.id] = data;
break;
case DataModification::eRemoved:
break;
@@ -101,41 +101,41 @@ int PdmHandler::maxRangeFromGearTypeIdAndChargeTypeId(int gearTypeId, int charge
for (const auto &entry : std::as_const(m_gearTypeChargeTypes))
if ((entry.gearTypeId() == gearTypeId) &&
(entry.chargeTypeId() == chargeTypeId))
return entry.maxRange();
if ((entry.gearTypeId == gearTypeId) &&
(entry.chargeTypeId == chargeTypeId))
return entry.maxRange;
for (const auto &entry : std::as_const(m_gearTypeChargeTypes))
if ((entry.gearTypeId() == 1000) &&
(entry.chargeTypeId() == chargeTypeId))
return entry.maxRange();
if ((entry.gearTypeId == 1000) &&
(entry.chargeTypeId == chargeTypeId))
return entry.maxRange;
return -1;
}
double PdmHandler::impactRadius(const AreaEffectSimulation::ChargeStruct &chargeStruct, double defaultValue)
{
if (chargeStruct.chargeTypeId() < 0)
if (chargeStruct.chargeTypeId < 0)
return defaultValue;
initializePdm();
if (!m_dtcPdm)
return defaultValue;
return m_dtcPdm->impactRadius(chargeStruct.chargeTypeId(), chargeStruct.igniterTypeId(), chargeStruct.igniterFunctionId());
return m_dtcPdm->impactRadius(chargeStruct.chargeTypeId, chargeStruct.igniterTypeId, chargeStruct.igniterFunctionId);
}
bool PdmHandler::isSmart(const AreaEffectSimulation::ChargeStruct &chargeStruct)
{
if (chargeStruct.chargeTypeId() < 0)
if (chargeStruct.chargeTypeId < 0)
return false;
initializePdm();
if (!m_dtcPdm)
return false;
return m_dtcPdm->isSmart(chargeStruct.chargeTypeId(), chargeStruct.igniterTypeId(), chargeStruct.igniterFunctionId());
return m_dtcPdm->isSmart(chargeStruct.chargeTypeId, chargeStruct.igniterTypeId, chargeStruct.igniterFunctionId);
}
QString PdmHandler::trChargeTypeShortName(int chargeTypeId)
@@ -164,7 +164,7 @@ bool PdmHandler::isChargeTypeLtdOrLrf(SpecialChargeType sct)
ProjectDataManagement::GearClass PdmHandler::gearClassFromChargeTypeId(int chargeTypeId)
{
if (!m_dtcPdm)
return ProjectDataManagement::GearClass::Unknown;
return ProjectDataManagement::GearClass::GearClass_Unknown;
return m_dtcPdm->gearClassFromChargeTypeId(chargeTypeId);
}
@@ -172,7 +172,7 @@ QVector<ProjectDataManagement::CasEffect> PdmHandler::casEffects(const AreaEffec
{
if (!m_dtcPdm)
return {};
return m_dtcPdm->casEffects(chargeStruct.chargeTypeId(), chargeStruct.igniterTypeId(), chargeStruct.igniterFunctionId());
return m_dtcPdm->casEffects(chargeStruct.chargeTypeId, chargeStruct.igniterTypeId, chargeStruct.igniterFunctionId);
}
bool PdmHandler::isChargeTypeLtdOrLrf(int chargeTypeId)
@@ -35,20 +35,20 @@ bool ReconArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &dd
mapObj->setVisibility(ObjectAppearance::Tactical, false);
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
if (ddsData.partyId().is_set())
mapObj->setPartyId(ddsData.partyId().get());
if (ddsData.partyId.has_value())
mapObj->setPartyId(ddsData.partyId.get());
else
{
mapObj->rLineStyle().setLineColor(Qt::black);
mapObj->rFillStyle().setFillColor(Qt::black);
}
mapObj->setAesState(effectState2aesState(ddsData.effectStateId().underlying()));
mapObj->setAesState(effectState2aesState(ddsData.effectStateId));
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
AreaEffectSimulation::AesItemView itemView;
if (m_aesDtc->aesItemViewFromEntityId(simId, Aes2SituationMapTraits<ReconArea2SituationMap>::aesType, itemView))
this->updateGeometry(itemView, mapObj);
@@ -2,7 +2,7 @@
#include "shootback_area_to_map.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <LtsCoordTrans/lts_coord_trans.h>
@@ -63,7 +63,7 @@ void ShootbackAreaToSituationMap::stop()
int32_t ShootbackAreaToSituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool ShootbackAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
@@ -79,12 +79,12 @@ bool ShootbackAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
const Core::GeoPosition2D &center = ddsData.position();
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(center.lon(), center.lat());
const Core::GeoPosition2D &center = ddsData.position;
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(center.lon, center.lat);
const QPointF size(ddsData.width() / 2.0, ddsData.height() / 2.0);
const QPointF size(ddsData.width / 2.0, ddsData.height / 2.0);
PositionCont posCont;
posCont.reserve(4);
@@ -194,6 +194,7 @@ protected:
QMap<UniqueMapId, int32_t> m_uniqueMapId2SimId;
QString m_loggerName;
LOGGER_T m_logger; ///< Interface to the Logging-Facility
};
@@ -24,7 +24,7 @@ inline PositionCont form2PosCont2D(const std::vector<Core::GeoPosition2D> &form)
PositionCont ret;
ret.reserve(form.size());
for (const auto &pos : form)
ret.push_back({pos.lon(), pos.lat(), 0.0});
ret.push_back({pos.lon, pos.lat, 0.0});
return ret;
}
@@ -133,10 +133,10 @@ bool SoundAreaToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMapObj
const auto cb = [simIdOut, &umodOut](const InfrastructureManagement::EffectArea &data) -> bool
{
if (data.id() == simIdOut)
if (data.id == simIdOut)
{
umodOut.m_description1 = QString::fromStdString(data.name());
umodOut.m_description2 = tr("Sound Area") + QString(QStringLiteral(" (%1)")).arg(data.id());
umodOut.m_description1 = QString::fromStdString(data.name);
umodOut.m_description2 = tr("Sound Area") + QString(QStringLiteral(" (%1)")).arg(data.id);
return true;
}
return false;
@@ -149,10 +149,10 @@ bool SoundAreaToMap::unifiedMapObjectData(UniqueMapId uniqueMapId, UnifiedMapObj
bool SoundAreaToMap::onEffectAreaChanged(const InfrastructureManagement::EffectArea &data, DataModification modType)
{
DEBUG_LOG(m_logger) << " onEffectAreaChanged"
<< " id=" << data.id()
<< " name='" << data.name() << "'"
<< " areaEgcuId=" << data.areaEgcuId()
<< " ata.geometry().size()=" << data.geometry().size()
<< " id=" << data.id
<< " name='" << data.name << "'"
<< " areaEgcuId=" << data.areaEgcuId
<< " ata.geometry().size()=" << data.geometry.size()
<< " exerciseId=" << m_pluginProvider->exerciseId();
@@ -172,7 +172,7 @@ bool SoundAreaToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
if (BaseClass::isElapsed(data))
return true;
if (data.geometry().size() < 3)
if (data.geometry.size() < 3)
return true;
return false;
@@ -180,7 +180,7 @@ bool SoundAreaToMap::isElapsed(const Sim2SituationMap::DDS_T &data) const
int32_t SoundAreaToMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
SituationMap::PositionCont soundGeometryToPositions(const QJsonDocument &jdoc)
@@ -232,10 +232,10 @@ InfrastructureManagement::MountingPoint SoundAreaToMap::mountingPointWithAssocia
bool SoundAreaToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, RefPointer<Sim2SituationMap::MAP_T> mapObj)
{
DEBUG_LOG(m_logger) << LOGFUNCTION
<< " id " << ddsData.id()
<< ", name = " << ddsData.name();
<< " id " << ddsData.id
<< ", name = " << ddsData.name;
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
mapObj->setPickable(true);
@@ -246,16 +246,16 @@ bool SoundAreaToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, R
mapObj->setLineStyle(LineStyle(col, 1, LinePattern::DashDotDot));
mapObj->setFillStyle(FillStyle(col, FillPattern::BackwardDiagonal));
const SituationMap::PositionCont &posCont = form2PosCont2D(ddsData.geometry());
const SituationMap::PositionCont &posCont = form2PosCont2D(ddsData.geometry);
mapObj->setPositions(posCont);
const InfrastructureManagement::MountingPoint &associatedMountingPoint = mountingPointWithAssociatedId(ddsData.areaEgcuId());
const InfrastructureManagement::MountingPoint &associatedMountingPoint = mountingPointWithAssociatedId(ddsData.areaEgcuId);
DEBUG_LOG(m_logger) << LOGFUNCTION
<< " id " << ddsData.id()
<< ", name = " << ddsData.name()
<< " id " << ddsData.id
<< ", name = " << ddsData.name
<< " MP: buildingId" << associatedMountingPoint.buildingId()
<< " MP: geoPosition" << associatedMountingPoint.geoPosition();
@@ -263,7 +263,7 @@ bool SoundAreaToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, R
{
mapObj->setMarkerData(MarkerData(associatedMountingPoint.toImage(), QSize(25,25)));
const Core::GeoPosition &geoPos = associatedMountingPoint.geoPosition();
mapObj->setMarkerOrigin(Point3D(geoPos.lon(), geoPos.lat(), geoPos.z()));
mapObj->setMarkerOrigin(Point3D(geoPos.lon, geoPos.lat, geoPos.z));
} else {
mapObj->setMarkerData(MarkerData());
mapObj->setMarkerOrigin(Point3D());
@@ -308,21 +308,21 @@ bool SoundAreaToMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData, R
bool SoundAreaToMap::onMainStructureElementChanged(const InfrastructureManagement::MainStructureElement &data,
DataModification modType)
{
TRACE_LOG(m_logger) << LOGFUNCTION << "SoundAreaToMap::onMainStructureElementChanged data.id=" << data.id();
TRACE_LOG(m_logger) << LOGFUNCTION << "SoundAreaToMap::onMainStructureElementChanged data.id=" << data.id;
DEBUG_LOG(m_logger) << LOGFUNCTION << " vorher " << m_bldgsInExcersise.values();
m_bldgsInExcersise.remove(data.id());
m_bldgsInExcersise.remove(data.id);
if (modType == DataModification::eAdded || modType == DataModification::eModified)
{
QJsonParseError parseError;
QJsonDocument doc = QJsonDocument::fromJson(QByteArray::fromStdString(data.properties()), &parseError);
QJsonDocument doc = QJsonDocument::fromJson(QByteArray::fromStdString(data.properties), &parseError);
if (parseError.error != QJsonParseError::NoError)
{
INFO_LOG(m_logger) << "Could not parse JSON props of building with ID "
<< data.id()
<< data.id
<< ". Reason: "
<< parseError.errorString()
<< "; JSON: "
@@ -342,8 +342,8 @@ bool SoundAreaToMap::onMainStructureElementChanged(const InfrastructureManagemen
<< " available_in_exercise=" << tmp;
if (tmp == actualExerciseId)
{
DEBUG_LOG(m_logger) << "m_bldgsInExcersise.append:" << data.id();
m_bldgsInExcersise.insert(data.id());
DEBUG_LOG(m_logger) << "m_bldgsInExcersise.append:" << data.id;
m_bldgsInExcersise.insert(data.id);
}
}
}
@@ -6,7 +6,7 @@
#include "sim_to_situation_map_tmpl.h"
#include <InfrastructureManagement/ism_data_plugin_interface.h>
#include <InfrastructureManagement/ism_resource_management_gui_plugin_interface.h>
#include <InfrastructureManagement/ism_mounting_point.h>
#include <InfrastructureManagement/Shared/ism_mounting_point.h>
#include <MapObjects/sound_area.h>
namespace SituationMap
@@ -3,7 +3,7 @@
#include "special_areas_to_map.h"
#include <utility>
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <LtsCoordTrans/lts_coord_trans.h>
#include <ExerciseManagement/exm_data_plugin_interface.h>
@@ -74,7 +74,7 @@ bool SpecialAreaToSituationMap::isElapsed(const Sim2SituationMap::DDS_T &data) c
int32_t SpecialAreaToSituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool SpecialAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
@@ -91,14 +91,14 @@ bool SpecialAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setFillStyle(FillStyle(FillPattern::Null));
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
const std::vector<Core::GeoPosition2D> &polygon = ddsData.polygon();
const std::vector<Core::GeoPosition2D> &polygon = ddsData.polygon;
PositionCont posCont;
posCont.reserve(polygon.size());
for (const auto &p : std::as_const(polygon))
posCont.push_back(Point3D(p.lon(), p.lat(), .0));
posCont.push_back(Point3D(p.lon, p.lat, .0));
mapObj->setPositions(posCont);
@@ -2,7 +2,7 @@
#include "technical_area_to_map.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
namespace SituationMap
@@ -34,7 +34,7 @@ bool TechnicalArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
{
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
const int32_t simId = ddsData.id();
const int32_t simId = ddsData.id;
mapObj->setPickable(false);
@@ -43,7 +43,7 @@ bool TechnicalArea2SituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
@@ -2,7 +2,7 @@
#include "training_area_to_map.h"
#include <LtsUtils/dds_bitarray.h>
#include <LtsUtilsCore/dds_bitarray.h>
#include <LtsCoordTrans/lts_coord_trans.h>
#include <ExerciseManagement/exm_data_plugin_interface.h>
@@ -25,7 +25,7 @@ bool TrainingAreaToSituationMap::init(PluginProvider *pluginProvider)
if (m_pluginProvider->exmDtc())
{
const int curExerciseId = m_pluginProvider->exerciseId();
m_trainingAreaIdOfCurrentExercise = m_pluginProvider->exmDtc()->exercise(curExerciseId).trainingAreaId();
m_trainingAreaIdOfCurrentExercise = m_pluginProvider->exmDtc()->exercise(curExerciseId).trainingAreaId;
}
m_asmDtc = m_pluginProvider->asmDtc();
@@ -76,12 +76,12 @@ bool TrainingAreaToSituationMap::isElapsed(const Sim2SituationMap::DDS_T &data)
if (m_trainingAreaIdOfCurrentExercise <= 0)
return false;
return (m_trainingAreaIdOfCurrentExercise != data.id());
return (m_trainingAreaIdOfCurrentExercise != data.id);
}
int32_t TrainingAreaToSituationMap::getSimId(const Sim2SituationMap::DDS_T &ddsData) const
{
return ddsData.id();
return ddsData.id;
}
bool TrainingAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_T &ddsData,
@@ -98,16 +98,16 @@ bool TrainingAreaToSituationMap::updateElementImpl(const Sim2SituationMap::DDS_T
mapObj->setFillStyle(FillStyle(FillPattern::Null));
mapObj->setIdentifier(QString::fromStdString(ddsData.name()));
mapObj->setIdentifier(QString::fromStdString(ddsData.name));
const Core::GeoPosition2D &bottomLeft = ddsData.bottomLeft();
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(bottomLeft.lon(), bottomLeft.lat());
const Core::GeoPosition2D &bottomLeft = ddsData.bottomLeft;
const LtsCoordTrans::UtmCoordinate referencePointUTM = LtsCoordTrans::UtmCoordinate::fromGeographic(bottomLeft.lon, bottomLeft.lat);
const QPointF size(ddsData.width(), ddsData.height());
const QPointF size(ddsData.width, ddsData.height);
PositionCont posCont;
posCont.reserve(4);
posCont.push_back(Point3D(bottomLeft.lon(), bottomLeft.lat(), .0));
posCont.push_back(Point3D(bottomLeft.lon, bottomLeft.lat, .0));
posCont.push_back(Point3D::fromQPointF(referencePointUTM.geographic(0 , size.y())));
posCont.push_back(Point3D::fromQPointF(referencePointUTM.geographic(size.x(), size.y())));
posCont.push_back(Point3D::fromQPointF(referencePointUTM.geographic(size.x(), 0)));