Revision 2979 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/operations/strategies/DefaultStrategy.java
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