diff --git a/Sensing.cpp b/Sensing.cpp index 0f797a2..acc9e27 100644 --- a/Sensing.cpp +++ b/Sensing.cpp @@ -1,15 +1,12 @@ -#include "DistanceSensor.h" #include "Sensing.h" -//#include +#include "DistanceSensor.h" +// #include #include #include -extern "C" { - #include "debug.h" -} - -SensorPlacement::SensorPlacement(DistanceSensor* distanceSensor, Vector2 direction) { +SensorPlacement::SensorPlacement(DistanceSensor* distanceSensor, + Vector2 direction) { this->distanceSensor = distanceSensor; this->switchSensor = nullptr; this->direction = direction; @@ -22,7 +19,8 @@ SensorPlacement::SensorPlacement(Switch* switchSensor, Vector2 direction) { Sensing::Sensing() {} -// void Sensing::AddSensors(SensorPlacement* sensors, unsigned int sensorCount) { +// void Sensing::AddSensors(SensorPlacement* sensors, unsigned int sensorCount) +// { // this->sensors = sensors; // this->sensorCount = sensorCount; // } @@ -46,18 +44,18 @@ void Sensing::AddSensors(Placement* things, unsigned int thingCount) { } unsigned int Sensing::GetSensorCount() { - return this->sensorCount; + return this->sensorCount; } Sensor* Sensing::GetSensor(unsigned int sensorId) { - if (sensorId >= this->sensorCount) - return nullptr; - - Thing* thing = this->sensorPlacements[sensorId].thing; - if (thing->isSensor) - return (Sensor*)thing; - + if (sensorId >= this->sensorCount) return nullptr; + + Thing* thing = this->sensorPlacements[sensorId].thing; + if (thing->isSensor) + return (Sensor*)thing; + + return nullptr; } float Sensing::DistanceForward(float angle) { @@ -114,37 +112,37 @@ float Sensing::DistanceRight(float angle) { } float Sensing::DistanceUp(float angle) { - float minDistance = INFINITY; - for (unsigned int sensorIx = 0; sensorIx < this->sensorCount; sensorIx++) { - Placement placement = sensorPlacements[sensorIx]; - Sensor* sensor = (Sensor*)placement.thing; - if (sensor->isDistanceSensor == false) - continue; - - DistanceSensor* distanceSensor = (DistanceSensor*)placement.thing; - float sensorAngle = placement.direction.y; // not correct! - if (sensorAngle > 0 && sensorAngle < angle) { - minDistance = fmin(minDistance, distanceSensor->GetDistance()); - } + float minDistance = INFINITY; + for (unsigned int sensorIx = 0; sensorIx < this->sensorCount; sensorIx++) { + Placement placement = sensorPlacements[sensorIx]; + Sensor* sensor = (Sensor*)placement.thing; + if (sensor->isDistanceSensor == false) + continue; + + DistanceSensor* distanceSensor = (DistanceSensor*)placement.thing; + float sensorAngle = placement.direction.y; // not correct! + if (sensorAngle > 0 && sensorAngle < angle) { + minDistance = fmin(minDistance, distanceSensor->GetDistance()); } - return minDistance; + } + return minDistance; } float Sensing::DistanceDown(float angle) { - float minDistance = INFINITY; - for (unsigned int sensorIx = 0; sensorIx < this->sensorCount; sensorIx++) { - Placement placement = sensorPlacements[sensorIx]; - Sensor* sensor = (Sensor*)placement.thing; - if (sensor->isDistanceSensor == false) - continue; + float minDistance = INFINITY; + for (unsigned int sensorIx = 0; sensorIx < this->sensorCount; sensorIx++) { + Placement placement = sensorPlacements[sensorIx]; + Sensor* sensor = (Sensor*)placement.thing; + if (sensor->isDistanceSensor == false) + continue; - DistanceSensor* distanceSensor = (DistanceSensor*)placement.thing; - float sensorAngle = placement.direction.y; // not correct! - if (sensorAngle < 0 && sensorAngle > -angle) { - minDistance = fmin(minDistance, distanceSensor->GetDistance()); - } + DistanceSensor* distanceSensor = (DistanceSensor*)placement.thing; + float sensorAngle = placement.direction.y; // not correct! + if (sensorAngle < 0 && sensorAngle > -angle) { + minDistance = fmin(minDistance, distanceSensor->GetDistance()); } - return minDistance; + } + return minDistance; } bool Sensing::SwitchOn(float fromAngle, float toAngle) { @@ -157,7 +155,8 @@ bool Sensing::SwitchOn(float fromAngle, float toAngle) { if (angle > fromAngle && angle < toAngle) { DistanceSensor* distanceSensor = (DistanceSensor*)placement.thing; - // if (placement.switchSensor != nullptr && placement.switchSensor->IsOn()) + // if (placement.switchSensor != nullptr && + // placement.switchSensor->IsOn()) // return true; // else if (distanceSensor != nullptr && distanceSensor->IsOn())