Class Area

Inheritance Relationships

Base Type

Class Documentation

class Area : public lanelet::Primitive<ConstArea>

Famous Area class that represents a basic area as element of the map.

Public Types

using TwoDType = Area
using ThreeDType = Area

Public Functions

Area() = default
Area(const AreaDataConstPtr&) = delete
inline explicit Area(const AreaDataPtr &data)
inline const LineStrings3d &outerBound()

Get linestrings that form the outer bound.

inline const InnerBounds &innerBounds()

Get the linestrings that form the inner bound.

inline void setOuterBound(const LineStrings3d &bound)

Sets a new outer bound and resets the cache.

inline void setInnerBounds(const std::vector<LineStrings3d> &bounds)

sets a new inner bound and resets the cache

inline const RegulatoryElementPtrs &regulatoryElements()

return regulatoryElements that affect this area.

inline void addRegulatoryElement(RegulatoryElementPtr regElem)

adds a new regulatory element

Throws:

nullptr – error if regElem is a nullptr

inline bool removeRegulatoryElement(const RegulatoryElementPtr &regElem)

removes a regulatory element, returns true on success

template<typename RegElemT>
inline std::vector<std::shared_ptr<RegElemT>> regulatoryElementsAs()

get the regulatoryElements that could be converted to RegElemT

Primitive() = default
Primitive(const std::shared_ptr<const DataType>&) = delete
inline explicit Primitive(const std::shared_ptr<DataType> &data)

Construct a new primitive from shared_ptr to its data.

template<typename OtherT>
inline explicit Primitive(const Primitive<OtherT> &rhs)

Construct from another primitive. Only works if both share the same.

Primitive(Primitive &&rhs) noexcept
Primitive(const Primitive &rhs) noexcept

Friends

friend class ConstWeakArea
friend class Primitive