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/MultiLine2D.java
MultiLine2D.java | ||
---|---|---|
29 | 29 |
import org.gvsig.fmap.geom.aggregate.MultiLine; |
30 | 30 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
31 | 31 |
import org.gvsig.fmap.geom.aggregate.MultiPolygon; |
32 |
import org.gvsig.fmap.geom.aggregate.MultiPrimitive; |
|
32 | 33 |
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2D; |
34 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
|
35 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
|
33 | 36 |
import org.gvsig.fmap.geom.primitive.Polygon; |
34 | 37 |
import org.gvsig.fmap.geom.primitive.Primitive; |
35 | 38 |
|
... | ... | |
137 | 140 |
notifyDeprecated(message); |
138 | 141 |
throw new UnsupportedOperationException(message); |
139 | 142 |
} |
143 |
|
|
144 |
/* (non-Javadoc) |
|
145 |
* @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform) |
|
146 |
*/ |
|
147 |
public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException { |
|
148 |
MultiLine2D result = new MultiLine2D(); |
|
149 |
for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) { |
|
150 |
Primitive primitive = (Primitive) iterator.next(); |
|
151 |
Geometry offset = primitive.offset(distance); |
|
152 |
if(offset instanceof MultiLine){ |
|
153 |
MultiLine multiOffset = (MultiLine)offset; |
|
154 |
for(int i=0; i<multiOffset.getPrimitivesNumber(); i++){ |
|
155 |
result.addPrimitive(multiOffset.getPrimitiveAt(i)); |
|
156 |
} |
|
157 |
} else { |
|
158 |
result.addPrimitive((Primitive)primitive.offset(distance)); |
|
159 |
} |
|
160 |
} |
|
161 |
return result; |
|
162 |
} |
|
140 | 163 |
} |
Also available in: Unified diff