Revision 45762 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/primitive/curve/spline/Spline2DM.java
Spline2DM.java | ||
---|---|---|
22 | 22 |
*/ |
23 | 23 |
package org.gvsig.fmap.geom.jts.primitive.curve.spline; |
24 | 24 |
|
25 |
import java.util.ArrayList; |
|
26 |
|
|
27 | 25 |
import com.vividsolutions.jts.geom.Coordinate; |
28 | 26 |
import com.vividsolutions.jts.geom.CoordinateSequence; |
27 |
import com.vividsolutions.jts.operation.buffer.BufferParameters; |
|
28 |
import java.util.ArrayList; |
|
29 | 29 |
import java.util.Arrays; |
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; |
... | ... | |
185 | 184 |
} |
186 | 185 |
|
187 | 186 |
@Override |
187 |
public Geometry offset(int joinStyle, double distance) throws GeometryOperationNotSupportedException, GeometryOperationException { |
|
188 |
Coordinate[] coords = getJTS().getCoordinates(); |
|
189 |
ArrayListCoordinateSequence listCoordSequence = new ArrayListCoordinateSequence(new ArrayList<Coordinate>()); |
|
190 |
for (int i = 0; i < coords.length; i++) { |
|
191 |
listCoordSequence.add(coords[i]); |
|
192 |
} |
|
193 |
if (isClosed()) { |
|
194 |
return JTSUtils.offsetClosedLine(this.getProjection(), listCoordSequence, joinStyle, distance); |
|
195 |
} else { |
|
196 |
BufferParameters bufParams = JTSUtils.getBufferParameters(joinStyle, BufferParameters.CAP_FLAT); |
|
197 |
return OpenJUMPUtils.offsetCleanOpenLine(this.getProjection(), listCoordSequence, bufParams, distance); |
|
198 |
} |
|
199 |
} |
|
200 |
|
|
201 |
@Override |
|
188 | 202 |
public boolean equals(Object obj) { |
189 | 203 |
boolean res = super.equals(obj); |
190 | 204 |
if(res && obj instanceof Spline2DM){ |
Also available in: Unified diff