Voili voilou

Dependencies:   RoboClaw StepperMotor mbed

Fork of Robot2016_2-0 by ARES

Map/Map.h

Committer:
sype
Date:
2016-04-13
Revision:
45:b53ae54062c6
Parent:
31:8bcc3a0bfa8a

File content as of revision 45:b53ae54062c6:

#ifndef MAP_H
#define MAP_H

#include "defines.h"

#include "Obstacles/Obstacle.h"
#include "Point.h"
#include <vector>

#define DIAG_COST 0.7071067/2
#define NDIAG_COST 0.5/2

#define LOG_LEVEL 2 //4 debug(very slow) - 3 errors/warnings/infos - 2 errors/warnings - 1 errors - 0 none
#define LOG_ASTAR 1
#define LOG_TENDEUR 1



class SimplePoint
{
    public:
        SimplePoint(float x, float y) : x(x),y(y) {}
        SimplePoint(const SimplePoint &p) : x(p.x),y(p.y) {}
        bool operator!=(SimplePoint& p) {return x!=p.x||y!=p.y;}
        virtual ~SimplePoint() {}
        float x,y;
};

class Map
{
    public:
        Map();
        ~Map();
        void build();
        
        int getHeight(float x, float y);
        
        // mpc : metre par case, par defaut chaque case fait 10cm
        // Position en mm !!
        char AStar(float x, float y, float goal_x, float goal_y, float mpc=100);
        
        
        std::vector<SimplePoint> path;
        std::vector<Obstacle*> obstacles;
    private:
};


#endif