#include <conflictset.h>
Public Member Functions | |
ConflictZone () | |
double | getStartProgress () const |
double | getEndProgress () const |
bool | hasEndProgress () const |
double | getWaitingPosition () const |
bool | hasPriority () const |
TrafficQueue * | getCrossTraffic () |
const LimitLine & | getLimitLine () const |
void | setStartProgress (double value) |
void | setEndProgress (double value) |
void | setHasEndProgress (bool value) |
void | setWaitingPosition (double value) |
void | setPriority (bool value) |
void | setCrossTraffic (TrafficQueue &trafficqueue) |
void | setLimitLine (LimitLine &limitline) |
Private Attributes | |
double | startProgress_ |
double | endProgress_ |
bool | hasEndProgress_ |
double | waitingPosition_ |
bool | hasPriority_ |
TrafficQueue | crossTraffic_ |
LimitLine | limitLine_ |
ConflictZone - area of overlapping lanes, where the lane containing the conflict zone has lower priority than other lanes. A conflict zone may not be entered by AV at the same time as higher-priority cross traffic will enter the zone. A conflict zone is an abstraction for conflicts occuring at lane merges, roundabouts, pedestrian/zebra crossings, crossings with yield sign, etc.
|
inline |
|
inline |
|
inline |
getEndProgress - returns progress at which conflict zone ends.
|
inline |
getLimitLine - returns the associated limit line information.
|
inline |
getStartProgress - returns progress at which conflict zone starts
|
inline |
getWaitingPosition - returns progress where AV has to wait, if it cannot enter conflict zone.
|
inline |
hasEndProgress - returns false, if the conflict zone is unbounded, e.g. in case of a lane merge
|
inline |
hasPriority - returns true, if objects in traffic que have priority
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
setPriority - sets the hasPriority_ member
value | true, if objects in crossTraffic_ have priority over ego vehicle |
|
inline |
|
inline |
|
private |
TrafficQueue of objects approaching and leaving conflict zone. TrafficObject with currentProgress<entranceProgress approaches conflict zone. TrafficObject with entranceProgress<currentProgress<exitProgress is located inside conflict zone. TrafficOjbect with exitProgress<currentProgress has passed along conflict zone
|
private |
Progress along ALane at which ConflictZone ends
|
private |
Determines whether the ConflictZone has an immediate end. Conflict zone at an X crossing ends after crossing the conflicting lane. Conflict zone at a Y crossing (merging of two lanes) extends indefinitely.
|
private |
true, if traffic objects in crossTraffic_ have right of way
|
private |
LimitLine associated with ConflictZone.
|
private |
Progress along ALane at which ConflictZone starts
|
private |
Offset from ConflictZone at which to wait for access