34 lines
1.1 KiB
C++
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;
|
|
};
|