Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / operations / strategies / QueryByShapeVisitor.java @ 235

History | View | Annotate | Download (1.46 KB)

1
package com.iver.cit.gvsig.fmap.operations.strategies;
2

    
3
import java.awt.Shape;
4
import java.util.BitSet;
5

    
6
import com.iver.cit.gvsig.fmap.core.FGeometry;
7

    
8

    
9
/**
10
 * Query by Shape.
11
 *
12
 * @author Vicente Caballero Navarro
13
 */
14
public class QueryByShapeVisitor implements FeatureVisitor {
15
    private BitSet bitset = null;
16
    private Shape shape = null;
17
    private int relationship;
18

    
19
    /**
20
     * DOCUMENT ME!
21
     *
22
     * @param relationship DOCUMENT ME!
23
     */
24
    public void setRelationShip(int relationship) {
25
        this.relationship = relationship;
26
    }
27

    
28
    /**
29
     * DOCUMENT ME!
30
     *
31
     * @param shape DOCUMENT ME!
32
     */
33
    public void setShape(Shape shape) {
34
        this.shape = shape;
35
    }
36

    
37
    /**
38
     * DOCUMENT ME!
39
     *
40
     * @return DOCUMENT ME!
41
     */
42
    public BitSet getBitSet() {
43
        return bitset;
44
    }
45

    
46
    /**
47
     * @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#visit(com.iver.cit.gvsig.fmap.core.FGeometry,
48
     *      int)
49
     */
50
    public void visit(FGeometry g, int index) {
51
        if (shape.intersects(g.getBounds2D())) {
52
            bitset.set(index, true);
53
        } else {
54
            bitset.set(index, false);
55
        }
56
    }
57

    
58
    /**
59
     * @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#stop()
60
     */
61
    public void stop() {
62
    }
63

    
64
    /**
65
     * @see com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor#start()
66
     */
67
    public void start() {
68
        bitset = new BitSet();
69
    }
70
}