Class SpeedLimit

Inheritance Relationships

Base Type

Class Documentation

class SpeedLimit : public lanelet::TrafficSign

Represents a speed limit that affects a lanelet.

A speed limit is defined by one ore more traffic signs and cancelled by one or more traffic signs. All lanelets affected by this refer to this traffic sign.

As an alternative, the type can also be specified using the sign_type tag of the regulatory element. However this is not recommended, because will make it hard to track where the speed limit originates.

Public Types

using Ptr = std::shared_ptr<SpeedLimit>

Public Static Functions

static inline Ptr make(Id id, const AttributeMap &attributes, const TrafficSignsWithType &trafficSigns, const TrafficSignsWithType &cancellingTrafficSigns = {}, const LineStrings3d &refLines = {}, const LineStrings3d &cancelLines = {})

Create a speed limit regulatory element. Similar to a traffic sign.

static inline Ptr make(Id id, AttributeMap attributes, const std::string &signType, const LineStrings3d &refLines = {}, const LineStrings3d &cancelLines = {})

Create a speed limit regulatory element only from a type or speed limit without actual sign.

Public Static Attributes

static constexpr char RuleName[] = "speed_limit"

Protected Functions

SpeedLimit(Id id, const AttributeMap &attributes, const TrafficSignsWithType &trafficSigns, const TrafficSignsWithType &cancellingTrafficSigns = {}, const LineStrings3d &refLines = {}, const LineStrings3d &cancelLines = {})
explicit SpeedLimit(const RegulatoryElementDataPtr &data)

Friends

friend class RegisterRegulatoryElement< SpeedLimit >