private Vector3 findFarthestIntersection( final List<? extends ReadOnlyVector3> wallUpperPoints, final ReadOnlyVector3 center, final Vector3 p) { double farthestDistance = 0; Vector3 farthestIntersection = null; final int n = wallUpperPoints.size(); for (int i = 0; i < n; i++) { final Vector3 intersect = Util.intersectLineSegments( center, p, wallUpperPoints.get(i), wallUpperPoints.get((i + 1) % n)); if (intersect != null) { final double d = intersect.distanceSquared(center); if (d > farthestDistance) { farthestDistance = d; farthestIntersection = intersect; } } } return farthestIntersection; }
/** * Find the squared distance from the center of this Bounding Volume to the given point. * * @param point The point to get the distance to * @return distance */ public final double distanceSquaredTo(final ReadOnlyVector3 point) { return _center.distanceSquared(point); }