Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / layers / SpatialCache.java @ 5576

History | View | Annotate | Download (1.27 KB)

1
package com.iver.cit.gvsig.fmap.layers;
2

    
3
import java.awt.geom.Rectangle2D;
4

    
5
import com.iver.cit.gvsig.fmap.core.IGeometry;
6
import com.iver.cit.gvsig.fmap.core.v02.FConverter;
7
import com.vividsolutions.jts.geom.Envelope;
8
import com.vividsolutions.jts.index.ItemVisitor;
9
import com.vividsolutions.jts.index.quadtree.Quadtree;
10

    
11
public class SpatialCache extends Quadtree {
12
        int maxFeatures = 1000; // Por defecto, pero se puede cambiar
13
        int fastNumTotalRegs=0;
14

    
15
        public int getMaxFeatures() {
16
                return maxFeatures;
17
        }
18

    
19
        public void setMaxFeatures(int maxFeatures) {
20
                this.maxFeatures = maxFeatures;
21
        }
22

    
23
        /**
24
         * M?todo de conveniencia
25
         * 
26
         * @param r
27
         * @param igeometry
28
         */
29
        public synchronized void insert(Rectangle2D bounds, IGeometry geom) {
30
                Envelope env = FConverter.convertRectangle2DtoEnvelope(bounds);
31
                this.insert(env, geom);
32
                fastNumTotalRegs++;
33
        }
34

    
35
        public synchronized void query(Envelope searchEnv, ItemVisitor visitor)
36
        {
37
                super.query(searchEnv, visitor);
38
        }
39

    
40
        public void insert(Envelope itemEnv, Object item) {
41
                super.insert(itemEnv, item);
42
                fastNumTotalRegs++;
43
        }
44

    
45
        public boolean remove(Envelope itemEnv, Object item) {
46
                boolean resul = super.remove(itemEnv, item);
47
                if (resul)
48
                        fastNumTotalRegs--;
49
                return resul;
50
        }
51

    
52
        public int size() {
53
                return fastNumTotalRegs;
54
        }
55

    
56

    
57
}