![]() |
Classes | |
class | lanelet::CompoundHybridLineString2d |
A hybrid compound linestring in 2d (returns BasicPoint2d) More... | |
class | lanelet::CompoundHybridLineString3d |
A hybrid compound linestring in 3d (returns BasicPoint3d) More... | |
class | lanelet::CompoundLineString2d |
A Compound linestring in 2d (returns Point2d) More... | |
class | lanelet::CompoundLineString3d |
A Compound linestring in 3d (returns Point3d) More... | |
class | lanelet::ConstHybridLineString2d |
A Linestring that returns BasicPoint2d instead of Point2d. More... | |
class | lanelet::ConstHybridLineString3d |
A Linestring that returns BasicPoint3d instead of Point3d. More... | |
class | lanelet::ConstLineString2d |
A normal 2d linestring with immutable data. More... | |
class | lanelet::ConstLineString3d |
A normal 3d linestring with immutable data. More... | |
class | lanelet::LineString2d |
A normal 2d linestring with mutable data. More... | |
class | lanelet::LineString3d |
A normal 3d linestring with mutable data. More... | |
LineStrings are a series of line segments defined by an ordered list of points. A LineString consists at least of one point and must not contain the same point multiple times in succession.
LineStrings exist in const/non-const, 2d/3d and in normal/hybrid versions. They all have the same interface but differ in the point types they provide. While the normal versions return Point2d or Point3d as points, the hybrid versions only return Eigen points when iterating.
The interface of linestrings is designed to look as similar to an std::vector as possible. Therefore it is possible to pass Linestrings to most stl-algorithms. Ranged for-loops are possible as well.
Linestrings can be inverted without cost overhead. When you iterate over their points, you iterate them in reversed order. When you modify inverted LineStrings, the non-inverted copies will be affected as well.
The CompoundLineString3d/CompoundLineString2d/... classes allow to combine multiple line strings so that they behave like one. They have the same interface like a single normal line strings, but internally access the data of multiple. The can also be passed to most geometry functions.
If two adjacent linestrings in a compound linestring share the same point, one of them is left out. CompoundLineStrings are immutable.