[3] | 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
|
---|