Romain Ame / Mbed 2 deprecated Robot2016_2-0_STATIC

Dependencies:   RoboClaw StepperMotor mbed

Fork of Robot2016_2-0 by ARES

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers obsCarr.cpp Source File

obsCarr.cpp

00001 #include "obsCarr.h"
00002 
00003 bool obsCarr::getCroisement (point A, point B) {
00004     point p0 (xcentre - dxtaille, ycentre + dytaille);
00005     point p1 (xcentre + dxtaille, ycentre + dytaille);
00006     point p2 (xcentre - dxtaille, ycentre - dytaille);
00007     point p3 (xcentre + dxtaille, ycentre - dytaille);
00008 
00009     if (CroisementSegment (p0, p3, A, B) || CroisementSegment (p1, p2, A, B) || belongs(A) || belongs(B))
00010         return true;
00011     else
00012         return false;
00013 }
00014 
00015 bool obsCarr::getCroisement (float X, float Y, point B) {
00016     point A (X, Y);
00017     return getCroisement (A, B);
00018 }
00019 
00020 points4 obsCarr::getPoints () {
00021     return {
00022         point (xcentre - (dxtaille + MINDISTROBOT), ycentre + (dytaille + MINDISTROBOT)),
00023         point (xcentre + (dxtaille + MINDISTROBOT), ycentre + (dytaille + MINDISTROBOT)),
00024         point (xcentre - (dxtaille + MINDISTROBOT), ycentre - (dytaille + MINDISTROBOT)),
00025         point (xcentre + (dxtaille + MINDISTROBOT), ycentre - (dytaille + MINDISTROBOT)),
00026     };
00027 }
00028 
00029 bool obsCarr::belongs (point& A) {
00030     return (A.getX () <= xcentre + dxtaille && A.getX () >= xcentre - dxtaille && A.getY () <= ycentre + dytaille && A.getY () >= ycentre - dytaille);
00031 }