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:
1718 files changed
+126739
-18495
No files matched your search
+6
@@ -13,6 +13,12 @@
|
||||
|
||||
#include <PolygonBuilder.h>
|
||||
#include <GeometryEngine.h>
|
||||
#include <Point.h>
|
||||
#include <Geometry.h>
|
||||
#include <Polygon.h>
|
||||
#include <SpatialReference.h>
|
||||
#include <ImmutablePartCollection.h>
|
||||
#include <ImmutablePart.h>
|
||||
|
||||
namespace CesExplosions
|
||||
{
|
||||
|
||||
+228
-227
File diff suppressed because it is too large.
Load diff
+69
-69
@@ -91,62 +91,62 @@ void HandlerVulcano::onExplosionClusterChanged(const AreaEffectSimulation::Explo
|
||||
{
|
||||
// order checks by effort:
|
||||
if ((modType == DataModification::eRemoved)
|
||||
|| (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsExpired)
|
||||
|| (data.effectStateId() == AreaEffectSimulation::AesEffectState::EsActivated))
|
||||
|| (data.effectStateId == AreaEffectSimulation::AesEffectState::EsExpired)
|
||||
|| (data.effectStateId == AreaEffectSimulation::AesEffectState::EsActivated))
|
||||
return;
|
||||
|
||||
if (!data.effectStart.is_set())
|
||||
if (!data.effectStart.has_value())
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "No effectStart";
|
||||
return;
|
||||
}
|
||||
|
||||
// Kriterium fuer NASAT/MIDAS
|
||||
if (m_ddsHandler->dtcPdm()->gearClassFromChargeTypeId(data.chargeStruct().chargeTypeId()) == ProjectDataManagement::GearClass::AirSupport)
|
||||
if (m_ddsHandler->dtcPdm()->gearClassFromChargeTypeId(data.chargeStruct.chargeTypeId) == ProjectDataManagement::GearClass::GearClass_AirSupport)
|
||||
return;
|
||||
|
||||
if (!m_ddsHandler->isLaserGuidable(data.chargeStruct()))
|
||||
if (!m_ddsHandler->isLaserGuidable(data.chargeStruct))
|
||||
return;
|
||||
|
||||
if (!data.flightCurve.is_set() || !data.laserGuiding.is_set())
|
||||
if (!data.flightCurve.has_value() || !data.laserGuiding.has_value())
|
||||
return;
|
||||
const AreaEffectSimulation::FlightCurve &fcData = data.flightCurve.get();
|
||||
const AreaEffectSimulation::LaserGuiding &lgData = data.laserGuiding.get();
|
||||
|
||||
DEBUG_LOG(m_logger) << "\n onExplosionClusterChanged id=" << data.id()
|
||||
<< " AesEffectState=" << data.effectStateId()
|
||||
<< " lcPrf=" << lgData.lcAttack()
|
||||
<< " originalEffectDuration=" << data.originalEffectDuration()
|
||||
<< " effectStart=" << data.effectStart();
|
||||
DEBUG_LOG(m_logger) << "\n onExplosionClusterChanged id=" << data.id
|
||||
<< " AesEffectState=" << data.effectStateId
|
||||
<< " lcPrf=" << lgData.lcAttack
|
||||
<< " originalEffectDuration=" << data.originalEffectDuration
|
||||
<< " effectStart=" << data.effectStart;
|
||||
|
||||
DEBUG_LOG(m_logger) << "m_prfToAesId.insert(" << lgData.lcAttack() << ", " << data.id() << ")"
|
||||
<< " tapTimepoint=" << lgData.tapTime()
|
||||
DEBUG_LOG(m_logger) << "m_prfToAesId.insert(" << lgData.lcAttack << ", " << data.id << ")"
|
||||
<< " tapTimepoint=" << lgData.tapTime
|
||||
<< " currentPartitionTime=" << m_ddsHandler->currentPartitionTime()
|
||||
<< " Timer interval =" << lgData.tapTime() - m_ddsHandler->currentPartitionTime();
|
||||
<< " Timer interval =" << lgData.tapTime - m_ddsHandler->currentPartitionTime();
|
||||
|
||||
int aesId = data.id();
|
||||
int aesId = data.id;
|
||||
QTimer *timer = new QTimer(this);
|
||||
timer->setSingleShot(true);
|
||||
QObject::connect(timer, &QTimer::timeout,
|
||||
this, &HandlerVulcano::onFiringTimeTimeout);
|
||||
if (m_aesTimers.contains(data.id()))
|
||||
if (m_aesTimers.contains(data.id))
|
||||
{
|
||||
m_aesTimers.value(data.id())->stop();
|
||||
delete m_aesTimers.value(data.id());
|
||||
m_aesTimers.remove(data.id());
|
||||
m_aesTimers.value(data.id)->stop();
|
||||
delete m_aesTimers.value(data.id);
|
||||
m_aesTimers.remove(data.id);
|
||||
}
|
||||
m_aesTimers.insert(data.id(), timer);
|
||||
m_aesTimers.insert(data.id, timer);
|
||||
timer->setProperty("aesId", aesId);
|
||||
{
|
||||
long long effectStart = data.effectStart.is_set() ? data.effectStart.get() : 0;
|
||||
long long calculatedFlightDurationMSec = fcData.calculatedFlightDuration();
|
||||
long long effectStart = data.effectStart.has_value() ? data.effectStart.get() : 0;
|
||||
long long calculatedFlightDurationMSec = fcData.calculatedFlightDuration;
|
||||
long long currentPartitionTime = m_ddsHandler->currentPartitionTime();
|
||||
const int timerTimeout = effectStart - calculatedFlightDurationMSec - currentPartitionTime;
|
||||
DEBUG_LOG(m_logger) << "Timer started mit Abflugzeit des Vulcano=" << timerTimeout;
|
||||
if (timerTimeout >= 0)
|
||||
timer->start(timerTimeout);
|
||||
}
|
||||
m_explosionCluster.insert(data.id(), data);
|
||||
m_explosionCluster.insert(data.id, data);
|
||||
}
|
||||
|
||||
void HandlerVulcano::onFiringTimeTimeout()
|
||||
@@ -159,9 +159,9 @@ void HandlerVulcano::onFiringTimeTimeout()
|
||||
|
||||
DEBUG_LOG(m_logger) << "onTimerTimeout aesId=" << aesId;
|
||||
const auto &myEC = m_explosionCluster.value(aesId);
|
||||
if (myEC.id() != aesId)
|
||||
if (myEC.id != aesId)
|
||||
return;
|
||||
if (!myEC.flightCurve.is_set())
|
||||
if (!myEC.flightCurve.has_value())
|
||||
return;
|
||||
const AreaEffectSimulation::FlightCurve &fcData = myEC.flightCurve.get();
|
||||
|
||||
@@ -184,7 +184,7 @@ void HandlerVulcano::onFiringTimeTimeout()
|
||||
timer->setProperty("aesId", aesId);
|
||||
auto dtcAes = m_ddsHandler->dtcAes();
|
||||
const AreaEffectSimulation::TrajectoryTimeAware &trajectoryTimeAware = firstTrajectoryTimeAwareFromAesId(aesId);
|
||||
if (trajectoryTimeAware.geometry().size() < 2)
|
||||
if (trajectoryTimeAware.geometry.size() < 2)
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "return";
|
||||
return;
|
||||
@@ -203,12 +203,12 @@ void HandlerVulcano::onFiringTimeTimeout()
|
||||
// ----------------| Surface
|
||||
*/
|
||||
|
||||
const std::vector<Core::GeoPositionRelativeTime> &geometryRef = trajectoryTimeAware.geometry();
|
||||
int calculatedFlightDurationMSec = fcData.calculatedFlightDuration();
|
||||
const std::vector<Core::GeoPositionRelativeTime> &geometryRef = trajectoryTimeAware.geometry;
|
||||
int calculatedFlightDurationMSec = fcData.calculatedFlightDuration;
|
||||
// TAP' kann auch TAP sein -> Es ist immer der vorletzte Wert. = size() - 2.
|
||||
int relTimeTap = geometryRef[geometryRef.size() - 2].relativeTime();
|
||||
int relTimeTap = geometryRef[geometryRef.size() - 2].relativeTime;
|
||||
// Der letzte Wert ist immer der Einschlag = size() - 1.
|
||||
int relTimeExplosion = geometryRef[geometryRef.size() - 1].relativeTime();
|
||||
int relTimeExplosion = geometryRef[geometryRef.size() - 1].relativeTime;
|
||||
// Flugzeit zwischen TAP(') und Einschlag
|
||||
int timeDiffTapToExplosion = relTimeExplosion - relTimeTap;
|
||||
// Somit ist die absolute Zeit am TAP(') die Startzeit abzüglich der Flugzeit
|
||||
@@ -230,33 +230,33 @@ void HandlerVulcano::onTrajectoryTimeAwareTimeout()
|
||||
m_aesTimers.remove(aesId);
|
||||
DEBUG_LOG(m_logger) << "++++++++++++++ onTrajectoryTimeAwareTimeout aesId=" << aesId;
|
||||
const auto &myEC = m_explosionCluster.value(aesId);
|
||||
if (myEC.id() != aesId)
|
||||
if (myEC.id != aesId)
|
||||
return;
|
||||
if (!myEC.laserGuiding.is_set())
|
||||
if (!myEC.laserGuiding.has_value())
|
||||
return;
|
||||
const AreaEffectSimulation::LaserGuiding &lgData = myEC.laserGuiding.get();
|
||||
|
||||
const int prf = lgData.lcAttack();
|
||||
const int prf = lgData.lcAttack;
|
||||
|
||||
const auto &dtcPpm = m_ddsHandler->dtcPpm();
|
||||
const auto &dtcAes = m_ddsHandler->dtcAes();
|
||||
auto participantId = dtcPpm->getParticipantFromPrf(prf);
|
||||
auto dpd = dtcPpm->dynamicParticipantData(participantId);
|
||||
const auto &designationsVec = dpd.designations();
|
||||
const auto &designationsVec = dpd.designations;
|
||||
DEBUG_LOG(m_logger) << "onTimerTimeout participantId=" << participantId;
|
||||
|
||||
for (const auto &designation : std::as_const(designationsVec))
|
||||
{
|
||||
if (designation.code() == prf && designation.outputPower() > 0)
|
||||
if (designation.code == prf && designation.outputPower > 0)
|
||||
{
|
||||
const AreaEffectSimulation::TrajectoryTimeAware &trajectoryTimeAware = firstTrajectoryTimeAwareFromAesId(aesId);
|
||||
const std::vector<Core::GeoPositionRelativeTime> &trajGeometry = trajectoryTimeAware.geometry();
|
||||
const std::vector<Core::GeoPositionRelativeTime> &trajGeometry = trajectoryTimeAware.geometry;
|
||||
|
||||
DEBUG_LOG(m_logger) << "trajectoryTimeAware.geometry().size()=" << trajGeometry.size();
|
||||
DEBUG_LOG(m_logger) << "Designation code=" << designation.code()
|
||||
DEBUG_LOG(m_logger) << "Designation code=" << designation.code
|
||||
<< " prf=" << prf
|
||||
<< " outputPower=" << designation.outputPower()
|
||||
<< " designation.spotlocation=" << designation.spotLocation().lon() << "/" << designation.spotLocation().lat();
|
||||
<< " outputPower=" << designation.outputPower
|
||||
<< " designation.spotlocation=" << designation.spotLocation.lon << "/" << designation.spotLocation.lat;
|
||||
|
||||
if (trajGeometry.size() < 2)
|
||||
{
|
||||
@@ -266,20 +266,20 @@ void HandlerVulcano::onTrajectoryTimeAwareTimeout()
|
||||
|
||||
const Core::GeoPosition topGeo = trajGeometry.at(trajGeometry.size() - 2);
|
||||
const Core::GeoPosition bottomGeo = trajGeometry.at(trajGeometry.size() - 1);
|
||||
const Core::GeoPosition2D pointToTestGeo = designation.spotLocation();
|
||||
const Core::GeoPosition2D pointToTestGeo = designation.spotLocation;
|
||||
|
||||
int zone = -1;
|
||||
const QPointF &topPt = CentralEffectSimulation::geographic2Utm(topGeo, &zone);
|
||||
const QPointF &bottomPt = CentralEffectSimulation::geographic2Utm(bottomGeo, &zone);
|
||||
const QPointF &pointToTestPt = CentralEffectSimulation::geographic2Utm(pointToTestGeo, &zone);
|
||||
|
||||
const QVector3D top(topPt.x(), topPt.y(), topGeo.z());
|
||||
const QVector3D top(topPt.x(), topPt.y(), topGeo.z);
|
||||
DEBUG_LOG(m_logger) << "top=" << top.x() << "/" << top.y() << "/" << top.z() << " zone=" << zone;
|
||||
|
||||
const QVector3D bottom(bottomPt.x(), bottomPt.y(), bottomGeo.z());
|
||||
const QVector3D bottom(bottomPt.x(), bottomPt.y(), bottomGeo.z);
|
||||
DEBUG_LOG(m_logger) << "bottom=" << bottom.x() << "/" << bottom.y() << "/" << bottom.z() << " zone=" << zone;
|
||||
|
||||
const QVector3D pointToTest(pointToTestPt.x(), pointToTestPt.y(), designation.spotLocation().z());
|
||||
const QVector3D pointToTest(pointToTestPt.x(), pointToTestPt.y(), designation.spotLocation.z);
|
||||
DEBUG_LOG(m_logger) << "pointToTest=" << pointToTest.x() << "/" << pointToTest.y() << "/" << pointToTest.z() << " zone=" << zone;
|
||||
|
||||
float vulcanoViewAngleDeg = CesExplosions::Settings::vulcanoViewAngleDeg();
|
||||
@@ -294,7 +294,7 @@ void HandlerVulcano::onTrajectoryTimeAwareTimeout()
|
||||
return;
|
||||
}
|
||||
|
||||
const auto observerPos = dtcPpm->participantPosition(participantId).pos();
|
||||
const auto observerPos = dtcPpm->participantPosition(participantId).pos;
|
||||
QPointF fePt = CentralEffectSimulation::geographic2Utm(trajGeometry.at(0), &zone);
|
||||
QVector3D fe(fePt.x(), fePt.y(), 0);
|
||||
|
||||
@@ -320,11 +320,11 @@ void HandlerVulcano::onTrajectoryTimeAwareTimeout()
|
||||
|
||||
|
||||
AreaEffectSimulation::TargetPositionsModifyRequest posModify;
|
||||
posModify.aesItemId(aesId);
|
||||
posModify.positions().push_back(designation.spotLocation());
|
||||
DEBUG_LOG(m_logger) << "targetPositionsModifyRequest z=" << posModify.positions().at(0).z()
|
||||
<< " designation.z=" << designation.spotLocation().z()
|
||||
<< " PosVulcano=" << posVulcano.lon() << "/" << posVulcano.lat();
|
||||
posModify.aesItemId = aesId;
|
||||
posModify.positions.push_back(designation.spotLocation);
|
||||
DEBUG_LOG(m_logger) << "targetPositionsModifyRequest z=" << posModify.positions.at(0).z
|
||||
<< " designation.z=" << designation.spotLocation.z
|
||||
<< " PosVulcano=" << posVulcano.lon << "/" << posVulcano.lat;
|
||||
m_ddsHandler->ftcAes()->targetPositionsModifyRequest(posModify, this);
|
||||
return;
|
||||
}
|
||||
@@ -336,7 +336,7 @@ AreaEffectSimulation::TrajectoryTimeAware HandlerVulcano::firstTrajectoryTimeAwa
|
||||
// be aware of: [E01562-259] use originatorId, originatorTypeId (instead of aesItemId, aesTypeId)
|
||||
const auto &dtcAes = m_ddsHandler->dtcAes();
|
||||
const auto &trajectories = dtcAes->trajectoriesTimeAwareFromOriginatorIdAndType(aesId,
|
||||
ProjectDataManagement::StateChangeOriginator::AreaEffectSimulation);
|
||||
ProjectDataManagement::StateChangeOriginator::StateChangeOriginator_AreaEffectSimulation);
|
||||
if (trajectories.empty())
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "no trajectories found for originatorId/aesItemId " << aesId;
|
||||
@@ -353,15 +353,15 @@ Core::GeoPosition HandlerVulcano::getTrajectoryPosFromTime(int aesId, long long
|
||||
// be aware of: [E01562-259] use originatorId, originatorTypeId (instead of aesItemId, aesTypeId)
|
||||
const auto &trajectoryTimeAwareValue = firstTrajectoryTimeAwareFromAesId(aesId);
|
||||
|
||||
const qint64 relTime = timeParam - trajectoryTimeAwareValue.trajectoryStartTime();
|
||||
const qint64 relTime = timeParam - trajectoryTimeAwareValue.trajectoryStartTime;
|
||||
|
||||
//trajectoryTimeAwareValue = trajectoryTimeAware(aesId);
|
||||
DEBUG_LOG(m_logger) << " getTrajectoryPosFromTime aesId=" << aesId
|
||||
<< " trajectoryTimeAwareValue.id=" << trajectoryTimeAwareValue.id()
|
||||
<< " trajectoryTimeAwareValue.id=" << trajectoryTimeAwareValue.id
|
||||
<< " time=" << timeParam
|
||||
<< " trajectoryStartTime=" << trajectoryTimeAwareValue.trajectoryStartTime()
|
||||
<< " trajectoryStartTime=" << trajectoryTimeAwareValue.trajectoryStartTime
|
||||
<< " relTime=" << relTime;
|
||||
if (trajectoryTimeAwareValue.geometry().empty())
|
||||
if (trajectoryTimeAwareValue.geometry.empty())
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "getTrajectoryPosFromTime no pos available";
|
||||
return {};
|
||||
@@ -369,13 +369,13 @@ Core::GeoPosition HandlerVulcano::getTrajectoryPosFromTime(int aesId, long long
|
||||
|
||||
Core::GeoPosition result;
|
||||
int i = 0;
|
||||
for (const auto &point : std::as_const(trajectoryTimeAwareValue.geometry()))
|
||||
for (const auto &point : std::as_const(trajectoryTimeAwareValue.geometry))
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "time=" << point.relativeTime();
|
||||
if ( (point.relativeTime() > relTime) && (i > 0))
|
||||
DEBUG_LOG(m_logger) << "time=" << point.relativeTime;
|
||||
if ( (point.relativeTime > relTime) && (i > 0))
|
||||
{
|
||||
// Beachte: Geschwindigkeit wird _NICHT_ beruecksichtigt
|
||||
const Core::GeoPositionRelativeTime &geoPosRelTime = trajectoryTimeAwareValue.geometry()[i-1];
|
||||
const Core::GeoPositionRelativeTime &geoPosRelTime = trajectoryTimeAwareValue.geometry[i-1];
|
||||
// avoid expensive operations like following
|
||||
// result.lat() = trajectoryTimeAwareValue.geometry()[i -1].lat();
|
||||
// result.lon() = trajectoryTimeAwareValue.geometry()[i -1].lon();
|
||||
@@ -383,14 +383,14 @@ Core::GeoPosition HandlerVulcano::getTrajectoryPosFromTime(int aesId, long long
|
||||
// and take benefits from downcasting
|
||||
result = geoPosRelTime; // implicit downcast :-)
|
||||
DEBUG_LOG(m_logger) << "found i=" << i
|
||||
<< " result=" << result.lat() << "/" << result.lon() << "/" << result.z();
|
||||
<< " result=" << result.lat << "/" << result.lon << "/" << result.z;
|
||||
return result;
|
||||
}
|
||||
++i;
|
||||
} // for
|
||||
result = trajectoryTimeAwareValue.geometry().back();
|
||||
result = trajectoryTimeAwareValue.geometry.back();
|
||||
DEBUG_LOG(m_logger) << " return last point result="
|
||||
<< " result=" << result.lat() << "/" << result.lon() << "/" << result.z();
|
||||
<< " result=" << result.lat << "/" << result.lon << "/" << result.z;
|
||||
return result;
|
||||
|
||||
}
|
||||
@@ -401,16 +401,16 @@ void HandlerVulcano::onDynamicParticipantChanged(const ParticipantManagement::Dy
|
||||
return;
|
||||
|
||||
DEBUG_LOG(m_logger) << "onDynamicParticipantChanged"
|
||||
<< data.participantId()
|
||||
<< data.designations().size();
|
||||
if (data.designations().size() > 0)
|
||||
<< data.participantId
|
||||
<< data.designations.size();
|
||||
if (data.designations.size() > 0)
|
||||
{
|
||||
for (const ParticipantManagement::LaserDesignation &designation : std::as_const(data.designations()))
|
||||
for (const ParticipantManagement::LaserDesignation &designation : std::as_const(data.designations))
|
||||
{
|
||||
DEBUG_LOG(m_logger) << "gearId=" << designation.gearId()
|
||||
<< " code=" << designation.code()
|
||||
<< " z=" << designation.spotLocation().z()
|
||||
<< " outputPower=" << designation.outputPower();
|
||||
DEBUG_LOG(m_logger) << "gearId=" << designation.gearId
|
||||
<< " code=" << designation.code
|
||||
<< " z=" << designation.spotLocation.z
|
||||
<< " outputPower=" << designation.outputPower;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user