maliput
|
Directed longitudinal range of a specific Lane, identified by a LaneId.
#include <include/maliput/api/regions.h>
Public Member Functions | |
MALIPUT_DEFAULT_COPY_AND_MOVE_AND_ASSIGN (LaneSRange) | |
LaneSRange (const LaneId &lane_id, const SRange &s_range) | |
Constructs a LaneSRange as s_range on Lane lane_id . More... | |
const LaneId & | lane_id () const |
Gets the LaneId. More... | |
SRange | s_range () const |
Gets the SRange. More... | |
double | length () const |
Returns the length of this LaneSRange, which is dictated by the SRange. More... | |
bool | Intersects (const LaneSRange &lane_s_range, double tolerance) const |
Determines whether this LaneSRange intersects with lane_s_range . More... | |
bool | Contains (const LaneSRange &lane_s_range, double tolerance) const |
Determines whether this LaneSRange contains lane_s_range . More... | |
std::optional< LaneSRange > | GetIntersection (const LaneSRange &lane_s_range, double tolerance) const |
Computes a std::optional<LaneSRange> bearing the intersected LaneSRange that results overlapping this LaneSRange with lane_s_range . More... | |
LaneSRange | ( | const LaneId & | lane_id, |
const SRange & | s_range | ||
) |
Constructs a LaneSRange as s_range
on Lane lane_id
.
lane_id | Refers to the Lane this LaneSRange belongs to. |
s_range | The SRange in the lane_id Lane. |
bool Contains | ( | const LaneSRange & | lane_s_range, |
double | tolerance | ||
) | const |
Determines whether this LaneSRange contains lane_s_range
.
tolerance
will modify this LaneSRanges's ranges and lane_s_range
's ranges by increasing the maximum and reducing the minimum of each range. When tolerance
is negative, it shrinks both ranges.
lane_s_range | The LaneSRange to evaluate whether it is included into this LaneSRange. |
tolerance | The tolerance to use to evaluate the inclusion with. |
lane_s_range
is contained within this LaneSRange. std::optional< LaneSRange > GetIntersection | ( | const LaneSRange & | lane_s_range, |
double | tolerance | ||
) | const |
Computes a std::optional<LaneSRange> bearing the intersected LaneSRange that results overlapping this LaneSRange with lane_s_range
.
When there is no common area, std::nullopt is returned.
tolerance
will modify this range and lane_s_range
by increasing the maximum and reducing the minimum of each range. When tolerance
is negative, it shrinks both ranges.
lane_s_range | The LaneSRange to compute the intersection with. |
tolerance | The tolerance to use to evaluate the intersection. |
bool Intersects | ( | const LaneSRange & | lane_s_range, |
double | tolerance | ||
) | const |
Determines whether this LaneSRange intersects with lane_s_range
.
LaneIds are evaluated prior calling SRange::Intersects() method.
tolerance
will modify this LaneSRanges's ranges and lane_s_range
's ranges by increasing the maximum and reducing the minimum of each range. When tolerance
is negative, it shrinks both ranges.
lane_s_range | The LaneSRange to compute the intersection with. |
tolerance | The tolerance to use to evaluate the intersection. |
lane_s_range
intersects this LaneSRange. const LaneId& lane_id | ( | ) | const |
Gets the LaneId.
double length | ( | ) | const |
Returns the length of this LaneSRange, which is dictated by the SRange.
MALIPUT_DEFAULT_COPY_AND_MOVE_AND_ASSIGN | ( | LaneSRange | ) |