]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/pathplan/path_simplifier.h
eb_jaws: Use expansion port number defines + do not use FSM for servo control.
[eurobot/public.git] / src / pathplan / path_simplifier.h
1 /**
2  * @file        path_simplifier.h
3  * @brief       Header file of path_simplifier.c
4  * @author      Jose Maria Martin Laguna <jmmartin@etud.insa-toulouse.fr>
5  *
6 */
7
8 #include "pathqueue.h"
9 #ifdef __cplusplus
10 extern "C" {
11 #endif 
12 /**
13  * @brief Definition of line parameters. See details.
14  * line : a1 * x + a2 * y = b 
15 */
16 typedef struct _Line {
17     float a1;
18     float a2;
19     float b;
20 } Line ;
21
22 /**
23  * @brief Implementation of a list of points
24 */
25 typedef struct _PathPoint {
26         double x;       /**< @brief Coordonate X of the point */
27         double y;       /**< @brief Coordonate Y of the point */
28         struct _PathPoint * next; /**< @brief Pointer to next point of the list */
29 } PathPoint;
30
31 int path_simplifier (PathPoint * path, int nbpoints, PathPoint * first_point, double * angle);
32 void freePathMemory(PathPoint * simple_path);
33 #ifdef __cplusplus
34 }
35 #endif 
36