diff options
author | 2014-03-06 21:31:23 -0800 | |
---|---|---|
committer | 2014-03-06 21:31:23 -0800 | |
commit | d5aa36505ffbcc80b8cbc593f5d215579a958920 (patch) | |
tree | 11d85eba7dcb21c70ef013b971e0294bd65b0692 | |
parent | 9d0bf57108e007717364862c082851496f35ba2c (diff) | |
parent | a1e0ef4836f59a9fd5a2b44ecb94c27227e159c6 (diff) | |
download | latinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.tar.gz latinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.tar.xz latinime-d5aa36505ffbcc80b8cbc593f5d215579a958920.zip |
am a1e0ef48: Fix: point to line segment distance can be NaN.
* commit 'a1e0ef4836f59a9fd5a2b44ecb94c27227e159c6':
Fix: point to line segment distance can be NaN.
-rw-r--r-- | native/jni/src/suggest/core/layout/proximity_info_utils.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/native/jni/src/suggest/core/layout/proximity_info_utils.h b/native/jni/src/suggest/core/layout/proximity_info_utils.h index 6d2c11b09..f55ee23aa 100644 --- a/native/jni/src/suggest/core/layout/proximity_info_utils.h +++ b/native/jni/src/suggest/core/layout/proximity_info_utils.h @@ -100,6 +100,10 @@ class ProximityInfoUtils { const float dotProduct = ray1x * ray2x + ray1y * ray2y; const float lineLengthSqr = GeometryUtils::SQUARE_FLOAT(ray2x) + 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; float projectionX; |