2025-09-14 13:16:02 -04:00
|
|
|
#ifndef MRNTT_BODYMAP_BODYMESSAGE_H
|
|
|
|
|
#define MRNTT_BODYMAP_BODYMESSAGE_H
|
2024-11-22 13:11:33 +11:00
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
2025-09-14 13:16:02 -04:00
|
|
|
#include <bodyMap/limb.h>
|
|
|
|
|
#include <bodyMap/part.h>
|
2025-07-22 02:03:09 -04:00
|
|
|
|
|
|
|
|
namespace mrntt {
|
2025-09-14 13:16:02 -04:00
|
|
|
namespace bodyMap {
|
2024-11-22 13:11:33 +11:00
|
|
|
|
|
|
|
|
class BodyMessage
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
BodyMessage() = default;
|
|
|
|
|
~BodyMessage() = default;
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-22 02:03:09 -04:00
|
|
|
class SpotImpactEntry
|
2024-11-22 13:11:33 +11:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
enum class ReportType
|
|
|
|
|
{
|
|
|
|
|
PRESSURE,
|
|
|
|
|
PAIN,
|
|
|
|
|
PLEASURE,
|
|
|
|
|
HEAT,
|
|
|
|
|
COLD
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-22 02:03:09 -04:00
|
|
|
SpotImpactEntry(uint32_t _spot, ReportType _type, uint32_t _value)
|
2024-11-22 13:11:33 +11:00
|
|
|
: spot(_spot), type(_type), value(_value)
|
|
|
|
|
{}
|
2025-07-22 02:03:09 -04:00
|
|
|
~SpotImpactEntry() = default;
|
2024-11-22 13:11:33 +11:00
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
uint32_t spot;
|
|
|
|
|
ReportType type;
|
|
|
|
|
uint32_t value;
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-22 02:03:09 -04:00
|
|
|
class SpotImpactInd : public BodyMessage
|
2024-11-22 13:11:33 +11:00
|
|
|
{
|
|
|
|
|
public:
|
2025-07-22 02:03:09 -04:00
|
|
|
SpotImpactInd(Part &_part) : part(_part) {}
|
|
|
|
|
~SpotImpactInd() = default;
|
2024-11-22 13:11:33 +11:00
|
|
|
|
|
|
|
|
public:
|
2025-07-22 02:03:09 -04:00
|
|
|
Part ∂
|
|
|
|
|
std::vector<SpotImpactEntry> entries;
|
2024-11-22 13:11:33 +11:00
|
|
|
};
|
|
|
|
|
|
2025-07-22 02:03:09 -04:00
|
|
|
class PartMsg : public BodyMessage
|
2024-11-22 13:11:33 +11:00
|
|
|
{
|
|
|
|
|
public:
|
2025-07-22 02:03:09 -04:00
|
|
|
PartMsg(const Part& _part) : part(_part) {}
|
2024-11-22 13:11:33 +11:00
|
|
|
|
|
|
|
|
public:
|
2025-07-22 02:03:09 -04:00
|
|
|
const Part& part;
|
2024-11-22 13:11:33 +11:00
|
|
|
};
|
|
|
|
|
|
2025-09-14 13:16:02 -04:00
|
|
|
} // namespace bodyMap
|
2025-07-22 02:03:09 -04:00
|
|
|
} // namespace mrntt
|
|
|
|
|
|
2025-09-14 13:16:02 -04:00
|
|
|
#endif // MRNTT_BODYMAP_BODYMESSAGE_H
|