From 047f5149364115b9b13bf0afe8990f15b699fb95 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Wed, 1 May 2013 14:08:10 +0200 Subject: digital/io-hub/src/apbirthday: the cake is not an obstacle --- digital/io-hub/src/apbirthday/radar_2013.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'digital/io-hub') diff --git a/digital/io-hub/src/apbirthday/radar_2013.cc b/digital/io-hub/src/apbirthday/radar_2013.cc index 5cbbe0ca..3d0707f5 100644 --- a/digital/io-hub/src/apbirthday/radar_2013.cc +++ b/digital/io-hub/src/apbirthday/radar_2013.cc @@ -22,7 +22,7 @@ // // }}} #include "radar_2013.hh" -#include "playground.hh" +#include "playground_2013.hh" RadarSensor sensors[] = { { 0, { 102, 84 }, G_ANGLE_UF016_DEG (0), true }, @@ -44,7 +44,14 @@ Radar2013::Radar2013 (ucoo::UsDist &dist0, ucoo::UsDist &dist1, bool Radar2013::valid (int sensor_index, vect_t &p) { - return p.x >= margin_mm && p.x < pg_width - margin_mm - && p.y >= margin_mm && p.y < pg_length - margin_mm; + if (p.x < margin_mm || p.x >= pg_width - margin_mm + || p.y < margin_mm || p.y >= pg_length - margin_mm) + return false; + vect_t v = pg_cake_pos; vect_sub (&v, &p); + int dist_sq = vect_dot_product (&v, &v); + int cake_margin = pg_cake_radius + 50; + if (dist_sq < cake_margin * cake_margin) + return false; + return true; } -- cgit v1.2.3