From 2e8b5c3dd45a8118ae2f4a56d63e10cccd75950d Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Fri, 8 Jan 2021 15:19:57 +0100 Subject: [PATCH] Improved the update_references() function. --- include/opendrive_signal.h | 2 +- src/opendrive_signal.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/include/opendrive_signal.h b/include/opendrive_signal.h index df959de..cce3f20 100644 --- a/include/opendrive_signal.h +++ b/include/opendrive_signal.h @@ -23,7 +23,7 @@ class COpendriveSignal double scale_factor; protected: void load(signals::signal_type &signal_info,COpendriveRoadSegment *segment); - void update_references(std::map<COpendriveRoadSegment *,COpendriveRoadSegment *> &segment_refs); + void update_references(segment_up_ref_t &segment_refs); void set_scale_factor(double scale); public: COpendriveSignal(); diff --git a/src/opendrive_signal.cpp b/src/opendrive_signal.cpp index 76f4015..d5d202a 100644 --- a/src/opendrive_signal.cpp +++ b/src/opendrive_signal.cpp @@ -48,9 +48,10 @@ void COpendriveSignal::load(signals::signal_type &signal_info,COpendriveRoadSegm this->segment=segment; } -void COpendriveSignal::update_references(std::map<COpendriveRoadSegment *,COpendriveRoadSegment *> &segment_refs) +void COpendriveSignal::update_references(segment_up_ref_t &segment_refs) { - this->segment=segment_refs[this->segment]; + if(segment_refs.find(this->segment)!=segment_refs.end()) + this->segment=segment_refs[this->segment]; } void COpendriveSignal::set_scale_factor(double scale) -- GitLab