Revision 44612 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/DefaultMultiSurface.java

View differences:

DefaultMultiSurface.java
32 32
import org.gvsig.fmap.geom.Geometry;
33 33
import org.gvsig.fmap.geom.GeometryException;
34 34
import org.gvsig.fmap.geom.GeometryLocator;
35
import org.gvsig.fmap.geom.aggregate.MultiCurve;
36 35
import org.gvsig.fmap.geom.aggregate.MultiLine;
37 36
import org.gvsig.fmap.geom.aggregate.MultiPoint;
38 37
import org.gvsig.fmap.geom.aggregate.MultiPolygon;
......
54 53
 */
55 54
public class DefaultMultiSurface extends AbstractMultiSurface {
56 55

  
57
    /**
58
     *
59
     */
60 56
    private static final long serialVersionUID = 9211543270911740110L;
61 57

  
62 58

  
63
    /**
64
     * @param type
65
     * @param subtype
66
     */
67 59
    public DefaultMultiSurface(GeometryType geometryType) {
68 60
        super(geometryType.getSubType());
69 61
    }
70 62

  
71
    /* (non-Javadoc)
72
     * @see org.gvsig.fmap.geom.Geometry#cloneGeometry()
73
     */
63
    @Override
74 64
    public Geometry cloneGeometry() {
75 65
        DefaultMultiSurface clone = new DefaultMultiSurface(getGeometryType());
76 66
        for(int i=0; i<primitives.size(); i++){
......
79 69
        return clone;
80 70
    }
81 71

  
82
    /* (non-Javadoc)
83
     * @see org.gvsig.fmap.geom.aggregate.MultiSurface#addSurface(org.gvsig.fmap.geom.primitive.Surface)
84
     */
72
    @Override
73
    public Geometry force2D() throws GeometryOperationNotSupportedException, GeometryOperationException {
74
        DefaultMultiSurface other = new DefaultMultiSurface(getGeometryType());
75
        other.setProjection(this.getProjection());
76
        other.ensureCapacity(primitives.size());
77
        for (Primitive primitive : primitives) {
78
            other.addPrimitive((Primitive)primitive.force2D());
79
        }
80
        return other;
81
    }
82

  
83
    @Override
85 84
    public void addSurface(Surface surface) {
86 85
        GeometryType geometryType = surface.getGeometryType();
87 86
        if(geometryType.getSubType() == getGeometryType().getSubType()){
......
99 98
    }
100 99

  
101 100

  
102
    /* (non-Javadoc)
103
     * @see org.gvsig.fmap.geom.Geometry#getDimension()
104
     */
101
    @Override
105 102
    public int getDimension() {
106 103
        switch (getGeometryType().getSubType()) {
107 104
        case Geometry.SUBTYPES.GEOM2D:
......
117 114
        }
118 115
    }
119 116

  
120
    /* (non-Javadoc)
121
     * @see org.gvsig.fmap.geom.Geometry#toPoints()
122
     */
117
    @Override
123 118
    public MultiPoint toPoints() throws GeometryException {
124 119
        MultiPoint multiPoint = GeometryLocator.getGeometryManager().createMultiPoint(getGeometryType().getSubType());
125
        for (Iterator iterator = primitives.iterator(); iterator.hasNext();) {
126
            Primitive primitive = (Primitive) iterator.next();
120
        for (Primitive primitive : primitives) {
127 121
            MultiPoint primitivePoints = primitive.toPoints();
128 122
            for (int i=0; i<primitivePoints.getPrimitivesNumber(); i++) {
129 123
                multiPoint.addPoint(primitivePoints.getPointAt(i));
......
132 126
        return multiPoint;
133 127
    }
134 128

  
135
    /* (non-Javadoc)
136
     * @see org.gvsig.fmap.geom.Geometry#toLines()
137
     */
129
    @Override
138 130
    public MultiLine toLines() throws GeometryException {
139 131
        MultiLine multiLine = GeometryLocator.getGeometryManager().createMultiLine(getGeometryType().getSubType());
140
        for (Iterator iterator = primitives.iterator(); iterator.hasNext();) {
141
            Primitive primitive = (Primitive) iterator.next();
132
        for (Primitive primitive : primitives) {
142 133
            MultiLine primitiveLines = primitive.toLines();
143 134
            for (int i=0; i<primitiveLines.getPrimitivesNumber(); i++) {
144 135
                multiLine.addPrimitive((Primitive)primitiveLines.getPrimitiveAt(i).cloneGeometry());
......
147 138
        return multiLine;
148 139
    }
149 140

  
150
    /* (non-Javadoc)
151
     * @see org.gvsig.fmap.geom.Geometry#toPolygons()
152
     */
141
    @Override
153 142
    public MultiPolygon toPolygons() throws GeometryException {
154 143
        MultiPolygon multiPolygon = GeometryLocator.getGeometryManager().createMultiPolygon(getGeometryType().getSubType());
155
        for (Iterator iterator = primitives.iterator(); iterator.hasNext();) {
156
            Primitive primitive = (Primitive) iterator.next();
144
        for (Primitive primitive : primitives) {
157 145
            MultiPolygon primitivePolygons = primitive.toPolygons();
158 146
            for (int i=0; i<primitivePolygons.getPrimitivesNumber(); i++) {
159 147
                multiPolygon.addPrimitive((Primitive)primitivePolygons.getPrimitiveAt(i).cloneGeometry());
......
162 150
        return multiPolygon;
163 151
    }
164 152

  
165
    /* (non-Javadoc)
166
     * @see org.gvsig.fmap.geom.jts.GeometryJTS#flip()
167
     */
153
    @Override
168 154
    public void flip() throws GeometryOperationNotSupportedException, GeometryOperationException {
169 155
        for (Iterator iterator = primitives.iterator(); iterator.hasNext();) {
170 156
            GeometryJTS primitive = (GeometryJTS) iterator.next();
......
190 176
    }
191 177

  
192 178

  
193
    /* (non-Javadoc)
194
     * @see org.gvsig.fmap.geom.jts.GeometryJTS#getJTS()
195
     */
179
    @Override
196 180
    public com.vividsolutions.jts.geom.Geometry getJTS() {
197
        List<com.vividsolutions.jts.geom.Polygon> polygons =
198
            new ArrayList<com.vividsolutions.jts.geom.Polygon>(primitives.size());
199
        com.vividsolutions.jts.geom.Polygon polygon = null;
200
        for (Iterator iterator = primitives.iterator(); iterator.hasNext();) {
201
            Primitive primitive = (Primitive) iterator.next();
181
        List<com.vividsolutions.jts.geom.Polygon> polygons =new ArrayList<>(primitives.size());
182
        com.vividsolutions.jts.geom.Polygon polygon;
183
        for (Primitive primitive : primitives) {
202 184
            if (primitive instanceof Polygon) {
203 185
                polygon = (com.vividsolutions.jts.geom.Polygon) ((GeometryJTS) primitive).getJTS();
204 186
                polygons.add(polygon);
......
208 190
                    multipolygon = primitive.toPolygons();
209 191
                    for (int j = 0; j < multipolygon.getPrimitivesNumber(); j++) {
210 192
                        polygon =
211
                            (com.vividsolutions.jts.geom.Polygon) ((GeometryJTS) multipolygon.getPrimitiveAt(j)).getJTS();
193
                                (com.vividsolutions.jts.geom.Polygon) ((GeometryJTS) multipolygon.getPrimitiveAt(j)).getJTS();
212 194
                        polygons.add(polygon);
213 195
                    }
214 196
                } catch (GeometryException e) {
215 197
                    GeometryType geomType = primitive.getGeometryType();
216 198
                    logger.warn(StringUtils.replaceEach(
217
                        "Can't convert primitive type=%(type)s, %(subtype)s to MultiPolygon",
218
                        new String[] {"%(type)s", "%(subtype)s" },
219
                        new String[] { String.valueOf(geomType.getType()), String.valueOf(geomType.getSubType()) }));
199
                            "Can't convert primitive type=%(type)s, %(subtype)s to MultiPolygon",
200
                            new String[] {"%(type)s", "%(subtype)s" },
201
                            new String[] { String.valueOf(geomType.getType()), String.valueOf(geomType.getSubType()) }));
220 202
                }
221 203
            }
222 204
        }
......
224 206
            .createJTSMultiPolygon(polygons.toArray(new com.vividsolutions.jts.geom.Polygon[polygons.size()]));
225 207
    }
226 208

  
227
    /* (non-Javadoc)
228
     * @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform)
229
     */
209
    @Override
230 210
    public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException {
231 211
        MultiSurface result = new DefaultMultiSurface(getGeometryType());
232
        for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) {
233
            Primitive primitive = (Primitive) iterator.next();
212
        for (Primitive primitive : primitives) {
234 213
            Geometry offset = primitive.offset(distance);
235 214
            if(offset instanceof MultiPrimitive){
236 215
                MultiPrimitive multiOffset = (MultiPrimitive)offset;

Also available in: Unified diff