Revision 2979 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/operations/strategies/DefaultStrategy.java

View differences:

DefaultStrategy.java
74 74
 * mayor parte de las estrategias
75 75
 */
76 76
public class DefaultStrategy implements Strategy {
77
    public static final int EQUALS = 0;
78
    public static final int DISJOINT = 1;
79
    public static final int INTERSECTS = 2;
80
    public static final int TOUCHES = 3;
81
    public static final int CROSSES = 4;
82
    public static final int WITHIN = 5;
83
    public static final int CONTAINS = 6;
84
    public static final int OVERLAPS = 7;
85
    
77 86
	private static Logger logger = Logger.getLogger(DefaultStrategy.class.getName());
78 87
	FLayer capa = null;
79 88

  
......
316 325
	 */
317 326
	public FBitSet queryByPoint(Point2D p, double tolerance)
318 327
		throws DriverException {
319
		QueryByPointVisitor visitor = new QueryByPointVisitor();
320
		visitor.setLayer(capa);
321
		visitor.setTolerance(tolerance);
322
		visitor.setQueriedPoint(p);
323

  
324
		try {
325
			process(visitor);
326
		} catch (VisitException e) {
327
			throw new RuntimeException(
328
				"QueryByPointVisitor lanza una VisitException?");
329
		}
330

  
331
		return visitor.getBitSet();
328
        // TODO: OJO!!!!. Est? implementado como un rectangulo.
329
        // Lo correcto deber?a ser calculando las distancias reales
330
        // es decir, con un c?rculo.
331
        Rectangle2D recPoint = new Rectangle2D.Double(p.getX() - (tolerance / 2),
332
                p.getY() - (tolerance / 2), tolerance, tolerance);
333
		return queryByRect(recPoint);
332 334
	}
333 335

  
334 336
	/* (non-Javadoc)

Also available in: Unified diff