mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-10 20:02:13 +08:00
nav: handle route responses with duplicate points (#23769)
old-commit-hash: 14f7a7825151ab55975a24f53e4178fb7a595bea
This commit is contained in:
@@ -160,6 +160,11 @@ static float dot(QGeoCoordinate v, QGeoCoordinate w) {
|
||||
}
|
||||
|
||||
float minimum_distance(QGeoCoordinate a, QGeoCoordinate b, QGeoCoordinate p) {
|
||||
// If a and b are the same coordinate the computation below doesn't work
|
||||
if (a.distanceTo(b) < 0.01) {
|
||||
return a.distanceTo(p);
|
||||
}
|
||||
|
||||
const QGeoCoordinate ap = sub(p, a);
|
||||
const QGeoCoordinate ab = sub(b, a);
|
||||
const float t = std::clamp(dot(ap, ab) / dot(ab, ab), 0.0f, 1.0f);
|
||||
|
||||
Reference in New Issue
Block a user