/* * Copyright (c) 2016 Fraunhofer IGD * * All rights reserved. This program and the accompanying materials are made * available under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution. If not, see <http://www.gnu.org/licenses/>. * * Contributors: * Fraunhofer IGD <http://www.igd.fraunhofer.de/> */ package de.fhg.igd.geom.indices; import java.util.Comparator; import de.fhg.igd.geom.Localizable; /** * This is a comparator for determining the distance that lies between two * Localizables. It is used to determine which Localizable is the nearest * neighbor to a given Localizable. <br/> * Implementations can be quite different, like comparing center point distance * or actual closest point pair distance. * * @author Thorsten Reitz */ public interface NNComparator extends Comparator<Localizable> { /** * This method will return the distance between two Localizables. * * @param first the first localizable * @param second the second localizable * @return the distance */ public double getDistance(Localizable first, Localizable second); /** * @return Returns the Localizable to which the distance will be calculated. */ public Localizable getLoc(); /** * @param loc The Localizable to set. */ public void setLoc(Localizable loc); }