maliput
|
A longitudinal route, possibly spanning multiple (end-to-end) lanes.
The sequence of LaneSRanges should be contiguous. (In other words, taken as a Lane-space path with r=0 and h=0, it should present a G1-continuous curve.)
#include <include/maliput/api/regions.h>
Public Member Functions | |
MALIPUT_DEFAULT_COPY_AND_MOVE_AND_ASSIGN (LaneSRoute) | |
LaneSRoute ()=default | |
Default constructor: constructs an empty route. More... | |
LaneSRoute (const std::vector< LaneSRange > &ranges) | |
Constructs a LaneSRoute from the given sequence of LaneSRanges. More... | |
const std::vector< LaneSRange > & | ranges () const |
Returns the sequence of LaneSRanges. More... | |
double | length () const |
bool | Intersects (const LaneSRoute &lane_s_route, double tolerance) const |
Determines whether this LaneSRoute intersects with lane_s_route . More... | |
|
default |
Default constructor: constructs an empty route.
|
explicit |
Constructs a LaneSRoute from the given sequence of LaneSRanges.
bool Intersects | ( | const LaneSRoute & | lane_s_route, |
double | tolerance | ||
) | const |
Determines whether this LaneSRoute intersects with lane_s_route
.
LaneSRoutes intersection is evaluated first by LaneSRange's LaneId coincidence, then LaneSRange::Intersects() is used.
tolerance
will modify this LaneSRoute's ranges and lane_s_route
's ranges by increasing the maximum tolerance and reducing the minimum each range. When tolerance
is negative, it shrinks both ranges.
double length | ( | ) | const |
MALIPUT_DEFAULT_COPY_AND_MOVE_AND_ASSIGN | ( | LaneSRoute | ) |
const std::vector<LaneSRange>& ranges | ( | ) | const |
Returns the sequence of LaneSRanges.