diff --git a/include/Entities/Sensor.hpp b/include/Entities/Sensor.hpp index d2d4dfe..f87b62f 100644 --- a/include/Entities/Sensor.hpp +++ b/include/Entities/Sensor.hpp @@ -42,7 +42,7 @@ namespace Entities { protected: - SimCore::SensorData OwnData; + std::shared_ptr OwnData; virtual void specificSensorCalculations(std::unique_ptr track) = 0; diff --git a/src/Entities/Sensor.cpp b/src/Entities/Sensor.cpp index 87f1878..5ef2454 100644 --- a/src/Entities/Sensor.cpp +++ b/src/Entities/Sensor.cpp @@ -1,6 +1,7 @@ #include #include "DirectCommunicationClient.hpp" #include "Orders/Order.hpp" +#include "SimCore/Messages/SensorData.hpp" #include "SimCore/Messages/SensorTrack.hpp" #include "SimCore/Messages/SimTrack.hpp" #include "SimCore/SimCore.hpp" @@ -29,7 +30,7 @@ namespace Entities { GroundTruthPort_(GroundTruthPort), ParentPort_(ParentPort), ParentIPAddress_(ParentIPAddress), - OwnData(OwnID,Name,SimCore::UtilFunctions::getOwnIP(),SensorKind) + OwnData(std::make_shared(OwnID,Name,SimCore::UtilFunctions::getOwnIP(),SensorKind)) { @@ -42,7 +43,7 @@ namespace Entities { GroundTruthUDPListener_->connect(); GroundTruthUDPListener_->subscribe(WHISPER::MsgTopics::TRACK); - client_ = std::make_unique(ParentPort_,ParentIPAddress_,this->OwnData.getID().getUUID()); + client_ = std::make_unique(ParentPort_,ParentIPAddress_,this->OwnData->getID().getUUID()); client_->registerMessageCallback(std::bind(&Sensor::handlServerMessages,this,std::placeholders::_1)); client_->sendMessage("Hello Server"); @@ -198,6 +199,7 @@ void Sensor::updateOwnShipFunction() if (track != nullptr) { LOG_S(INFO)<<"updated Tracklist"; + track->addSensorData(OwnData); client_->sendMessage(track->buildMessage()); } }