Files
salmanoff/hcore/include/marionette/body/bodyMessage.h
T

66 lines
1.0 KiB
C++
Raw Normal View History

2025-07-22 02:03:09 -04:00
#ifndef MRNTT_BODY_BODYMESSAGE_H
#define MRNTT_BODY_BODYMESSAGE_H
#include <vector>
#include <cstdint>
#include <body/limb.h>
2025-07-22 02:03:09 -04:00
#include <body/part.h>
namespace mrntt {
namespace body {
class BodyMessage
{
public:
BodyMessage() = default;
~BodyMessage() = default;
};
2025-07-22 02:03:09 -04:00
class SpotImpactEntry
{
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)
: spot(_spot), type(_type), value(_value)
{}
2025-07-22 02:03:09 -04:00
~SpotImpactEntry() = default;
public:
uint32_t spot;
ReportType type;
uint32_t value;
};
2025-07-22 02:03:09 -04:00
class SpotImpactInd : public BodyMessage
{
public:
2025-07-22 02:03:09 -04:00
SpotImpactInd(Part &_part) : part(_part) {}
~SpotImpactInd() = default;
public:
2025-07-22 02:03:09 -04:00
Part &part;
std::vector<SpotImpactEntry> entries;
};
2025-07-22 02:03:09 -04:00
class PartMsg : public BodyMessage
{
public:
2025-07-22 02:03:09 -04:00
PartMsg(const Part& _part) : part(_part) {}
public:
2025-07-22 02:03:09 -04:00
const Part& part;
};
2025-07-22 02:03:09 -04:00
} // namespace body
} // namespace mrntt
#endif // MRNTT_BODY_BODYMESSAGE_H