public class DistanceUtils extends Object
Note that you may always use custom metric via DistanceUtils.IGetDistance interface.
Note that you may always use some custom filters via DistanceUtils.IDistanceFilter interface.
| Modifier and Type | Class and Description |
|---|---|
static class |
DistanceUtils.AcceptAllDistanceFilter<T>
Filter that accepts all "objects" (does not filter anything out).
|
static class |
DistanceUtils.FilterAdapter<T>
Adapter that wraps
IFilter making it into DistanceUtils.IDistanceFilter. |
static class |
DistanceUtils.GetLocatedDistance2D<T extends ILocated>
Simple implementation of
DistanceUtils.IGetDistance that uses Location.getDistance2D(Location) method. |
static class |
DistanceUtils.GetLocatedDistance3D<T extends ILocated>
Simple implementation of
DistanceUtils.IGetDistance that uses Location.getDistance(Location) method. |
static interface |
DistanceUtils.IDistanceFilter<T>
Filter that allows to check whether "object" is accepted with respect to "distanceToTarget" for given "target".
|
static interface |
DistanceUtils.IGetDistance<T>
Distance estimator between object of types T and some
Location target. |
static class |
DistanceUtils.RangeDistanceFilter<T>
Filter that accepts all "objects" that are within range of min/max distance (inclusive).
|
static class |
DistanceUtils.VisibleFilter<T extends IViewable>
Accepts only VISIBLE (
IViewable.isVisible() == TRUE) objects. |
| Modifier and Type | Field and Description |
|---|---|
static DistanceUtils.AcceptAllDistanceFilter |
acceptAllDistanceFilter
|
static DistanceUtils.GetLocatedDistance2D<ILocated> |
getLocatedDistance2D
|
static DistanceUtils.GetLocatedDistance3D<ILocated> |
getLocatedDistance3D
|
static DistanceUtils.VisibleFilter<IViewable> |
visibleFilter
|
| Constructor and Description |
|---|
DistanceUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T extends ILocated> |
getDistanceSorted(Collection<T> locations,
ILocated target)
Returns "locations" sorted according to the distance to "target".
|
static <T extends ILocated> |
getDistanceSorted(Collection<T> locations,
ILocated target,
DistanceUtils.IDistanceFilter... filters)
Returns "locations" accepted by all "filters" sorted according to the distance to "target".
|
static <T> List<T> |
getDistanceSorted(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance)
Returns "locations" sorted according to the distance to "target".
|
static <T> List<T> |
getDistanceSorted(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance,
DistanceUtils.IDistanceFilter... filters)
Returns "locations" accepted by all "filters" sorted according to the distance to "target".
|
static <T extends ILocated> |
getDistanceSorted(Collection<T> locations,
ILocated target,
double maxDistance)
Returns "locations" sorted according to the distance to "target".
|
static <T extends ILocated> |
getDistanceSortedFiltered(Collection<T> locations,
ILocated target,
cz.cuni.amis.utils.IFilter filter)
Returns "locations" sorted according to the distance to "target".
|
static <T extends IViewable> |
getDistanceSortedVisible(Collection<T> locations,
ILocated target)
Returns visible "locations" sorted according to the distance to "target".
|
static <T extends ILocated> |
getNearest(Collection<T> locations,
ILocated target)
Returns the nearest object to 'target'.
|
static <T extends ILocated> |
getNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IDistanceFilter... filters)
Returns the nearest object to 'target' that is accepted by all 'filters'.
|
static <T> T |
getNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance)
Returns the nearest object to 'target'.
|
static <T> T |
getNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance,
DistanceUtils.IDistanceFilter... filters)
Returns the nearest object to 'target' that is accepted by all 'filters'.
|
static <T extends ILocated> |
getNearest(Collection<T> locations,
ILocated target,
double maxDistance)
Returns the nearest object to 'target' that is not further than 'maxDistance'.
|
static <T extends ILocated> |
getNearest2D(Collection<T> locations,
ILocated target)
Returns the nearest (in 2D) object to 'target'.
|
static <T extends ILocated> |
getNearest2D(Collection<T> locations,
ILocated target,
DistanceUtils.IDistanceFilter... filters)
Returns the nearest (in 2D) object to 'target' that is accepted by all 'filters'.
|
static <T extends ILocated> |
getNearest2D(Collection<T> locations,
ILocated target,
double maxDistance)
Returns the nearest (in 2D) object to 'target' that is not further than 'maxDistance'.
|
static <T extends ILocated> |
getNearest2DFiltered(Collection<T> locations,
ILocated target,
cz.cuni.amis.utils.IFilter<T> filter)
Returns the nearest (in 2D) object to 'target' that is accepted by filter.
|
static <T extends IViewable> |
getNearest2DVisible(Collection<T> locations,
ILocated target)
Returns the nearest object to 'target' that is visible (using
DistanceUtils.VisibleFilter). |
static <T extends ILocated> |
getNearestFiltered(Collection<T> locations,
ILocated target,
cz.cuni.amis.utils.IFilter filter)
Returns the nearest object to 'target' that is accepted by filter.
|
static <T extends IViewable> |
getNearestVisible(Collection<T> locations,
ILocated target)
Returns the nearest object to 'target' that is visible (using
DistanceUtils.VisibleFilter). |
static <T extends ILocated> |
getSecondNearest(Collection<T> locations,
ILocated target)
Returns the second nearest object to 'target'.
|
static <T extends ILocated> |
getSecondNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IDistanceFilter... filters)
Returns the second nearest object to 'target' that is accepted by all 'filters'.
|
static <T> T |
getSecondNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance)
Returns the second nearest object to 'target'.
|
static <T> T |
getSecondNearest(Collection<T> locations,
ILocated target,
DistanceUtils.IGetDistance getDistance,
DistanceUtils.IDistanceFilter... filters)
Returns the second nearest object to 'target'.
|
static <T extends ILocated> |
getSecondNearest(Collection<T> locations,
ILocated target,
double maxDistance)
Returns the second nearest object to 'target' that is not further than 'maxDistance'.
|
static <T extends ILocated> |
getSecondNearest2D(Collection<T> locations,
ILocated target)
Returns the second nearest (in 2D) object to 'target'.
|
static <T extends ILocated> |
getSecondNearest2D(Collection<T> locations,
ILocated target,
DistanceUtils.IDistanceFilter... filters)
Returns the second nearest (in 2D) object to 'target' that is accepted by all 'filters'.
|
static <T extends ILocated> |
getSecondNearest2D(Collection<T> locations,
ILocated target,
double maxDistance)
Returns the second nearest (in 2D) object to 'target' that is not further than 'maxDistance'.
|
static <T extends ILocated> |
getSecondNearest2DFiltered(Collection<T> locations,
ILocated target,
cz.cuni.amis.utils.IFilter<T> filter)
Returns the second nearest (in 2D) object to 'target' that is accepted by filter.
|
static <T extends IViewable> |
getSecondNearest2DVisible(Collection<T> locations,
ILocated target)
Returns the second nearest object to 'target' that is visible (using
DistanceUtils.VisibleFilter). |
static <T extends ILocated> |
getSecondNearestFiltered(Collection<T> locations,
ILocated target,
cz.cuni.amis.utils.IFilter filter)
Returns the second nearest object to 'target' that is accepted by filter.
|
static <T extends IViewable> |
getSecondNearestVisible(Collection<T> locations,
ILocated target)
Returns the second nearest object to 'target' that is visible (using
DistanceUtils.VisibleFilter). |
public static final DistanceUtils.GetLocatedDistance3D<ILocated> getLocatedDistance3D
public static final DistanceUtils.GetLocatedDistance2D<ILocated> getLocatedDistance2D
public static final DistanceUtils.AcceptAllDistanceFilter acceptAllDistanceFilter
public static final DistanceUtils.VisibleFilter<IViewable> visibleFilter
public static <T> T getNearest(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance)
Distance is obtained via provided IGetDistance#getDistance(Object, Location).
WARNING: O(n) complexity!
T - locations - target - getDistance - distance computer between 'locations' and 'target'.public static <T> T getNearest(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance, DistanceUtils.IDistanceFilter... filters)
Distance is obtained via provided IGetDistance#getDistance(Object, Location).
WARNING: O(n) complexity!
T - locations - target - getDistance - distance computer between 'locations' and 'target'.filters - filters to be used (that can filter out unsuitable results)public static <T extends ILocated> T getNearest(Collection<T> locations, ILocated target, DistanceUtils.IDistanceFilter... filters)
WARNING: O(n) complexity!
T - locations - target - filters - public static <T extends ILocated> T getNearest(Collection<T> locations, ILocated target)
WARNING: O(n) complexity!
T - locations - target - public static <T extends ILocated> T getNearest(Collection<T> locations, ILocated target, double maxDistance)
Using DistanceUtils.RangeDistanceFilter (minDistance = 0, maxDistance is provided).
WARNING: O(n) complexity!
T - locations - target - maxDistance - public static <T extends ILocated> T getNearestFiltered(Collection<T> locations, ILocated target, cz.cuni.amis.utils.IFilter filter)
WARNING: O(n) complexity!
T - locations - target - filter - if null behave as if ALL locations are acceptedpublic static <T extends IViewable> T getNearestVisible(Collection<T> locations, ILocated target)
DistanceUtils.VisibleFilter).
WARNING: O(n) complexity!
public static <T> List<T> getDistanceSorted(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance)
Distance is provided by IGetDistance#getDistance(Object, Location).
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - getDistance - public static <T> List<T> getDistanceSorted(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance, DistanceUtils.IDistanceFilter... filters)
Distance is provided by IGetDistance#getDistance(Object, Location).
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - getDistance - public static <T extends ILocated> List<T> getDistanceSorted(Collection<T> locations, ILocated target, DistanceUtils.IDistanceFilter... filters)
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - filters - public static <T extends ILocated> List<T> getDistanceSorted(Collection<T> locations, ILocated target)
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - public static <T extends ILocated> List<T> getDistanceSorted(Collection<T> locations, ILocated target, double maxDistance)
Using DistanceUtils.RangeDistanceFilter (minDistance = 0, maxDistance is provided).
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - maxDistance - public static <T extends ILocated> List<T> getDistanceSortedFiltered(Collection<T> locations, ILocated target, cz.cuni.amis.utils.IFilter filter)
WARNING: 2*O(n) + O(n*log n) complexity!
T - locations - target - filter - if null behave as if ALL locations are acceptedpublic static <T extends IViewable> List<T> getDistanceSortedVisible(Collection<T> locations, ILocated target)
WARNING: 2*O(n) + O(n*log n) complexity!
public static <T> T getSecondNearest(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance)
Distance is provided by DistanceUtils.IGetDistance.getDistance(Object, ILocated).
WARNING: O(n) complexity!
T - locations - target - public static <T> T getSecondNearest(Collection<T> locations, ILocated target, DistanceUtils.IGetDistance getDistance, DistanceUtils.IDistanceFilter... filters)
WARNING: O(n) complexity!
T - locations - target - public static <T extends ILocated> T getSecondNearest(Collection<T> locations, ILocated target, DistanceUtils.IDistanceFilter... filters)
WARNING: O(n) complexity!
T - locations - target - filters - public static <T extends ILocated> T getSecondNearest(Collection<T> locations, ILocated target)
WARNING: O(n) complexity!
T - locations - target - public static <T extends ILocated> T getSecondNearest(Collection<T> locations, ILocated target, double maxDistance)
Using DistanceUtils.RangeDistanceFilter (minDistance = 0, maxDistance is provided).
WARNING: O(n) complexity!
T - locations - target - maxDistance - public static <T extends ILocated> T getSecondNearestFiltered(Collection<T> locations, ILocated target, cz.cuni.amis.utils.IFilter filter)
WARNING: O(n) complexity!
T - locations - target - filter - if null behave as if ALL locations are acceptedpublic static <T extends IViewable> T getSecondNearestVisible(Collection<T> locations, ILocated target)
DistanceUtils.VisibleFilter).
WARNING: O(n) complexity!
public static <T extends ILocated> T getNearest2D(Collection<T> locations, ILocated target, DistanceUtils.IDistanceFilter... filters)
WARNING: O(n) complexity!
T - locations - target - filters - public static <T extends ILocated> T getNearest2D(Collection<T> locations, ILocated target)
WARNING: O(n) complexity!
T - locations - target - public static <T extends ILocated> T getNearest2D(Collection<T> locations, ILocated target, double maxDistance)
Using DistanceUtils.RangeDistanceFilter (minDistance = 0, maxDistance is provided).
WARNING: O(n) complexity!
T - locations - target - maxDistance - public static <T extends ILocated> T getNearest2DFiltered(Collection<T> locations, ILocated target, cz.cuni.amis.utils.IFilter<T> filter)
WARNING: O(n) complexity!
T - locations - target - filter - if null behave as if ALL locations are acceptedpublic static <T extends IViewable> T getNearest2DVisible(Collection<T> locations, ILocated target)
DistanceUtils.VisibleFilter).
WARNING: O(n) complexity!
public static <T extends ILocated> T getSecondNearest2D(Collection<T> locations, ILocated target, DistanceUtils.IDistanceFilter... filters)
WARNING: O(n) complexity!
T - locations - target - filters - public static <T extends ILocated> T getSecondNearest2D(Collection<T> locations, ILocated target)
WARNING: O(n) complexity!
T - locations - target - public static <T extends ILocated> T getSecondNearest2D(Collection<T> locations, ILocated target, double maxDistance)
Using DistanceUtils.RangeDistanceFilter (minDistance = 0, maxDistance is provided).
WARNING: O(n) complexity!
T - locations - target - maxDistance - public static <T extends ILocated> T getSecondNearest2DFiltered(Collection<T> locations, ILocated target, cz.cuni.amis.utils.IFilter<T> filter)
WARNING: O(n) complexity!
T - locations - target - filter - if null behave as if ALL locations are acceptedpublic static <T extends IViewable> T getSecondNearest2DVisible(Collection<T> locations, ILocated target)
DistanceUtils.VisibleFilter).
WARNING: O(n) complexity!
Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.