#ifndef MRNTT_BODYMAP_BODYMESSAGE_H #define MRNTT_BODYMAP_BODYMESSAGE_H #include #include #include #include namespace mrntt { namespace bodyMap { class BodyMessage { public: BodyMessage() = default; ~BodyMessage() = default; }; class SpotImpactEntry { public: enum class ReportType { PRESSURE, PAIN, PLEASURE, HEAT, COLD }; SpotImpactEntry(uint32_t _spot, ReportType _type, uint32_t _value) : spot(_spot), type(_type), value(_value) {} ~SpotImpactEntry() = default; public: uint32_t spot; ReportType type; uint32_t value; }; class SpotImpactInd : public BodyMessage { public: SpotImpactInd(Part &_part) : part(_part) {} ~SpotImpactInd() = default; public: Part ∂ std::vector entries; }; class PartMsg : public BodyMessage { public: PartMsg(const Part& _part) : part(_part) {} public: const Part& part; }; } // namespace bodyMap } // namespace mrntt #endif // MRNTT_BODYMAP_BODYMESSAGE_H