3 #include <lanelet2_core/primitives/Lanelet.h> 38 lanelet.addRegulatoryElement(trafficLightRegelem);
39 assert(lanelet.regulatoryElements().size() == 1);
46 std::vector<TrafficLight::Ptr> trafficLightRegelems = lanelet.regulatoryElementsAs<
TrafficLight>();
47 assert(trafficLightRegelems.size() == 1);
49 assert(tlRegelem->constData() == trafficLightRegelem->constData());
54 assert(theLight == trafficLight);
58 assert(!!tlRegelem->stopLine());
79 assert(!pts.empty() && pts.front() == point);
92 static constexpr
char RuleName[] =
"lights_on";
111 #if __cplusplus < 201703L 112 constexpr
char LightsOn::RuleName[];
std::shared_ptr< RegulatoryElement > RegulatoryElementPtr
void part1BasicRegulatoryElements()
static Ptr make(Id id, const AttributeMap &attributes, const LineStringsOrPolygons3d &trafficLights, const Optional< LineString3d > &stopLine={})
lanelet::ConstLineString3d fromWhere() const
void addRegulatoryElement(RegulatoryElementPtr regElem)
static constexpr const char RefLine[]
std::vector< std::shared_ptr< RegElemT > > regulatoryElementsAs()
void addParameter(const std::string &role, const PrimitiveT &primitive)
std::shared_ptr< RegulatoryElementData > RegulatoryElementDataPtr
LightsOn(lanelet::Id id, lanelet::LineString3d fromWhere)
std::vector< Point3d > Points3d
static constexpr const char TrafficLight[]
static RegulatoryElementPtr create(std::string ruleName, const RegulatoryElementDataPtr &data)
LightsOn(const lanelet::RegulatoryElementDataPtr &data)
LineString3d getLineStringAtY(double y)
AttributeMap & attributes() noexcept
std::shared_ptr< TrafficLight > Ptr
LineString3d getLineStringAtX(double x)
ConstRuleParameterMap getParameters() const
void part3AddingNewRegulatoryElements()
void part2HandlingRegulatoryElements()