@@ -52,20 +52,29 @@ struct IntersectionLanelets
52
52
{
53
53
return is_prioritized_ ? attention_non_preceding_stoplines_ : attention_stoplines_;
54
54
}
55
+ const lanelet::ConstLanelets & attention_non_preceding () const
56
+ {
57
+ return attention_non_preceding_;
58
+ }
55
59
const lanelet::ConstLanelets & conflicting () const { return conflicting_; }
56
60
const lanelet::ConstLanelets & adjacent () const { return adjacent_; }
57
61
const lanelet::ConstLanelets & occlusion_attention () const
58
62
{
59
63
return is_prioritized_ ? attention_non_preceding_ : occlusion_attention_;
60
64
}
61
- const lanelet::ConstLanelets & attention_non_preceding () const
65
+ const lanelet::ConstLanelets & yield () const { return yield_; }
66
+ const std::vector<std::optional<lanelet::ConstLineString3d>> & yield_stoplines () const
62
67
{
63
- return attention_non_preceding_ ;
68
+ return yield_stoplines_ ;
64
69
}
65
70
const std::vector<lanelet::CompoundPolygon3d> & attention_area () const
66
71
{
67
72
return is_prioritized_ ? attention_non_preceding_area_ : attention_area_;
68
73
}
74
+ const std::optional<lanelet::CompoundPolygon3d> & first_attention_area () const
75
+ {
76
+ return first_attention_area_;
77
+ }
69
78
const std::vector<lanelet::CompoundPolygon3d> & conflicting_area () const
70
79
{
71
80
return conflicting_area_;
@@ -75,6 +84,7 @@ struct IntersectionLanelets
75
84
{
76
85
return occlusion_attention_area_;
77
86
}
87
+ const std::vector<lanelet::CompoundPolygon3d> & yield_area () const { return yield_area_; }
78
88
const std::optional<lanelet::ConstLanelet> & first_conflicting_lane () const
79
89
{
80
90
return first_conflicting_lane_;
@@ -87,10 +97,6 @@ struct IntersectionLanelets
87
97
{
88
98
return first_attention_lane_;
89
99
}
90
- const std::optional<lanelet::CompoundPolygon3d> & first_attention_area () const
91
- {
92
- return first_attention_area_;
93
- }
94
100
const std::optional<lanelet::ConstLanelet> & second_attention_lane () const
95
101
{
96
102
return second_attention_lane_;
@@ -103,48 +109,55 @@ struct IntersectionLanelets
103
109
/* *
104
110
* the set of attention lanelets which is topologically merged
105
111
*/
106
- lanelet::ConstLanelets attention_;
107
- std::vector<lanelet::CompoundPolygon3d> attention_area_;
112
+ lanelet::ConstLanelets attention_{} ;
113
+ std::vector<lanelet::CompoundPolygon3d> attention_area_{} ;
108
114
109
115
/* *
110
116
* the stop lines for each attention_lanelets associated with traffic lights. At intersection
111
117
* without traffic lights, each value is null
112
118
*/
113
- std::vector<std::optional<lanelet::ConstLineString3d>> attention_stoplines_;
119
+ std::vector<std::optional<lanelet::ConstLineString3d>> attention_stoplines_{} ;
114
120
115
121
/* *
116
122
* the conflicting part of attention lanelets
117
123
*/
118
- lanelet::ConstLanelets attention_non_preceding_;
119
- std::vector<lanelet::CompoundPolygon3d> attention_non_preceding_area_;
124
+ lanelet::ConstLanelets attention_non_preceding_{} ;
125
+ std::vector<lanelet::CompoundPolygon3d> attention_non_preceding_area_{} ;
120
126
121
127
/* *
122
128
* the stop lines for each attention_non_preceding_
123
129
*/
124
- std::vector<std::optional<lanelet::ConstLineString3d>> attention_non_preceding_stoplines_;
130
+ std::vector<std::optional<lanelet::ConstLineString3d>> attention_non_preceding_stoplines_{} ;
125
131
126
132
/* *
127
133
* the conflicting lanelets of the objective intersection lanelet
128
134
*/
129
- lanelet::ConstLanelets conflicting_;
130
- std::vector<lanelet::CompoundPolygon3d> conflicting_area_;
135
+ lanelet::ConstLanelets conflicting_{} ;
136
+ std::vector<lanelet::CompoundPolygon3d> conflicting_area_{} ;
131
137
132
138
/* *
133
139
*
134
140
*/
135
- lanelet::ConstLanelets adjacent_;
136
- std::vector<lanelet::CompoundPolygon3d> adjacent_area_;
141
+ lanelet::ConstLanelets adjacent_{} ;
142
+ std::vector<lanelet::CompoundPolygon3d> adjacent_area_{} ;
137
143
138
144
/* *
139
145
* the set of attention lanelets for occlusion detection which is topologically merged
140
146
*/
141
- lanelet::ConstLanelets occlusion_attention_;
142
- std::vector<lanelet::CompoundPolygon3d> occlusion_attention_area_;
147
+ lanelet::ConstLanelets occlusion_attention_{};
148
+ std::vector<lanelet::CompoundPolygon3d> occlusion_attention_area_{};
149
+
150
+ /* *
151
+ * the set of lanelets that the objective intersection lanelet has RightOfWay over
152
+ */
153
+ lanelet::ConstLanelets yield_{};
154
+ std::vector<std::optional<lanelet::ConstLineString3d>> yield_stoplines_{};
155
+ std::vector<lanelet::CompoundPolygon3d> yield_area_{};
143
156
144
157
/* *
145
158
* the vector of sum of each occlusion_attention lanelet
146
159
*/
147
- std::vector<double > occlusion_attention_size_;
160
+ std::vector<double > occlusion_attention_size_{} ;
148
161
149
162
/* *
150
163
* the first conflicting lanelet which ego path points intersect for the first time
0 commit comments