Revision 5491 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/DefaultVectorialROI.java

View differences:

DefaultVectorialROI.java
11 11
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
12 12
import org.gvsig.fmap.geom.primitive.Envelope;
13 13
import org.gvsig.fmap.geom.primitive.Point;
14
import org.gvsig.raster.lib.buffer.api.VectorialROI;
14 15
import org.gvsig.raster.lib.buffer.api.exceptions.GettingEnvelopeException;
15 16

  
16
public class DefaultVectorialROI extends AbstractROI{
17
/**
18
 * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
19
 *
20
 */
21
public class DefaultVectorialROI extends AbstractROI implements VectorialROI {
17 22

  
18

  
19 23
    List<Geometry> rois;
20 24

  
21
    public DefaultVectorialROI(){
22
        this.rois=new ArrayList<Geometry>();
25
    /**
26
     * Default constructor
27
     */
28
    public DefaultVectorialROI() {
29
        this.rois = new ArrayList<Geometry>();
23 30
    }
24 31

  
25 32
    @Override
26
    public boolean isInside(int cellX, int cellY) throws CreateGeometryException, GeometryOperationNotSupportedException, GeometryOperationException {
27
        GeometryManager geomManager=GeometryLocator.getGeometryManager();
28
        Point point = geomManager.createPoint(cellX, cellY,Geometry.SUBTYPES.GEOM2D);
29
        //TODO: convertir este punto a coordenadas desde p?xeles
33
    public boolean isInside(int cellX, int cellY) throws CreateGeometryException,
34
        GeometryOperationNotSupportedException, GeometryOperationException {
35
        GeometryManager geomManager = GeometryLocator.getGeometryManager();
36
        Point point = geomManager.createPoint(cellX, cellY, Geometry.SUBTYPES.GEOM2D);
37
        // TODO: convertir este punto a coordenadas desde p?xeles
30 38
        return isInside(point);
31 39

  
32 40
    }
33 41

  
34 42
    @Override
35
    public boolean isInside(Geometry geometry) throws GeometryOperationNotSupportedException, GeometryOperationException {
36
        if (rois!=null && !rois.isEmpty()){
37
            for (Geometry geom:rois){
38
                if( geom.contains(geometry) ){
43
    public boolean isInside(Geometry geometry) throws GeometryOperationNotSupportedException,
44
        GeometryOperationException {
45
        if (rois != null && !rois.isEmpty()) {
46
            for (Geometry geom : rois) {
47
                if (geom.contains(geometry)) {
39 48
                    return true;
40 49
                }
41 50
            }
......
45 54

  
46 55
    @Override
47 56
    public Envelope getEnvelope() throws GettingEnvelopeException {
48
        GeometryManager geomManager=GeometryLocator.getGeometryManager();
49
        Envelope envelope=null;
50
        for (Geometry geom:rois){
57
        Envelope envelope = null;
58
        for (Geometry geom : rois) {
51 59
            try {
52
                if( envelope==null ) {
53
                    envelope=(Envelope) geom.getEnvelope().clone();
60
                if (envelope == null) {
61
                    envelope = (Envelope) geom.getEnvelope().clone();
54 62
                } else {
55
                    envelope.add((Envelope)geom.getEnvelope().clone());
63
                    envelope.add((Envelope) geom.getEnvelope().clone());
56 64
                }
57 65
            } catch (CloneNotSupportedException e) {
58 66
                throw new GettingEnvelopeException(geom, e);
......
61 69
        return envelope;
62 70
    }
63 71

  
72
    @Override
73
    public void addGeometry(Geometry geometry) {
74
        this.rois.add(geometry);
75
    }
76

  
77
    @Override
78
    public void removeGeometry(int index) {
79
        this.rois.remove(index);
80
    }
81

  
82
    @Override
83
    public List<Geometry> getGeometries() {
84
        return this.rois;
85
    }
86

  
87
    @Override
88
    public int getGeometryCount() {
89
        return this.rois.size();
90
    }
91

  
64 92
}

Also available in: Unified diff