#pragma once #include "Polar.h" #include "Sensor.h" class PerceivedObject { public: PerceivedObject(); PerceivedObject(Sensor *sensor, Polar position, float radius = 0.1F); static constexpr float equalityDistance = 0.3F; static constexpr float equalityAngle = 5.0F; bool IsTheSameAs(PerceivedObject *otherObj); char id; Polar position = Polar::zero; float radius; Sensor *sensor = nullptr; static constexpr unsigned char maxConfidence = 255; static constexpr unsigned char confidenceDropSpeed = 2; unsigned char confidence; bool DegradeConfidence(float deltaTime); void Refresh(Polar position, float radius); };