package iamrescue.belief.spatial;
import iamrescue.util.PositionXY;
import iamrescue.util.SpatialUtils;
import rescuecore2.standard.entities.StandardEntity;
import com.vividsolutions.jts.geom.Geometry;
public class SpatialQuery {
private Geometry geometry;
private int distance;
private boolean usingOnlyRepresentativePoints;
private Class<? extends StandardEntity> queryClass;
public SpatialQuery(PositionXY[] apexes, int distance,
boolean useOnlyRepresentativePoints,
Class<? extends StandardEntity> queryClass) {
this(SpatialUtils.convertApexes(apexes), distance,
useOnlyRepresentativePoints, queryClass);
}
public SpatialQuery(Geometry geometry, int distance,
boolean useOnlyRepresentativePoints,
Class<? extends StandardEntity> queryClass) {
this.geometry = geometry;
this.distance = distance;
this.usingOnlyRepresentativePoints = useOnlyRepresentativePoints;
this.queryClass = queryClass;
}
/**
* @return the geometry
*/
public Geometry getGeometry() {
return geometry;
}
/**
* @param geometry
* the geometry to set
*/
public void setGeometry(Geometry geometry) {
this.geometry = geometry;
}
/**
* @return the distance
*/
public int getDistance() {
return distance;
}
/**
* @param distance
* the distance to set
*/
public void setDistance(int distance) {
this.distance = distance;
}
/**
* @return the useOnlyRepresentativePoints
*/
public boolean isUsingOnlyRepresentativePoints() {
return usingOnlyRepresentativePoints;
}
/**
* @param useOnlyRepresentativePoints
* the useOnlyRepresentativePoints to set
*/
public void setUsingOnlyRepresentativePoints(
boolean useOnlyRepresentativePoints) {
this.usingOnlyRepresentativePoints = useOnlyRepresentativePoints;
}
/**
* @return the queryClass
*/
public Class<? extends StandardEntity> getQueryClass() {
return queryClass;
}
/**
* @param queryClass
* the queryClass to set
*/
public void setQueryClass(Class<? extends StandardEntity> queryClass) {
this.queryClass = queryClass;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Query[c:" + queryClass.getName() + ",d:" + distance + ",g:"
+ geometry + ",rep:" + usingOnlyRepresentativePoints + "]";
}
}