Voili voilou

Dependencies:   RoboClaw StepperMotor mbed

Fork of Robot2016_2-0 by ARES

Revision:
46:8eae88c45a78
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Map/obsCarr.cpp	Wed Apr 20 13:13:37 2016 +0000
@@ -0,0 +1,31 @@
+#include "obsCarr.h"
+
+bool obsCarr::getCroisement (point A, point B) {
+    point p0 (xcentre - dxtaille, ycentre + dytaille);
+    point p1 (xcentre + dxtaille, ycentre + dytaille);
+    point p2 (xcentre - dxtaille, ycentre - dytaille);
+    point p3 (xcentre + dxtaille, ycentre - dytaille);
+
+    if (CroisementSegment (p0, p3, A, B) || CroisementSegment (p1, p2, A, B) || belongs(A) || belongs(B))
+        return true;
+    else
+        return false;
+}
+
+bool obsCarr::getCroisement (float X, float Y, point B) {
+    point A (X, Y);
+    return getCroisement (A, B);
+}
+
+points4 obsCarr::getPoints () {
+    return {
+        point (xcentre - (dxtaille + MINDISTROBOT), ycentre + (dytaille + MINDISTROBOT)),
+        point (xcentre + (dxtaille + MINDISTROBOT), ycentre + (dytaille + MINDISTROBOT)),
+        point (xcentre - (dxtaille + MINDISTROBOT), ycentre - (dytaille + MINDISTROBOT)),
+        point (xcentre + (dxtaille + MINDISTROBOT), ycentre - (dytaille + MINDISTROBOT)),
+    };
+}
+
+bool obsCarr::belongs (point& A) {
+    return (A.getX () <= xcentre + dxtaille && A.getX () >= xcentre - dxtaille && A.getY () <= ycentre + dytaille && A.getY () >= ycentre - dytaille);
+}