Revision 42441 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
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; |
|
35 | 36 |
import org.gvsig.fmap.geom.aggregate.MultiLine; |
36 | 37 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
37 | 38 |
import org.gvsig.fmap.geom.aggregate.MultiPolygon; |
39 |
import org.gvsig.fmap.geom.aggregate.MultiPrimitive; |
|
40 |
import org.gvsig.fmap.geom.aggregate.MultiSurface; |
|
38 | 41 |
import org.gvsig.fmap.geom.jts.GeometryJTS; |
39 | 42 |
import org.gvsig.fmap.geom.jts.util.JTSUtils; |
40 | 43 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
... | ... | |
221 | 224 |
.createJTSMultiPolygon(polygons.toArray(new com.vividsolutions.jts.geom.Polygon[polygons.size()])); |
222 | 225 |
} |
223 | 226 |
|
227 |
/* (non-Javadoc) |
|
228 |
* @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform) |
|
229 |
*/ |
|
230 |
public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException { |
|
231 |
MultiSurface result = new DefaultMultiSurface(getGeometryType()); |
|
232 |
for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) { |
|
233 |
Primitive primitive = (Primitive) iterator.next(); |
|
234 |
Geometry offset = primitive.offset(distance); |
|
235 |
if(offset instanceof MultiPrimitive){ |
|
236 |
MultiPrimitive multiOffset = (MultiPrimitive)offset; |
|
237 |
for(int i=0; i<multiOffset.getPrimitivesNumber(); i++){ |
|
238 |
result.addPrimitive(multiOffset.getPrimitiveAt(i)); |
|
239 |
} |
|
240 |
} else { |
|
241 |
result.addPrimitive((Primitive)primitive.offset(distance)); |
|
242 |
} |
|
243 |
} |
|
244 |
return result; |
|
245 |
} |
|
246 |
|
|
224 | 247 |
} |
Also available in: Unified diff