1 | #ifndef PACPUS_H
|
---|
2 | #define PACPUS_H
|
---|
3 |
|
---|
4 | #include "road_time.h"
|
---|
5 |
|
---|
6 | #ifndef PACPUS_PI
|
---|
7 | # define PACPUS_PI 3.1415926
|
---|
8 | #endif // PACPUS_PI
|
---|
9 |
|
---|
10 | // Export macro for PacpusLib DLL for Windows only
|
---|
11 | #ifdef WIN32
|
---|
12 | # ifdef PACPUSLIB_EXPORTS
|
---|
13 | // make DLL
|
---|
14 | # define PACPUSLIB_API __declspec(dllexport)
|
---|
15 | # else
|
---|
16 | // use DLL
|
---|
17 | # define PACPUSLIB_API __declspec(dllimport)
|
---|
18 | # endif
|
---|
19 | #else
|
---|
20 | // On other platforms, simply ignore this
|
---|
21 | # define PACPUSLIB_API
|
---|
22 | #endif
|
---|
23 |
|
---|
24 | #ifdef __GNUC__
|
---|
25 | # define PACPUS_DEPRECATED(func) func __attribute__ ((deprecated))
|
---|
26 | # define PACPUS_DEPRECATED_MSG(func, msg) func __attribute__ ((deprecated))
|
---|
27 | #elif defined(_MSC_VER)
|
---|
28 | # define PACPUS_DEPRECATED(func) __declspec(deprecated) func
|
---|
29 | # define PACPUS_DEPRECATED_MSG(func, msg) __declspec(deprecated("was declared deprecated: " msg)) func
|
---|
30 | #else
|
---|
31 | # pragma message("WARNING: You need to implement PACPUS_DEPRECATED for this compiler")
|
---|
32 | # define PACPUS_DEPRECATED(func) func
|
---|
33 | # define PACPUS_DEPRECATED_MSG(func, msg) func
|
---|
34 | #endif
|
---|
35 |
|
---|
36 | struct donnees_gps
|
---|
37 | {
|
---|
38 | int32_t ind_qualite;
|
---|
39 | double x, y;
|
---|
40 | double lon, lat;
|
---|
41 | float a,b,phi,sigma_lat,sigma_lon;
|
---|
42 | road_time_t time;
|
---|
43 | double alt_msl,d_geoidal;
|
---|
44 | };
|
---|
45 |
|
---|
46 | struct donnees_abs_zy
|
---|
47 | {
|
---|
48 | float dArD, dArG;
|
---|
49 | float speed;
|
---|
50 | road_time_t time;
|
---|
51 | };
|
---|
52 |
|
---|
53 | struct donnees_gyro
|
---|
54 | {
|
---|
55 | // les mesures sont prises par rapport au point C
|
---|
56 | // position de la centrale inertielle
|
---|
57 | // vitesse de lacet (rad.s-1) dans le repère de la masse suspendue
|
---|
58 | float psi_s;
|
---|
59 | road_time_t time;
|
---|
60 | };
|
---|
61 |
|
---|
62 | // Definition of the structure which will be sent for each positioning
|
---|
63 | // requests -> MapMatching.cpp
|
---|
64 | struct s_MatchedPosition
|
---|
65 | {
|
---|
66 | int32_t state; /* Etat du serveur de position absolue hybridée*/
|
---|
67 | double x_match; /* Position Matchée */
|
---|
68 | double y_match; /* en x et y */
|
---|
69 | double x; /* Position du véhicule */
|
---|
70 | double y; /* en x et y */
|
---|
71 | double theta; /* cap (par rapport à l'est) dans le système de la carte */
|
---|
72 | double v; /* vitesse horizontale par rapport à la terre */
|
---|
73 | uint32_t ID; /* ID de la route à laquelle appartient la position matchée */
|
---|
74 | road_time_t time;
|
---|
75 | int32_t way; /* Sens de la route parcourue 1=W2E, 2=E2W*/
|
---|
76 | double dist; /* abscisse curviligne par rapport au début de la route */
|
---|
77 | double pxx, pyy, pxy; /* covariance de l'erreur en position absolue*/
|
---|
78 | double ptheta; /*covariance de l'erreur en cap*/
|
---|
79 | double error;
|
---|
80 | donnees_gyro gyro;
|
---|
81 | donnees_abs_zy odo;
|
---|
82 | };
|
---|
83 |
|
---|
84 | #endif // PACPUS_H
|
---|