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 |
} |