Fix: point to line segment distance can be NaN.
Change-Id: I7db6bfea925a0eda82bfb1f7b5e1110b193dabdbmain
parent
3339224813
commit
a1e0ef4836
|
@ -100,6 +100,10 @@ class ProximityInfoUtils {
|
||||||
const float dotProduct = ray1x * ray2x + ray1y * ray2y;
|
const float dotProduct = ray1x * ray2x + ray1y * ray2y;
|
||||||
const float lineLengthSqr = GeometryUtils::SQUARE_FLOAT(ray2x)
|
const float lineLengthSqr = GeometryUtils::SQUARE_FLOAT(ray2x)
|
||||||
+ GeometryUtils::SQUARE_FLOAT(ray2y);
|
+ GeometryUtils::SQUARE_FLOAT(ray2y);
|
||||||
|
if (lineLengthSqr <= 0.0f) {
|
||||||
|
// Return point to the point distance.
|
||||||
|
return getSquaredDistanceFloat(x, y, x1, y1);
|
||||||
|
}
|
||||||
const float projectionLengthSqr = dotProduct / lineLengthSqr;
|
const float projectionLengthSqr = dotProduct / lineLengthSqr;
|
||||||
|
|
||||||
float projectionX;
|
float projectionX;
|
||||||
|
|
Loading…
Reference in New Issue