Преглед изворни кода

terrain now checks the ray's limit when colliding

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9583 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
bre..ns пре 13 година
родитељ
комит
b59ec271ca
1 измењених фајлова са 9 додато и 3 уклоњено
  1. 9 3
      engine/src/terrain/com/jme3/terrain/geomipmap/TerrainQuad.java

+ 9 - 3
engine/src/terrain/com/jme3/terrain/geomipmap/TerrainQuad.java

@@ -254,9 +254,15 @@ public class TerrainQuad extends Node implements Terrain {
             picker = new BresenhamTerrainPicker(this);
 
         Vector3f intersection = picker.getTerrainIntersection(ray, results);
-        if (intersection != null)
-            return 1;
-        else
+        if (intersection != null) {
+            if (ray.getLimit() < Float.POSITIVE_INFINITY) {
+                if (results.getClosestCollision().getDistance() <= ray.getLimit())
+                    return 1; // in range
+                else
+                    return 0; // out of range
+            } else
+                return 1;
+        } else
             return 0;
     }