// Created by plusminus on 6:25:54 PM - Mar 27, 2009
package org.androad.sys.ors.adt.ts;
import java.util.Collection;
import java.util.List;
import org.osmdroid.util.BoundingBoxE6;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.overlay.OverlayItem;
/**
*
* @author Nicolas Gramlich
*
* @param <T>
*/
public interface ISpatialDataOrganizer<T extends OverlayItem> {
public abstract List<T> getItems();
public abstract void add(final T pItem);
public abstract void addAll(final Collection<T> pItems);
public abstract void buildIndex();
public abstract GetMode getGetMode();
public abstract List<T> getClosest(final GeoPoint pGeoPoint, final int pCount);
public abstract List<T> getWithinBoundingBox(final BoundingBoxE6 pBoundingBoxE6, final int pCount);
public void clearIndex();
public abstract boolean isIndexBuilt();
public static enum GetMode{
CLOSEST, BOUNDINGBOX;
}
}