#pragma once /// @brief A thing is a functional component on a robot class Thing { public: Thing() { type = Type::Undetermined; // isSensor = false, isMotor = false; } enum class Type { Undetermined, Sensor, Motor, ControlledMotor }; Type type = Type::Undetermined; // bool isSensor; // bool isMotor; // bool isControlledMotor; };