package org.apache.lucene.spatial3d.geom;
public class LinearDistance implements DistanceStyle {
public final static LinearDistance INSTANCE = new LinearDistance();
public LinearDistance() {
}
@Override
public double computeDistance(final GeoPoint point1, final GeoPoint point2) {
return point1.linearDistance(point2);
}
@Override
public double computeDistance(final GeoPoint point1, final double x2, final double y2, final double z2) {
return point1.linearDistance(x2,y2,z2);
}
@Override
public double computeDistance(final PlanetModel planetModel, final Plane plane, final GeoPoint point, final Membership... bounds) {
return plane.linearDistance(planetModel, point, bounds);
}
@Override
public double computeDistance(final PlanetModel planetModel, final Plane plane, final double x, final double y, final double z, final Membership... bounds) {
return plane.linearDistance(planetModel, x,y,z, bounds);
}
@Override
public GeoPoint[] findDistancePoints(final PlanetModel planetModel, final double distanceValue, final GeoPoint startPoint, final Plane plane, final Membership... bounds) {
throw new IllegalStateException("Reverse mapping not implemented for this distance metric");
}
@Override
public double findMinimumArcDistance(final PlanetModel planetModel, final double distanceValue) {
throw new IllegalStateException("Reverse mapping not implemented for this distance metric");
}
@Override
public double findMaximumArcDistance(final PlanetModel planetModel, final double distanceValue) {
throw new IllegalStateException("Reverse mapping not implemented for this distance metric");
}
}