#pragma once #include "Sensor.h" /// @brief A sensor which can measure the distance the the nearest object class DistanceSensor : public Sensor { public: DistanceSensor(); // { isDistanceSensor = true; } DistanceSensor(float triggerDistance); // { isDistanceSensor = true; this->triggerDistance = triggerDistance; } /// @brief Determine the distance to the nearest object /// @return the measured distance in meters to the nearest object virtual float GetDistance(); // { return distance; }; void SetDistance(float distance); // { this->distance = distance; }; // for simulation purposes /// @brief The distance at which ObjectNearby triggers float triggerDistance = 1; bool IsOn(); // { // bool isOn = GetDistance() <= triggerDistance; // return isOn; // } bool isOff(); // { // bool isOff = GetDistance() > triggerDistance; // return isOff; // } protected: float distance = 0; };