Revision 42271 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/aggregate/MultiLine2DM.java

View differences:

MultiLine2DM.java
25 25
import java.awt.Shape;
26 26
import java.awt.geom.AffineTransform;
27 27
import java.awt.geom.PathIterator;
28
import java.util.Iterator;
28 29

  
29
import org.cresques.cts.ICoordTrans;
30

  
31 30
import org.gvsig.fmap.geom.Geometry;
32 31
import org.gvsig.fmap.geom.GeometryException;
33 32
import org.gvsig.fmap.geom.aggregate.MultiLine;
34 33
import org.gvsig.fmap.geom.aggregate.MultiPoint;
35 34
import org.gvsig.fmap.geom.aggregate.MultiPolygon;
36 35
import org.gvsig.fmap.geom.handler.Handler;
36
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2DM;
37 37
import org.gvsig.fmap.geom.operation.GeometryOperationException;
38 38
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
39 39
import org.gvsig.fmap.geom.primitive.GeneralPathX;
40
import org.gvsig.fmap.geom.primitive.Polygon;
41
import org.gvsig.fmap.geom.primitive.Primitive;
40 42

  
41 43

  
42 44
/**
......
63 65
     * @see org.gvsig.fmap.geom.aggregate.MultiLine#toPoints()
64 66
     */
65 67
    public MultiPoint toPoints() throws GeometryException {
66
        // TODO Auto-generated method stub
67
        return null;
68
        MultiPoint multiPoint = new MultiPoint2DM();
69
        for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) {
70
            Line2DM line = (Line2DM) iterator.next();
71
            MultiPoint points = line.toPoints();
72
            multiPoint.ensureCapacity(multiPoint.getPrimitivesNumber()+points.getPrimitivesNumber());
73
            for(int i=0; i<points.getPrimitivesNumber(); i++){
74
                multiPoint.addPoint(points.getPointAt(i));
75
            }
76
        }
77
        return multiPoint;
68 78
    }
69 79

  
70 80
    /* (non-Javadoc)
71 81
     * @see org.gvsig.fmap.geom.aggregate.MultiLine#toLines()
72 82
     */
73 83
    public MultiLine toLines() throws GeometryException {
74
        // TODO Auto-generated method stub
75
        return null;
84
        return this;
76 85
    }
77 86

  
78 87
    /* (non-Javadoc)
79 88
     * @see org.gvsig.fmap.geom.aggregate.MultiLine#toPolygons()
80 89
     */
81 90
    public MultiPolygon toPolygons() throws GeometryException {
82
        // TODO Auto-generated method stub
83
        return null;
91
        MultiPolygon multiPolygon = new MultiPolygon2DM();
92
        for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) {
93
            Line2DM line = (Line2DM) iterator.next();
94
            MultiPolygon polygons = line.toPolygons();
95
            multiPolygon.ensureCapacity(multiPolygon.getPrimitivesNumber()+polygons.getPrimitivesNumber());
96
            for(int i=0; i<polygons.getPrimitivesNumber(); i++){
97
                multiPolygon.addSurface((Polygon)polygons.getPrimitiveAt(i));
98
            }
99
        }
100
        return multiPolygon;
84 101
    }
85 102

  
103

  
86 104
    /* (non-Javadoc)
87 105
     * @see org.gvsig.fmap.geom.aggregate.Aggregate#union()
88 106
     */
......
180 198
        return false;
181 199
    }
182 200

  
201
    /* (non-Javadoc)
202
     * @see org.gvsig.fmap.geom.jts.aggregate.AbstractMultiLine#fixLine(org.gvsig.fmap.geom.primitive.Line)
203
     */
204
    @Override
205
    protected Primitive fixPrimitive(Primitive curve) {
206
        if(!(curve instanceof Line2DM)){
207
            String message = "Only Line2DM primitives can be added to a MultiLine2DM";
208
            notifyDeprecated(message);
209
            throw new UnsupportedOperationException(message);
210
        }
211
        return curve;
212
    }
183 213
}

Also available in: Unified diff