/** * Find the points between two planes, where one plane crosses the other, given a set of bounds. * Crossing is not just intersection; the planes cannot touch at just one point on the ellipsoid, * but must cross at two. * * @param planetModel is the planet model. * @param q is the plane to intersect with. * @param bounds are the bounds to consider to determine legal intersection points. * @return the set of legal crossing points, or null if the planes are numerically identical. */ public GeoPoint[] findCrossings(final PlanetModel planetModel, final Plane q, final Membership... bounds) { if (isNumericallyIdentical(q)) { return null; } return findCrossings(planetModel, q, bounds, NO_BOUNDS); }