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/MultiLine3D.java
MultiLine3D.java | ||
---|---|---|
31 | 31 |
import org.gvsig.fmap.geom.aggregate.MultiLine; |
32 | 32 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
33 | 33 |
import org.gvsig.fmap.geom.aggregate.MultiPolygon; |
34 |
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2D; |
|
34 | 35 |
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line3D; |
36 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
|
37 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
|
35 | 38 |
import org.gvsig.fmap.geom.primitive.Polygon; |
36 | 39 |
import org.gvsig.fmap.geom.primitive.Primitive; |
37 | 40 |
|
... | ... | |
158 | 161 |
notifyDeprecated(message); |
159 | 162 |
throw new UnsupportedOperationException(message); |
160 | 163 |
} |
164 |
|
|
165 |
/* (non-Javadoc) |
|
166 |
* @see org.gvsig.fmap.geom.Geometry#transform(java.awt.geom.AffineTransform) |
|
167 |
*/ |
|
168 |
public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException { |
|
169 |
MultiLine3D result = new MultiLine3D(); |
|
170 |
for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) { |
|
171 |
Primitive primitive = (Primitive) iterator.next(); |
|
172 |
Geometry offset = primitive.offset(distance); |
|
173 |
if(offset instanceof MultiLine){ |
|
174 |
MultiLine multiOffset = (MultiLine)offset; |
|
175 |
for(int i=0; i<multiOffset.getPrimitivesNumber(); i++){ |
|
176 |
result.addPrimitive(multiOffset.getPrimitiveAt(i)); |
|
177 |
} |
|
178 |
} else { |
|
179 |
result.addPrimitive((Primitive)primitive.offset(distance)); |
|
180 |
} |
|
181 |
} |
|
182 |
return result; |
|
183 |
} |
|
161 | 184 |
} |
Also available in: Unified diff