RoboidControl-cpp/DistanceSensor.h
2023-11-14 17:15:17 +01:00

34 lines
1.1 KiB
C++

#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;
};