svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / operations / strategies / QueryByPointVisitor.java @ 235
History | View | Annotate | Download (1.9 KB)
1 |
/* Generated by Together */
|
---|---|
2 |
package com.iver.cit.gvsig.fmap.operations.strategies; |
3 |
|
4 |
import java.awt.geom.Point2D; |
5 |
import java.awt.geom.Rectangle2D; |
6 |
import java.util.BitSet; |
7 |
|
8 |
import com.iver.cit.gvsig.fmap.core.FGeometry; |
9 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
10 |
import com.iver.cit.gvsig.fmap.operations.QueriedPoint; |
11 |
|
12 |
|
13 |
/**
|
14 |
* Query by point Visitor.
|
15 |
*
|
16 |
* @author Vicente Caballero Navarro
|
17 |
*
|
18 |
*/
|
19 |
public class QueryByPointVisitor implements FeatureVisitor { |
20 |
private QueriedPoint point = null; |
21 |
private double tolerance; |
22 |
private FLayer layer=null; |
23 |
private BitSet bitset=null; |
24 |
private Rectangle2D recPoint=null; |
25 |
/**
|
26 |
* DOCUMENT ME!
|
27 |
*
|
28 |
* @return DOCUMENT ME!
|
29 |
*/
|
30 |
public BitSet getBitSet() { |
31 |
return bitset;
|
32 |
} |
33 |
public void setLayer(FLayer layer){ |
34 |
this.layer=layer;
|
35 |
} |
36 |
/**
|
37 |
* DOCUMENT ME!
|
38 |
*
|
39 |
* @param t DOCUMENT ME!
|
40 |
*/
|
41 |
public void setTolerance(double t) { |
42 |
tolerance = t; |
43 |
} |
44 |
|
45 |
/**
|
46 |
* DOCUMENT ME!
|
47 |
*
|
48 |
* @param p DOCUMENT ME!
|
49 |
*/
|
50 |
public void setQueriedPoint(QueriedPoint p) { |
51 |
point = p; |
52 |
} |
53 |
|
54 |
/**
|
55 |
* @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#visit(com.iver.cit.gvsig.fmap.core.FGeometry,
|
56 |
* int)
|
57 |
*/
|
58 |
public void visit(FGeometry g, int index) { |
59 |
|
60 |
if (g.intersects(recPoint)) {
|
61 |
bitset.set(index, true);
|
62 |
} else {
|
63 |
bitset.set(index, false);
|
64 |
} |
65 |
} |
66 |
|
67 |
/**
|
68 |
* @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#stop()
|
69 |
*/
|
70 |
public void stop() { |
71 |
} |
72 |
|
73 |
/**
|
74 |
* @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#start()
|
75 |
*/
|
76 |
public void start() { |
77 |
bitset = new BitSet(); |
78 |
recPoint = new Rectangle2D.Double(point.getRealX() - |
79 |
(tolerance / 2), point.getRealY() - (tolerance / 2), tolerance, |
80 |
tolerance); |
81 |
|
82 |
} |
83 |
} |