Robot's source code

Dependencies:   mbed

Revision:
109:53918ba98306
Parent:
39:09c04fd42c94
Child:
119:c45efcd706d9
--- a/Map/Map.h	Mon May 04 13:00:28 2015 +0000
+++ b/Map/Map.h	Tue May 05 16:35:53 2015 +0000
@@ -1,16 +1,48 @@
+#ifndef MAP_H
+#define MAP_H
 
-#ifndef MAP_H_
-#define MAP_H_
+#include "defines.h"
 
 #include "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;
     private:
+        std::vector<Obstacle*> obstacles;
 };