Class SpeedLimit
Defined in File BasicRegulatoryElements.h
Inheritance Relationships
Base Type
public lanelet::TrafficSign
(Class TrafficSign)
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 >
-
using Ptr = std::shared_ptr<SpeedLimit>