opendrive_common.h 1.14 KB
Newer Older
1
2
3
4
5
6
7
#ifndef _OPENDRIVE_COMMON_H
#define _OPENDRIVE_COMMON_H

#define DEFAULT_RESOLUTION        0.1
#define DEFAULT_SCALE_FACTOR      1.0
#define DEFAULT_MIN_ROAD_LENGTH   0.1

8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <map>

class COpendriveLane;
class COpendriveRoadNode;
class COpendriveRoadSegment;
class COpendriveSignal;
class COpendriveObject;
class COpendriveRoad;
class COpendriveLink;

typedef std::map<COpendriveRoadNode *,COpendriveRoadNode *> node_up_ref_t;
typedef std::map<COpendriveLane *,COpendriveLane *> lane_up_ref_t;
typedef std::map<COpendriveRoadSegment *,COpendriveRoadSegment *> segment_up_ref_t;

22
23
24
25
26
typedef struct
{
  double s;
  double t;
  double heading;
27
}TOpendriveTrackPose;
28
29
30
31
32
33

typedef struct
{
  double u;
  double v;
  double heading;
34
}TOpendriveLocalPose;
35
36
37
38
39
40

typedef struct
{
  double x;
  double y;
  double heading;
41
}TOpendriveWorldPose;
42
43
44
45
46
47
48
49
50
51
52
53
54

typedef enum{OD_MARK_NONE,
             OD_MARK_SOLID,
             OD_MARK_BROKEN,
             OD_MARK_SOLID_SOLID,
             OD_MARK_SOLID_BROKEN,
             OD_MARK_BROKEN_SOLID,
             OD_MARK_BROKEN_BROKEN} opendrive_mark_t;

double normalize_angle(double angle);
double diff_angle(double angle1,double angle2);

#endif