Classes
Collaboration diagram for LineString:

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...
 

Detailed Description

General

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.

Design

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.

Inverting

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.

Compound versions

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.



lanelet2_core
Author(s): Fabian Poggenhans
autogenerated on Tue Jun 6 2023 02:23:32