FIX: own Sensor Data is now a shared pointer

This commit is contained in:
Henry Winkel
2024-03-07 16:17:43 +01:00
parent 92cddbbff4
commit 5331e000db
2 changed files with 5 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ namespace Entities {
protected: protected:
SimCore::SensorData OwnData; std::shared_ptr<SimCore::SensorData> OwnData;
virtual void specificSensorCalculations(std::unique_ptr<SimCore::SimTrack> track) = 0; virtual void specificSensorCalculations(std::unique_ptr<SimCore::SimTrack> track) = 0;

View File

@@ -1,6 +1,7 @@
#include <SimCore/Position.hpp> #include <SimCore/Position.hpp>
#include "DirectCommunicationClient.hpp" #include "DirectCommunicationClient.hpp"
#include "Orders/Order.hpp" #include "Orders/Order.hpp"
#include "SimCore/Messages/SensorData.hpp"
#include "SimCore/Messages/SensorTrack.hpp" #include "SimCore/Messages/SensorTrack.hpp"
#include "SimCore/Messages/SimTrack.hpp" #include "SimCore/Messages/SimTrack.hpp"
#include "SimCore/SimCore.hpp" #include "SimCore/SimCore.hpp"
@@ -29,7 +30,7 @@ namespace Entities {
GroundTruthPort_(GroundTruthPort), GroundTruthPort_(GroundTruthPort),
ParentPort_(ParentPort), ParentPort_(ParentPort),
ParentIPAddress_(ParentIPAddress), ParentIPAddress_(ParentIPAddress),
OwnData(OwnID,Name,SimCore::UtilFunctions::getOwnIP(),SensorKind) OwnData(std::make_shared<SimCore::SensorData>(OwnID,Name,SimCore::UtilFunctions::getOwnIP(),SensorKind))
{ {
@@ -42,7 +43,7 @@ namespace Entities {
GroundTruthUDPListener_->connect(); GroundTruthUDPListener_->connect();
GroundTruthUDPListener_->subscribe(WHISPER::MsgTopics::TRACK); GroundTruthUDPListener_->subscribe(WHISPER::MsgTopics::TRACK);
client_ = std::make_unique<DirectCommunication::DirectCommunicationClient>(ParentPort_,ParentIPAddress_,this->OwnData.getID().getUUID()); client_ = std::make_unique<DirectCommunication::DirectCommunicationClient>(ParentPort_,ParentIPAddress_,this->OwnData->getID().getUUID());
client_->registerMessageCallback(std::bind(&Sensor::handlServerMessages,this,std::placeholders::_1)); client_->registerMessageCallback(std::bind(&Sensor::handlServerMessages,this,std::placeholders::_1));
client_->sendMessage("Hello Server"); client_->sendMessage("Hello Server");
@@ -198,6 +199,7 @@ void Sensor::updateOwnShipFunction()
if (track != nullptr) if (track != nullptr)
{ {
LOG_S(INFO)<<"updated Tracklist"; LOG_S(INFO)<<"updated Tracklist";
track->addSensorData(OwnData);
client_->sendMessage(track->buildMessage()); client_->sendMessage(track->buildMessage());
} }
} }