Robot's source code

Dependencies:   mbed

Map/Obstacles/Obs_circle.cpp

Committer:
Jagang
Date:
2015-05-11
Revision:
123:55e5e9acc541
Parent:
109:53918ba98306

File content as of revision 123:55e5e9acc541:

#include "Obs_circle.h"

Obs_circle::Obs_circle(float robotRadius, int id, float x, float y, float size):Obstacle(robotRadius,id)
{
    this->x = x;
    this->y = y;
    this->size2 = size*size;
}

int Obs_circle::height(float x, float y)
{
    if(!active)
        return 0;
    
    float d = (x-this->x)*(x-this->x) + (y-this->y)*(y-this->y);
    if(d <= size2) // On est dans le cercle
    {
        return 32000; // Interdit
    }
    else if(bigShape && d <= size2+robotRadius*robotRadius) // On est dans le grand cercle
    {
        if(!smoothBigShape)
            return 32000; // Interdit
        else
        {
            return 32000; // Interdit
        }
    }
    return 0;
}