#ifndef BODYMAP_PART_H
#define BODYMAP_PART_H

#include <cstdint>
#include <string>
#include <set>

#include <sensors/interoceptor.h>

namespace mrntt {
namespace bodyMap {

class Spot
{
public:
    Spot(uint32_t _id, std::string _description) 
    : id(_id), description(_description)
    {}

    ~Spot() = default;

public:
    uint32_t id;
    std::string description;
    std::set<uint32_t, Interoceptor> interoceptors;
};

class Part
{
public:
    Part(uint32_t _partId, std::string _partName, 
            std::string _partDesc, std::string _partLoc)
    : id(_partId), name(_partName), 
    description(_partDesc), location(_partLoc)
    {}

    ~Part() = default;

public:
    const uint32_t id;
    std::string name, description, location;
    std::set<uint32_t, Spot> spots;
};

} // namespace bodyMap
} // namespace mrntt

#endif // BODYMAP_PART_H
