From d56df03ed41623ffd05f8e9de02cdb0745449cd5 Mon Sep 17 00:00:00 2001 From: Henry Winkel Date: Thu, 14 Mar 2024 17:48:18 +0100 Subject: [PATCH] ADD: changed way how sensors are recognised --- src/Entities/SensorManager.cpp | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/Entities/SensorManager.cpp b/src/Entities/SensorManager.cpp index 5fadb09..184c7cf 100644 --- a/src/Entities/SensorManager.cpp +++ b/src/Entities/SensorManager.cpp @@ -37,7 +37,7 @@ namespace Entities void SensorManager::startSensor(std::shared_ptr pod,SimCore::SensorKinds SensorKind) { PodController_->startPod(pod); - SensorStore[pod->getUUID()] = std::make_unique(SimCore::Identifier(pod->getUUID()),pod->getName(),pod->getIp(),SensorKind); + // SensorStore[pod->getUUID()] = std::make_unique(SimCore::Identifier(pod->getUUID()),pod->getName(),pod->getIp(),SensorKind); } @@ -129,20 +129,17 @@ namespace Entities void SensorManager::updateTracklistForSensor(std::string uuidSensor, std::shared_ptr track) { - auto sensor= getSensorByUUID(uuidSensor); + auto sensor = getSensorByUUID(uuidSensor); if(sensor == nullptr) { - return; + SensorStore[track->getSensorData()->getID().getUUID()] = std::make_unique(track->getSensorData()->getID(),track->getSensorData()->getName(),track->getSensorData()->getIP(),track->getSensorData()->getSensorKind()); + sensor = getSensorByUUID(uuidSensor); } + sensor->TrackStore.addTrack(track); - // auto it = SensorStore.find(uuidSensor); - // if( it != SensorStore.end()) - // { - // it->second->TrackStore.addTrack(std::move(track)); - // } - + } @@ -169,29 +166,29 @@ namespace Entities nlohmann::json sonar; nlohmann::json visual; - for(const auto& [key, value] : SensorStore ) + for(const auto& [key, sensorItem] : SensorStore ) { nlohmann::json sensor; - sensor["SensorName"] = value->getName(); - sensor["SensorID"] = value->getID().getUUID(); - sensor["SensorStatus"] = SimCore::toString(value->getSensorStatus()); + sensor["SensorName"] = sensorItem->getName(); + sensor["SensorID"] = sensorItem->getID().getUUID(); + sensor["SensorStatus"] = SimCore::toString(sensorItem->getSensorStatus()); sensor["SensorEnabled"] = "false"; - if (value->getSensorStatus() == SimCore::Status::ACTIVE) + if (sensorItem->getSensorStatus() == SimCore::Status::ACTIVE) { sensor["SensorEnabled"] = "true"; } sensor["SensorDamaged"] = "false"; - if (value->getSensorStatus() == SimCore::Status::DEFEKT || value->getSensorStatus() == SimCore::Status::DEGRADED) + if (sensorItem->getSensorStatus() == SimCore::Status::DEFEKT || sensorItem->getSensorStatus() == SimCore::Status::DEGRADED) { sensor["SensorDamaged"] = "true"; } nlohmann::json contacts; - value->TrackStore.getJsonTRackList(contacts); + sensorItem->TrackStore.getJsonTRackList(contacts); sensor["SensorContacts"] = contacts["Entities"]; - switch (value->getSensorKind()) { + switch (sensorItem->getSensorKind()) { case SimCore::SensorKinds::RADAR: { @@ -257,6 +254,7 @@ namespace Entities auto Update = std::make_unique(OwnId_); + for(auto [key,item]: SensorStore) { Update->addTrack(item->getSensorTracklistItem());