Voili voilou
Dependencies: RoboClaw StepperMotor mbed
Fork of Robot2016_2-0 by
Diff: Map/obsCarr.cpp
- 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); +}