Migrates AreaEffectSimulation to generated rtiddsgen API

Converts accessor calls to plain member access across aes service and plugin.
This commit is contained in:
berrux-dev committed 2026-09-21 02:45:07 +02:00
1 parent e8d07af320
commit 472f537313
102 files changed
+3307 -3313

No files matched your search

@@ -28,8 +28,8 @@ namespace AreaEffectSimulation
HandlerEffectCluster::HandlerEffectCluster(MainHandler *mainHandler)
: HandlerBaseTmpl<ObjectEffectCluster>(mainHandler,
QStringLiteral("EffectCluster"),
s_areaCount[AesType::AtEffectCluster],
s_areaCountCentral[AesType::AtEffectCluster])
s_areaCount[static_cast<int>(AesType::AtEffectCluster)],
s_areaCountCentral[static_cast<int>(AesType::AtEffectCluster)])
, Interface::Fts::EffectClusterModifyRequestHandler(mainHandler->dds()->fts())
, Interface::Fts::EffectClusterModifyActorRequestHandler(mainHandler->dds()->fts())
, Interface::Fts::EffectClusterSingleEffectOnlyModifyRequestHandler(mainHandler->dds()->fts())
@@ -147,12 +147,12 @@ void HandlerEffectCluster::onFireCommandReceived(const TrainingAreaBase::EX_Fire
// get fireReference
if (modtype == DataModification::eRemoved)
return;
DEBUG_LOG(m_logger) << "got EX_Fire for ref: " << fire.reference() << " internal mapsize " << m_referenceToClusterId.size();
auto *ifs = m_objectMap.value(m_referenceToClusterId.value(QString::fromStdString(fire.reference())));
DEBUG_LOG(m_logger) << "got EX_Fire for ref: " << fire.reference << " internal mapsize " << m_referenceToClusterId.size();
auto *ifs = m_objectMap.value(m_referenceToClusterId.value(QString::fromStdString(fire.reference)));
if (!ifs)
return;
ifs->sendFireCommand(AdlerJson::waffensystemkennerMap.key(fire.effectorId()));
ifs->sendFireCommand(AdlerJson::waffensystemkennerMap.key(fire.effectorId));
}
void HandlerEffectCluster::onFireHoldReceived(const TrainingAreaBase::EX_CeaseFiring &ceaseFire, DataModification modType)
@@ -162,7 +162,7 @@ void HandlerEffectCluster::onFireHoldReceived(const TrainingAreaBase::EX_CeaseFi
return;
}
int HandlerEffectCluster::totalAreasCentral() const { return s_areaCountCentral[AesType::AtEffectCluster]; }
int HandlerEffectCluster::totalAreasCentral() const { return s_areaCountCentral[static_cast<int>(AesType::AtEffectCluster)]; }
// Appends
/*
@@ -179,69 +179,69 @@ static void fillData(const EffectClusterModifyRequest &src,
QVector<Database::AesEffectorData> &dstEffectorVector,
MainHandler *mainHandler)
{
if (src.id() < 0) // is the id given as negative? set id -> used by OC-Laptop
dst.id = src.id();
if (src.id < 0) // is the id given as negative? set id -> used by OC-Laptop
dst.id = src.id;
dst.name = QString::fromStdString(src.name());
dst.element = QString::fromStdString(src.element());
dst.name = QString::fromStdString(src.name);
dst.element = QString::fromStdString(src.element);
dst.impactPosition.rx() = src.area().cornerBottomLeft().lon();
dst.impactPosition.ry() = src.area().cornerBottomLeft().lat();
dst.impactLength = src.area().height();
dst.impactWidth = src.area().width();
dst.rotationAngle = src.area().rotation();
dst.impactPosition.rx() = src.area.cornerBottomLeft.lon;
dst.impactPosition.ry() = src.area.cornerBottomLeft.lat;
dst.impactLength = src.area.height;
dst.impactWidth = src.area.width;
dst.rotationAngle = src.area.rotation;
const bool bIsPointSimilar = (src.explosionGeometry() == AreaEffectSimulation::AesExplosionGeometry_def::EgAimPoint)
|| (src.explosionGeometry() == AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
const bool bIsPointSimilar = (src.explosionGeometry == AreaEffectSimulation::AesExplosionGeometry::EgAimPoint)
|| (src.explosionGeometry == AreaEffectSimulation::AesExplosionGeometry::EgPoint);
dstEffectorVector.reserve(src.effectors().size());
dstEffectorVector.reserve(src.effectors.size());
Database::AesEffectorData dstEffector;
int localImpactCount = 0;
int firstChargeTypeId = 0;
for (const auto &effector : src.effectors())
for (const auto &effector : src.effectors)
{
// copy from Source Request.
dstEffector.angleOfFall = effector.angleOfFall();
dstEffector.chargeAmount = effector.chargeAmount();
dstEffector.chargeTypeId = effector.chargeStruct().chargeTypeId();
dstEffector.entityId = src.id();
dstEffector.flightTime = effector.flightTime();
dstEffector.igniterTypeId = effector.chargeStruct().igniterTypeId();
dstEffector.igniterFunctionId = effector.chargeStruct().igniterFunctionId();
dstEffector.interval = effector.interval();
dstEffector.mhpPosition.rx() = effector.mhpPosition().lon();
dstEffector.mhpPosition.ry() = effector.mhpPosition().lat();
dstEffector.mhpPosition.rz() = effector.mhpPosition().z(); // [E01562-399]
dstEffector.properties = QString::fromStdString(effector.properties());
dstEffector.angleOfFall = effector.angleOfFall;
dstEffector.chargeAmount = effector.chargeAmount;
dstEffector.chargeTypeId = effector.chargeStruct.chargeTypeId;
dstEffector.entityId = src.id;
dstEffector.flightTime = effector.flightTime;
dstEffector.igniterTypeId = effector.chargeStruct.igniterTypeId;
dstEffector.igniterFunctionId = effector.chargeStruct.igniterFunctionId;
dstEffector.interval = effector.interval;
dstEffector.mhpPosition.rx() = effector.mhpPosition.lon;
dstEffector.mhpPosition.ry() = effector.mhpPosition.lat;
dstEffector.mhpPosition.rz() = effector.mhpPosition.z; // [E01562-399]
dstEffector.properties = QString::fromStdString(effector.properties);
// FillScatterData
if (effector.mhpScatterLenght() > 0.0)
dstEffector.mhpScatterLenght = effector.mhpScatterLenght();
if (effector.mhpScatterLenght > 0.0)
dstEffector.mhpScatterLenght = effector.mhpScatterLenght;
else
dstEffector.mhpScatterLenght = Settings::getScatterLenghtDefault();
dstEffector.mhpScatterLengthDetonationHeight = effector.mhpScatterLengthDetonationHeight();
if (effector.mhpScatterWidth() > 0.0)
dstEffector.mhpScatterWidth = effector.mhpScatterWidth();
dstEffector.mhpScatterLengthDetonationHeight = effector.mhpScatterLengthDetonationHeight;
if (effector.mhpScatterWidth > 0.0)
dstEffector.mhpScatterWidth = effector.mhpScatterWidth;
else
dstEffector.mhpScatterWidth = Settings::getScatterWidthDefault();
dstEffector.mhpScatterWidthDetonationHeight = effector.mhpScatterWidthDetonationHeight();
dstEffector.mhpScatterWidthDetonationHeight = effector.mhpScatterWidthDetonationHeight;
// Fill rest
dstEffector.participantId = effector.participantId();
dstEffector.peakHeight = effector.peakHeight();
dstEffector.trajectory = QString::fromStdString(TrajectoryRelative::toString(effector.trajectoryRelative()));
dstEffector.participantId = effector.participantId;
dstEffector.peakHeight = effector.peakHeight;
dstEffector.trajectory = QString::fromStdString(TrajectoryRelative::toString(effector.trajectoryRelative));
// sanity stuff
localImpactCount = localImpactCount + dstEffector.chargeAmount;
if (firstChargeTypeId <= 0)
firstChargeTypeId = effector.chargeStruct().chargeTypeId();
firstChargeTypeId = effector.chargeStruct.chargeTypeId;
// check if it's a single fire
if (bIsPointSimilar && ((src.area().width() <= 0) || (src.area().height() <= 0)))
if (bIsPointSimilar && ((src.area.width <= 0) || (src.area.height <= 0)))
{
const Core::GeoPosition2D &cornerBottomLeft = src.area().cornerBottomLeft();
const double impactDiameter = mainHandler->dds()->pdmDtc()->impactRadius(effector.chargeStruct().chargeTypeId(),
effector.chargeStruct().igniterTypeId(),
effector.chargeStruct().igniterFunctionId())
const Core::GeoPosition2D &cornerBottomLeft = src.area.cornerBottomLeft;
const double impactDiameter = mainHandler->dds()->pdmDtc()->impactRadius(effector.chargeStruct.chargeTypeId,
effector.chargeStruct.igniterTypeId,
effector.chargeStruct.igniterFunctionId)
* 2.0; // GUEZE-2634
const QPointF bottomLeft(Polygons::centerPoint2BottomLeft(QPointF(cornerBottomLeft.lon(), cornerBottomLeft.lat()), impactDiameter, impactDiameter, 0));
const QPointF bottomLeft(Polygons::centerPoint2BottomLeft(QPointF(cornerBottomLeft.lon, cornerBottomLeft.lat), impactDiameter, impactDiameter, 0));
dstEffector.mhpPosition.rx() = bottomLeft.x();
dstEffector.mhpPosition.ry() = bottomLeft.y();
@@ -252,14 +252,14 @@ static void fillData(const EffectClusterModifyRequest &src,
}
// Save the mhpCountRequest for later
dst.mhpCountRequest = dstEffectorVector.size();
dst.explosionGeometryId = src.explosionGeometry();
dst.tla = src.tla();
dst.explosionGeometryId = src.explosionGeometry;
dst.tla = src.tla;
dst.effectStart = src.effectStart().is_set() && src.effectStart().get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart().get()) : QDateTime();
dst.effectStart = src.effectStart.is_set() && src.effectStart.get() > 0 ? QDateTime::fromMSecsSinceEpoch(src.effectStart.get()) : QDateTime();
// Effect Duration might be set and will be used for the AutoFire
// -- Module Duration
if (src.effectDuration())
dst.effectDuration = src.effectDuration();
if (src.effectDuration)
dst.effectDuration = src.effectDuration;
else
{
// Sometimes there is no effectDuration
@@ -267,20 +267,20 @@ static void fillData(const EffectClusterModifyRequest &src,
dst.effectDuration = DEFAULT_EFFECT_DURATION;
}
dst.effectSourceId = src.effectSourceId();
dst.effectSourceId = src.effectSourceId;
dst.firePurposeId = src.firePurposeId();
dst.firePurposeId = src.firePurposeId;
dst.partyId = src.partyId().is_set() ? src.partyId().get() : 0;
dst.participantId = src.participantId().is_set() ? src.participantId().get() : -1; // -1 -> avoid trajectory
dst.partyId = src.partyId.is_set() ? src.partyId.get() : 0;
dst.participantId = src.participantId.is_set() ? src.participantId.get() : -1; // -1 -> avoid trajectory
dst.altitude = -1;
dst.effectMarkingInTa = src.effectMarkingInTa();
dst.externalId = src.externalId().is_set() ? src.externalId().get() : 0;
dst.effectMarkingInTa = src.effectMarkingInTa;
dst.externalId = src.externalId.is_set() ? src.externalId.get() : 0;
dst.properties = QString::fromStdString(src.properties());
dst.esmParticipantIds = LtsUtils::IntArray(src.esmParticipantIds());
dst.properties = QString::fromStdString(src.properties);
dst.esmParticipantIds = LtsUtils::IntArray(src.esmParticipantIds);
// some modules:
// if (dst.impactCount == 0 && localImpactCount > 0)
@@ -297,8 +297,8 @@ void HandlerEffectCluster::onEffectClusterModifyRequest(const rti::core::SampleI
// DEBUG_LOG(m_logger) << "************************************ start onEffectClusterModifyRequest: " << request;
Core::FunctionReplyObject ret = effectClusterModifyRequest(cookie, request);
if (ret.error())
WARNING_LOG(m_logger) << ret() << ", effectStart :" << request.effectStart();
ret.setAdditionalInfo(request.properties().c_str());
WARNING_LOG(m_logger) << ret() << ", effectStart :" << request.effectStart;
ret.setAdditionalInfo(request.properties.c_str());
// DEBUG_LOG(m_logger) << "************************************ SEND REPLY FOR onEffectClusterModifyRequest: " << request;
m_mainHandler->dds()->fts()->effectClusterModifyReply(cookie, ret);
@@ -309,7 +309,7 @@ void HandlerEffectCluster::onEffectClusterModifyActorRequest(const rti::core::Sa
// DEBUG_LOG(m_logger) << "************************************ start onEffectClusterModifyActorRequest: " << request;
Core::FunctionReplyObject ret;
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId(), ret);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId, ret);
if (!ifs)
{
m_mainHandler->dds()->fts()->effectClusterModifyActorReply(cookie, ret);
@@ -380,28 +380,28 @@ void HandlerEffectCluster::onEffectClusterOcModifyRequest(const rti::core::Sampl
EffectClusterModifyRequest ecCommonModifyRequest;
ecCommonModifyRequest.id(request.id());
ecCommonModifyRequest.id = request.id;
// ecCommonModifyRequest.externalId(request.externalId());
ecCommonModifyRequest.effectStart(request.effectStart());
ecCommonModifyRequest.effectDuration(request.effectDuration());
ecCommonModifyRequest.effectStart = request.effectStart;
ecCommonModifyRequest.effectDuration = request.effectDuration;
// charge and geometry:
ecCommonModifyRequest.area(request.area());
ecCommonModifyRequest.area = request.area;
int impactCount = 0;
for (const auto &effector : request.effectors())
effector.chargeAmount();
for (const auto &effector : request.effectors)
effector.chargeAmount;
if (impactCount == 1)
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgPoint);
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgPoint;
else
ecCommonModifyRequest.explosionGeometry(AreaEffectSimulation::AesExplosionGeometry_def::EgArea);
ecCommonModifyRequest.explosionGeometry = AreaEffectSimulation::AesExplosionGeometry::EgArea;
// ecCommonModifyRequest.zog(0);
ecCommonModifyRequest.effectors(request.effectors());
ecCommonModifyRequest.name(request.name()); // ZpNummer
ecCommonModifyRequest.element(ecCommonModifyRequest.element()); // element
ecCommonModifyRequest.effectors = request.effectors;
ecCommonModifyRequest.name = request.name; // ZpNummer
ecCommonModifyRequest.element = ecCommonModifyRequest.element; // element
ecCommonModifyRequest.partyId(request.partyId());
ecCommonModifyRequest.partyId = request.partyId;
// ecCommonModifyRequest.participantId(-1); // -1 -> avoid trajectory
// ToDo: no trajectory needed, but how can we transfer the rotation of MhpAreas?
@@ -423,26 +423,26 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterCreateRequest(const
// external (externalId==0) -> partyId required
// We keep the old charge behavior
// and also ignore it from ADLER?
const int externalIdValue = request.externalId().is_set() ? request.externalId().get() : 0;
if (request.effectors().size() == 0)
const int externalIdValue = request.externalId.is_set() ? request.externalId.get() : 0;
if (request.effectors.size() == 0)
return Core::FunctionReplyObject(tr_lts("dds", "Invalid Effector Count"));
// We assume that there is no mixture of GeraClasses between charges
const ProjectDataManagement::GearClass gearClass = m_mainHandler->gearClassOfChargeTypeId(request.effectors().at(0).chargeStruct().chargeTypeId());
const ProjectDataManagement::GearClass gearClass = m_mainHandler->gearClassOfChargeTypeId(request.effectors.at(0).chargeStruct.chargeTypeId);
const bool bDoClaimPlannedCharge = (request.id() == 0) && (externalIdValue == 0)
&& (gearClass != ProjectDataManagement::GearClass_def::AirSupport
const bool bDoClaimPlannedCharge = (request.id == 0) && (externalIdValue == 0)
&& (gearClass != ProjectDataManagement::GearClass::GearClass_AirSupport
//&& (m_mainHandler->dds()->pdmDtc()->isAdlerChargeType(request.chargeTypeId()))
)
&& 1 == 2 && (request.effectSourceId() == ProjectDataManagement::EffectSource::ES_Internal);
&& 1 == 2 && (request.effectSourceId == ProjectDataManagement::EffectSource::ES_Internal);
if (bDoClaimPlannedCharge)
{
// get full charge amount per charge
QMap<int, int> mapChargeTypeAmount; // QMp<chargeTypeId, chargeAmount>
for (const auto &effector : request.effectors())
mapChargeTypeAmount.insert(effector.chargeStruct().chargeTypeId(), mapChargeTypeAmount.value(effector.chargeStruct().chargeTypeId()) + effector.chargeAmount());
for (const auto &effector : request.effectors)
mapChargeTypeAmount.insert(effector.chargeStruct.chargeTypeId, mapChargeTypeAmount.value(effector.chargeStruct.chargeTypeId) + effector.chargeAmount);
QMapIterator<int, int> it(mapChargeTypeAmount);
while (it.hasNext())
{
@@ -452,14 +452,14 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterCreateRequest(const
if (chargeNeeded <= 0)
return Core::FunctionReplyObject(tr_lts("dds", "Invalid impact count (<= 0)."));
if (request.id() == 0)
if (request.id == 0)
{
int chargeLeft = m_mainHandler->chargeAdministrationHandler()->availableCharge(it.key(), request.partyId().get());
int chargeLeft = m_mainHandler->chargeAdministrationHandler()->availableCharge(it.key(), request.partyId.get());
QString chargeName = QString::fromStdString(m_mainHandler->dds()->pdmDtc()->chargeType(it.key()).name());
QString chargeName = QString::fromStdString(m_mainHandler->dds()->pdmDtc()->chargeType(it.key()).name);
QString fireUnitName;
if (request.participantId().is_set())
fireUnitName = QString::fromStdString(m_mainHandler->dds()->ppmDtc()->participant(request.participantId().get()).designator());
if (request.participantId.is_set())
fireUnitName = QString::fromStdString(m_mainHandler->dds()->ppmDtc()->participant(request.participantId.get()).designator);
if (chargeNeeded > chargeLeft)
return Core::FunctionReplyObject(tr_lts("dds", "Invalid impact count. Fire Unit '%1' has %2 charges (%3), but for this cluster %4 are needed."))
@@ -474,11 +474,11 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterCreateRequest(const
Database::AesEffectCluster newData;
QVector<Database::AesEffectorData> newEffectorDataVec;
const QJsonObject propertiesObject = QJsonDocument::fromJson(QByteArray::fromStdString(request.properties())).object();
const QJsonObject propertiesObject = QJsonDocument::fromJson(QByteArray::fromStdString(request.properties)).object();
fillData(request, newData, newEffectorDataVec, m_mainHandler);
DEBUG_LOG(m_logger) << "AUTO newData " << newData.impactCount;
if (!request.properties().empty() && (!request.effectStart().is_set() || request.effectStart().get() == 0))
if (!request.properties.empty() && (!request.effectStart.is_set() || request.effectStart.get() == 0))
{
newData.isUsingEffectStateReceived = propertiesObject.value(QStringLiteral("useReceived")).toBool();
}
@@ -513,7 +513,7 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterCreateRequest(const
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active air supports."));
}
}
else if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtEffectCluster]) + (s_currentAirSupportCount) && request.effectStart().is_set())
else if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtEffectCluster)]) + (s_currentAirSupportCount) && request.effectStart.is_set())
{
ifs->removeObject(); // Not finally deleted from db after this,Fallback if DB deletion is not working correct
ifs->removeObjectFromDb();
@@ -543,21 +543,21 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterModifyRequest(const
// // externalId maybe set be HLA interface:
// // from external (externalIdValue>0) -> no partyId required
// // from internal (externalIdValue==0) -> partyId required
// const int externalIdValue = request.externalId().is_set() ? request.externalId().get() : 0;
// if (externalIdValue == 0 && !request.partyId().is_set())
// const int externalIdValue = request.externalId.is_set() ? request.externalId.get() : 0;
// if (externalIdValue == 0 && !request.partyId.is_set())
// return Core::FunctionReplyObject(tr_lts("dds", "Explosion areas need a party id."));
DEBUG_LOG(m_logger) << "request.effectStart :" << request.effectStart() << ", effectDuration :"
<< request.effectDuration()
DEBUG_LOG(m_logger) << "request.effectStart :" << request.effectStart << ", effectDuration :"
<< request.effectDuration
// << ", flightDuration :" << request.flightDuration()
// << ", tapTime :" << request.tapTime()
<< ", properties: " << request.properties();
<< ", properties: " << request.properties;
Core::FunctionReplyObject ret;
if (request.id() == 0 || ((request.id() < 0) && !getObjectFromMap(m_objectMap, std::abs(request.id()), ret)))
if (request.id == 0 || ((request.id < 0) && !getObjectFromMap(m_objectMap, std::abs(request.id), ret)))
return effectClusterCreateRequest(request);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, std::abs(request.id()), ret);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, std::abs(request.id), ret);
if (!ifs)
return ret;
@@ -569,12 +569,12 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterModifyRequest(const
const QJsonObject propertiesObject = QJsonDocument::fromJson(QByteArray::fromStdString(aea.properties.toStdString())).object();
// Context NASAT: check via chargeTypeId:
const ProjectDataManagement::GearClass gc = m_mainHandler->gearClassOfChargeTypeId(request.effectors().at(0).chargeStruct().chargeTypeId());
const ProjectDataManagement::GearClass gc = m_mainHandler->gearClassOfChargeTypeId(request.effectors.at(0).chargeStruct.chargeTypeId);
const bool bChargeIsAirSupport = (gc == ProjectDataManagement::GearClass::GearClass_AirSupport);
ifs->setAirSupportSource(bChargeIsAirSupport);
// For counting, only Elements being at least prepared are important:
if (request.effectStart().is_set() && ifs->isObjectModifiable()) // ToDo: check
if (request.effectStart.is_set() && ifs->isObjectModifiable()) // ToDo: check
{
// Calculate new polygon here. Not nice, though
auto poly = Polygons::effectClusterArea(aea);
@@ -590,20 +590,20 @@ Core::FunctionReplyObject HandlerEffectCluster::effectClusterModifyRequest(const
}
else
{
if (totalAreasCentral() >= (s_maxActiveAreasCentral[AesType::AtEffectCluster] + (s_currentAirSupportCount)) && request.effectStart().is_set()
if (totalAreasCentral() >= (s_maxActiveAreasCentral[static_cast<int>(AesType::AtEffectCluster)] + (s_currentAirSupportCount)) && request.effectStart.is_set()
&& ((wasCentral && !ifs->isActivationTimeSet()) || !wasCentral))
return Core::FunctionReplyObject(1, tr_lts("dds", "Too many active central effect clusters."));
}
// For counting, only Elements being at least prepared are important:
}
if (request.id() < 0 && checkStateForSfm(ifs))
if (request.id < 0 && checkStateForSfm(ifs))
{
DEBUG_LOG(m_logger) << "Overwrite Effect State for OC";
aea.effectStateId = AesEffectState::EsPrepared;
}
DEBUG_LOG(m_logger) << "request.properties()" << request.properties() << " aea.properties=" << aea.properties;
DEBUG_LOG(m_logger) << "request.properties()" << request.properties << " aea.properties=" << aea.properties;
// ifs->setEffectors(effectorDataVec);
// updateProperties(aea, effectorDataVec); <- done in fillData
// update internalMap
@@ -656,7 +656,7 @@ void HandlerEffectCluster::onEffectClusterPauseResumeRequest(const rti::core::Sa
{
DEBUG_LOG(m_logger) << "onEffectClusterPauseResumeRequest" << request;
Core::FunctionReplyObject ret;
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.id(), ret);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.id, ret);
if (!ifs)
{
m_mainHandler->dds()->fts()->effectClusterPauseResumeReply(cookie, ret);
@@ -677,13 +677,13 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
Core::FunctionReplyObject ret;
ProjectDataManagement::L22_FireHaltCategory categorie = request.fireHaltCategory();
ProjectDataManagement::L22_FireHaltCategory categorie = request.fireHaltCategory;
QMap<int, ObjectEffectCluster *> effectClusterPartyMap;
for (const auto *area : qAsConst(m_objectMap))
{
if (area->data().partyId == request.partyId())
if (area->data().partyId == request.partyId)
{
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, area->data().id, ret);
if (!ifs)
@@ -696,7 +696,7 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
}
}
switch (categorie.underlying())
switch (categorie)
{
case ProjectDataManagement::L22_FireHaltCategory::L22_FireHaltCategory_A: // Feuer Halt Allgemein
{
@@ -705,9 +705,9 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
{
EffectClusterPauseResumeRequest req;
req.id(ifs->data().id);
req.remainingDuration(ifs->data().effectDuration);
req.resumeExecution(false); // false -> pause aes
req.id = ifs->data().id;
req.remainingDuration = ifs->data().effectDuration;
req.resumeExecution = false; // false -> pause aes
ret = ifs->resumePause(req);
}
@@ -720,9 +720,9 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
// the fire hold with the corresponding target coordinate and circular area.
for (auto *ifs : qAsConst(effectClusterPartyMap))
{
const double lonRad = request.longitude().is_set() ? request.longitude().get() * LtsCoordTrans::deg2rad() : 0.0;
const double latRad = request.latitude().is_set() ? request.latitude().get() * LtsCoordTrans::deg2rad() : 0.0;
const int radius = request.radius().is_set() ? request.radius().get() : 0;
const double lonRad = request.longitude.is_set() ? request.longitude.get() * LtsCoordTrans::deg2rad() : 0.0;
const double latRad = request.latitude.is_set() ? request.latitude.get() * LtsCoordTrans::deg2rad() : 0.0;
const int radius = request.radius.is_set() ? request.radius.get() : 0;
DEBUG_LOG(m_logger) << "[Feuer Halt Referenziert] " << "lonRad : " << lonRad << " " << "latRad : " << latRad << " " << "radius : " << radius;
@@ -731,9 +731,9 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
DEBUG_LOG(m_logger) << "[Feuer Halt Referenziert ----- intersectWithCircle] " << "effectClusterId: " << ifs->data().id;
EffectClusterPauseResumeRequest req;
req.id(ifs->data().id);
req.remainingDuration(ifs->data().effectDuration);
req.resumeExecution(false); // false -> pause aes
req.id = ifs->data().id;
req.remainingDuration = ifs->data().effectDuration;
req.resumeExecution = false; // false -> pause aes
ifs->resumePause(req);
}
@@ -750,7 +750,7 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
{
DEBUG_LOG(m_logger) << "[Feuer Einstellen ----- markAsExpired] " << "effectClusterId: " << ifs->data().id;
ifs->markAsExpired(request.entladenSchuss().is_set() ? request.entladenSchuss().get() : false);
ifs->markAsExpired(request.entladenSchuss.is_set() ? request.entladenSchuss.get() : false);
}
break;
}
@@ -760,8 +760,8 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
DEBUG_LOG(m_logger) << "[Aufheben Feuer Halt Allgemein] " << "effectClusterId: " << ifs->data().id;
EffectClusterPauseResumeRequest req;
req.remainingDuration(ifs->data().effectDuration);
req.resumeExecution(true); // true -> resume aes
req.remainingDuration = ifs->data().effectDuration;
req.resumeExecution = true; // true -> resume aes
ifs->resumePause(req);
}
@@ -770,9 +770,9 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
{
for (auto *ifs : qAsConst(effectClusterPartyMap))
{
const double lonRad = request.longitude().is_set() ? request.longitude().get() * LtsCoordTrans::deg2rad() : 0.0; // optional<lonRad>
const double latRad = request.latitude().is_set() ? request.latitude().get() * LtsCoordTrans::deg2rad() : 0.0; // optional <latRad>
const int radius = request.radius().is_set() ? request.radius().get() : 0;
const double lonRad = request.longitude.is_set() ? request.longitude.get() * LtsCoordTrans::deg2rad() : 0.0; // optional<lonRad>
const double latRad = request.latitude.is_set() ? request.latitude.get() * LtsCoordTrans::deg2rad() : 0.0; // optional <latRad>
const int radius = request.radius.is_set() ? request.radius.get() : 0;
DEBUG_LOG(m_logger) << "[Aufheben Feuer Halt Referenziert] " << "lonRad : " << lonRad << " " << "latRad : " << latRad << " " << "radius : " << radius;
@@ -782,9 +782,9 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
EffectClusterPauseResumeRequest req;
req.id(ifs->data().id);
req.remainingDuration(ifs->data().effectDuration);
req.resumeExecution(true); // true -> resume aes
req.id = ifs->data().id;
req.remainingDuration = ifs->data().effectDuration;
req.resumeExecution = true; // true -> resume aes
ifs->resumePause(req);
}
@@ -792,7 +792,7 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
break;
}
default:
INFO_LOG(m_logger) << "EX-FH missing or wrong FireHaltCategory" << categorie.underlying();
INFO_LOG(m_logger) << "EX-FH missing or wrong FireHaltCategory" << categorie;
break;
}
@@ -805,8 +805,8 @@ void HandlerEffectCluster::onEffectClusterFireHaltRequest(const rti::core::Sampl
void HandlerEffectCluster::onEffectClusterReleaseReceivedRequest(const rti::core::SampleIdentity &cookie, const EffectClusterReleaseReceivedRequest &request)
{
DEBUG_LOG(m_logger) << "onEffectClusterReleaseReceivedRequest" << request;
Core::FunctionReplyObject ret(request.id());
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.id(), ret);
Core::FunctionReplyObject ret(request.id);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.id, ret);
if (!ifs)
{
ERROR_LOG(m_logger) << ret();
@@ -816,7 +816,7 @@ void HandlerEffectCluster::onEffectClusterReleaseReceivedRequest(const rti::core
if (!ifs->isUsingEffectStateReceived())
{
ret = ret.setStr(tr_lts("dds", "EffectCluster with id %1 is not using EffectState Received")).arg(request.id());
ret = ret.setStr(tr_lts("dds", "EffectCluster with id %1 is not using EffectState Received")).arg(request.id);
ERROR_LOG(m_logger) << ret();
m_mainHandler->dds()->fts()->effectClusterReleaseReceivedReply(cookie, ret);
return;
@@ -832,9 +832,9 @@ void HandlerEffectCluster::onEffectClusterReleaseReceivedRequest(const rti::core
void HandlerEffectCluster::onAcknowledgeExternalAesItemRequest(const rti::core::SampleIdentity &cookie, const AcknowledgeExternalAesItemRequest &request)
{
DEBUG_LOG(m_logger) << "HandlerEffectCluster::onAcknowledgeExternalAesItemRequest for aesItem" << request.aesId();
Core::FunctionReplyObject ret(request.aesId());
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId(), ret);
DEBUG_LOG(m_logger) << "HandlerEffectCluster::onAcknowledgeExternalAesItemRequest for aesItem" << request.aesId;
Core::FunctionReplyObject ret(request.aesId);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId, ret);
if (!ifs)
{
ERROR_LOG(m_logger) << ret();
@@ -852,18 +852,18 @@ void HandlerEffectCluster::onAcknowledgeExternalAesItemRequest(const rti::core::
void HandlerEffectCluster::onSetAesItemEffectorStateRequest(const rti::core::SampleIdentity &cookie, const SetAesItemEffectorStateRequest &request)
{
DEBUG_LOG(m_logger) << "HandlerEffectCluster::onSetAesItemEffectorStateRequest for aesItem" << request.aesId() << " to State: " << request.newEffectorState();
Core::FunctionReplyObject ret(request.aesId());
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId(), ret);
DEBUG_LOG(m_logger) << "HandlerEffectCluster::onSetAesItemEffectorStateRequest for aesItem" << request.aesId << " to State: " << request.newEffectorState;
Core::FunctionReplyObject ret(request.aesId);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesId, ret);
if (!ifs)
{
ERROR_LOG(m_logger) << ret();
m_mainHandler->dds()->fts()->setAesItemEffectorStateReply(cookie, ret);
return;
}
if (!ifs->overrideEffectorStates(request.newEffectorState()))
if (!ifs->overrideEffectorStates(request.newEffectorState))
{
ret.setStr(tr_lts("dds", "EffectCluster with id %1 can't change to new State")).arg(request.aesId());
ret.setStr(tr_lts("dds", "EffectCluster with id %1 can't change to new State")).arg(request.aesId);
}
m_mainHandler->dds()->fts()->setAesItemEffectorStateReply(cookie, ret);
@@ -901,7 +901,7 @@ void HandlerEffectCluster::onTrajectoryAdlerModifyRequest(const rti::core::Sampl
{
DEBUG_LOG(m_logger) << "onTrajectoryAdlerModifyRequest" << request;
Core::FunctionReplyObject ret;
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesItemId(), ret);
ObjectEffectCluster *ifs = getObjectFromMap(m_objectMap, request.aesItemId, ret);
if (!ifs)
{
m_mainHandler->dds()->fts()->trajectoryAdlerModifyReply(cookie, ret);