Statistics
| Revision:

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
}