-
Notifications
You must be signed in to change notification settings - Fork 2
/
gl_const.h
143 lines (109 loc) · 4.45 KB
/
gl_const.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#ifndef GL_CONST_H
#define GL_CONST_H
#define CN_PI_CONSTANT 3.14159265359
#define CN_SQRT_TWO 1.41421356237
//Default values of parameters
#define CN_PTD_AL 30
#define CN_PTD_D 4
//XML tags
#define CNS_TAG_ROOT "root"
#define CNS_TAG_MAP "map"
#define CNS_TAG_CELLSIZE "cellsize"
#define CNS_TAG_WIDTH "width"
#define CNS_TAG_HEIGHT "height"
#define CNS_TAG_STX "startx"
#define CNS_TAG_STY "starty"
#define CNS_TAG_FINX "finishx"
#define CNS_TAG_FINY "finishy"
#define CNS_TAG_GRID "grid"
#define CNS_TAG_ROW "row"
#define CNS_TAG_ALG "algorithm"
#define CNS_TAG_ST "searchtype"
#define CNS_TAG_HW "hweight"
#define CNS_TAG_MT "metrictype"
#define CNS_TAG_BT "breakingties"
#define CNS_TAG_AS "allowsqueeze"
#define CNS_TAG_AD "allowdiagonal"
#define CNS_TAG_CC "cutcorners"
#define CNS_TAG_DI "distance"
#define CNS_TAG_AL "anglelimit"
#define CNS_TAG_PS "postsmoothing"
#define CNS_TAG_OP "obstacleposition"
#define CNS_TAG_OPT "options"
#define CNS_TAG_LOGLVL "loglevel"
#define CNS_TAG_LOGPATH "logpath"
#define CNS_TAG_LOGFN "logfilename"
#define CNS_TAG_LOG "log"
#define CNS_TAG_MAPFN "mapfilename"
#define CNS_TAG_SUM "summary"
#define CNS_TAG_PATH "path"
#define CNS_TAG_ANGLES "angles"
#define CNS_TAG_ANGLE "angle"
#define CNS_TAG_LPLEVEL "lplevel"
#define CNS_TAG_HPLEVEL "hplevel"
#define CNS_TAG_SECTION "section"
#define CNS_TAG_LOWLEVEL "lowlevel"
#define CNS_TAG_STEP "step"
#define CNS_TAG_OPEN "open"
#define CNS_TAG_POINT "node"
#define CNS_TAG_CLOSE "close"
//XML tags' attributes
#define CNS_TAG_ATTR_NUMOFSTEPS "numberofsteps"
#define CNS_TAG_ATTR_NODESCREATED "nodescreated"
#define CNS_TAG_ATTR_LENGTH "length"
#define CNS_TAG_ATTR_LENGTH_SCALED "length_scaled"
#define CNS_TAG_ATTR_TIME "time"
#define CNS_TAG_ATTR_MAXANGLE "max_angle"
#define CNS_TAG_ATTR_ACCUMANGLE "accum_angle"
#define CNS_TAG_ATTR_X "x"
#define CNS_TAG_ATTR_Y "y"
#define CNS_TAG_ATTR_NUM "number"
#define CNS_TAG_ATTR_F "F"
#define CNS_TAG_ATTR_G "g"
#define CNS_TAG_ATTR_PARX "parent_x"
#define CNS_TAG_ATTR_PARY "parent_y"
#define CNS_TAG_ATTR_STX "start.x"
#define CNS_TAG_ATTR_STY "start.y"
#define CNS_TAG_ATTR_FINX "finish.x"
#define CNS_TAG_ATTR_FINY "finish.y"
//Search Parameters
#define CN_SP_AL 0 //AngleLimit
#define CN_SP_DI 1 //Distance
#define CN_SP_PS 2 //Postsmoothing
#define CN_SP_OP 3 //Obstacle Position
#define CN_SP_MT 4 //MetricType
#define CNS_SP_MT_DIAG "diagonal"
#define CNS_SP_MT_MANH "manhattan"
#define CNS_SP_MT_EUCL "euclid"
#define CNS_SP_MT_CHEB "chebyshev"
#define CN_SP_MT_DIAG 0
#define CN_SP_MT_MANH 1
#define CN_SP_MT_EUCL 2
#define CN_SP_MT_CHEB 3
#define CN_SP_HW 5 //HeuristicWeight
#define CN_SP_BT 6 //BreakingTies
#define CNS_SP_BT_GMIN "g-min"
#define CNS_SP_BT_GMAX "g-max"
#define CN_SP_BT_GMIN 0
#define CN_SP_BT_GMAX 1
//Log Configuration
#define CN_LP_LEVEL 0
#define CN_LP_LEVEL_NOPE_VALUE "0"
#define CN_LP_LEVEL_NOPE_WORD "nope"
#define CN_LP_LEVEL_TINY_VALUE "0.5"
#define CN_LP_LEVEL_TINY_WORD "tiny"
#define CN_LP_LEVEL_SHORT_VALUE "1"
#define CN_LP_LEVEL_SHORT_WORD "short"
#define CN_LP_LEVEL_MEDIUM_VALUE "1.5"
#define CN_LP_LEVEL_MEDIUM_WORD "medium"
#define CN_LP_LEVEL_FULL_VALUE "2"
#define CN_LP_LEVEL_FULL_WORD "full"
#define CN_LP_PATH 1
#define CN_LP_NAME 2
//Grid Cell
#define CN_GC_NOOBS 0
#define CN_GC_OBS 1
//Other
#define CNS_OTHER_PATHSELECTION "*"
#define CNS_OTHER_MATRIXSEPARATOR ' '
#endif