Class LaneletSequenceData

Inheritance Relationships

Base Type

  • public boost::noncopyable

Class Documentation

class LaneletSequenceData : public boost::noncopyable

Common data management class for LaneletSequences.

This object is only for internal data management and should not be used directly.

LaneletSequence merely has a shared_ptr to this object and forwards all calls to this object.

Because calculating a polygon and a centerline is expensive, the results are cached by this object.

Public Types

using iterator = internal::ReverseAndForwardIterator<ConstLanelets::const_iterator>

Public Functions

explicit LaneletSequenceData(ConstLanelets lanelets)

Constructs a new, valid LaneletData object.

inline const CompoundLineString3d &leftBound() const
inline const CompoundLineString3d &leftBound3d() const
inline CompoundLineString2d leftBound2d() const
inline const CompoundLineString3d &rightBound() const
inline const CompoundLineString3d &rightBound3d() const
inline CompoundLineString2d rightBound2d() const
inline const ConstLanelets &lanelets() const
CompoundLineString3d centerline() const

computes the centerline. Result is cached

Returns:

centerline object. Can not be modified.

CompoundPolygon3d polygon() const

Get the bounding polygon around all lanelets. Result is cached.

See also

ConstLanelet::polygon

Returns:

a polygon object. Can not be modified.

inline iterator begin(bool inverted) const noexcept
inline iterator end(bool inverted) const noexcept