diff --git a/Frechet_distance/examples/Frechet_distance/Frechet_DS_3.cpp b/Frechet_distance/examples/Frechet_distance/Frechet_DS_3.cpp index 1b52316f882..917710bd2e8 100644 --- a/Frechet_distance/examples/Frechet_distance/Frechet_DS_3.cpp +++ b/Frechet_distance/examples/Frechet_distance/Frechet_DS_3.cpp @@ -25,7 +25,6 @@ int main() CGAL::IO::read_linestring_WKT(in, curves.back()); } - int N = curves.size(); Curve query = curves.back(); curves.pop_back(); diff --git a/Frechet_distance/include/CGAL/Frechet_distance.h b/Frechet_distance/include/CGAL/Frechet_distance.h index ec3b101550f..b7740c85ecc 100644 --- a/Frechet_distance/include/CGAL/Frechet_distance.h +++ b/Frechet_distance/include/CGAL/Frechet_distance.h @@ -128,6 +128,9 @@ bool is_Frechet_distance_larger(const PointRange& polyline1, Interval_nt>; Protect_FPU_rounding p; + if(polyline1.empty() || polyline2.empty()){ + return false; + } auto icurve1 = Frechet_distance::internal::toCurve(polyline1, traits); auto icurve2 = Frechet_distance::internal::toCurve(polyline2, traits); @@ -186,6 +189,11 @@ std::pair bounded_error_Frechet_distance(const PointRange& polyli Interval_nt>; Protect_FPU_rounding p; + + if(polyline1.empty() || polyline2.empty()){ + return std::make_pair(0,0); + } + auto icurve1 = Frechet_distance::internal::toCurve(polyline1, traits); auto icurve2 = Frechet_distance::internal::toCurve(polyline2, traits);