45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#pragma once
|
|
|
|
|
|
#include "SimCore/EffectorData.hpp"
|
|
#include "SimCore/Identifier.hpp"
|
|
#include "SimCore/SensorData.hpp"
|
|
#include "WHISPER/Messages/Message.hpp"
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
namespace SimCore
|
|
{
|
|
|
|
|
|
class SystemStateUpdate
|
|
{
|
|
public:
|
|
SystemStateUpdate(const SimCore::Identifier OwnID);
|
|
SimCore::Identifier getOwnID();
|
|
|
|
void addSensorData(SimCore::SensorData data);
|
|
|
|
void addEffectorData(SimCore::EffectorData data);
|
|
|
|
/// @brief return a WHISPER Message out of a simtrack object
|
|
/// @return WHISPER::Message
|
|
WHISPER::Message buildMessage();
|
|
|
|
/// @brief creates a SimTrack out of a whisper message
|
|
/// @param msg
|
|
/// @return SimTrack Oject
|
|
static std::unique_ptr<SystemStateUpdate> unpack(WHISPER::Message msg);
|
|
|
|
std::vector<SensorData> getSensorData();
|
|
std::vector<EffectorData> getEffectorData();
|
|
|
|
|
|
private:
|
|
const SimCore::Identifier OwnID;
|
|
|
|
std::vector<SensorData> SensorData_;
|
|
std::vector<EffectorData> EffectorData_;
|
|
};
|
|
|
|
} |