Skip to content

Commit 10fde5b

Browse files
closest_on_segment: fix -1 case
1 parent 94ecc68 commit 10fde5b

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/latlng.cc

+4
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,15 @@ latlng closest_on_segment(latlng const& x, latlng const& segment_from,
9898
seg_dir.dot(start_vec) / (seg_len * start_vec.length());
9999
if (start_rel >= 1 - kEpsilon) {
100100
return segment_from;
101+
} else if (start_rel <= -1 + kEpsilon) {
102+
return segment_to;
101103
}
102104

103105
auto const end_rel = seg_dir.dot(end_vec) / (seg_len * end_vec.length());
104106
if (end_rel >= 1 - kEpsilon) {
105107
return segment_to;
108+
} else if (end_rel <= -1 + kEpsilon) {
109+
return segment_from;
106110
}
107111

108112
auto const start_angle = std::acos(start_rel);

0 commit comments

Comments
 (0)