From 57de0b1bfb75275e4a88fd0735efe2cf0d6d4452 Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Wed, 27 Jan 2021 09:21:38 +0100
Subject: [PATCH] Added a check that in the base geometry class that the min
 and max S values are correct.

---
 src/opendrive_geometry.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/opendrive_geometry.cpp b/src/opendrive_geometry.cpp
index dc3ef7b..f338079 100644
--- a/src/opendrive_geometry.cpp
+++ b/src/opendrive_geometry.cpp
@@ -54,12 +54,18 @@ void COpendriveGeometry::set_start_pose(TOpendriveWorldPose &pose)
 
 void COpendriveGeometry::set_max_s(double s)
 {
-  this->max_s=s*this->scale_factor;
+  if(s<this->min_s)
+    this->max_s=this->min_s;
+  else
+    this->max_s=s*this->scale_factor;
 }
 
 void COpendriveGeometry::set_min_s(double s)
 {
-  this->min_s=s*this->scale_factor;
+  if(s>this->max_s)
+    this->min_s=this->max_s;
+  else
+    this->min_s=s*this->scale_factor;
 }
 
 bool COpendriveGeometry::get_local_pose(const TOpendriveTrackPose &track,TOpendriveLocalPose &local) const
-- 
GitLab