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/primitive/curve/spline/Spline2D.java
Spline2D.java | ||
---|---|---|
27 | 27 |
import com.vividsolutions.jts.geom.Coordinate; |
28 | 28 |
|
29 | 29 |
import org.gvsig.fmap.geom.Geometry; |
30 |
import org.gvsig.fmap.geom.GeometryException; |
|
31 |
import org.gvsig.fmap.geom.aggregate.MultiLine; |
|
32 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
|
33 |
import org.gvsig.fmap.geom.aggregate.MultiPolygon; |
|
34 |
import org.gvsig.fmap.geom.jts.aggregate.MultiLine2D; |
|
35 |
import org.gvsig.fmap.geom.jts.aggregate.MultiPoint2D; |
|
36 |
import org.gvsig.fmap.geom.jts.aggregate.MultiPolygon2D; |
|
37 |
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2D; |
|
38 |
import org.gvsig.fmap.geom.jts.primitive.point.Point2D; |
|
39 |
import org.gvsig.fmap.geom.jts.primitive.surface.polygon.Polygon2D; |
|
40 | 30 |
import org.gvsig.fmap.geom.jts.util.ArrayListCoordinateSequence; |
41 |
import org.gvsig.fmap.geom.jts.util.ReadOnlyCoordinates;
|
|
42 |
import org.gvsig.fmap.geom.primitive.Line;
|
|
43 |
import org.gvsig.fmap.geom.primitive.Point;
|
|
44 |
import org.gvsig.fmap.geom.primitive.Polygon;
|
|
31 |
import org.gvsig.fmap.geom.jts.util.JTSUtils;
|
|
32 |
import org.gvsig.fmap.geom.jts.util.OpenJUMPUtils;
|
|
33 |
import org.gvsig.fmap.geom.operation.GeometryOperationException;
|
|
34 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException;
|
|
45 | 35 |
import org.gvsig.fmap.geom.primitive.Spline; |
46 | 36 |
|
47 |
|
|
48 | 37 |
/** |
49 | 38 |
* @author fdiaz |
50 | 39 |
* |
51 | 40 |
*/ |
52 |
public class Spline2D extends BaseSpline2D implements Spline{ |
|
41 |
public class Spline2D extends BaseSpline2D implements Spline {
|
|
53 | 42 |
|
54 | 43 |
/** |
55 | 44 |
* |
... | ... | |
70 | 59 |
super(Geometry.TYPES.SPLINE, coordinates); |
71 | 60 |
} |
72 | 61 |
|
73 |
/* (non-Javadoc) |
|
62 |
/* |
|
63 |
* (non-Javadoc) |
|
64 |
* |
|
74 | 65 |
* @see org.gvsig.fmap.geom.Geometry#cloneGeometry() |
75 | 66 |
*/ |
76 | 67 |
public Geometry cloneGeometry() { |
77 | 68 |
return new Spline2D(cloneCoordinates().toCoordinateArray()); |
78 |
} |
|
69 |
} |
|
70 |
|
|
71 |
/* |
|
72 |
* (non-Javadoc) |
|
73 |
* |
|
74 |
* @see org.gvsig.fmap.geom.Geometry#offset(double) |
|
75 |
*/ |
|
76 |
public Geometry offset(double distance) throws GeometryOperationNotSupportedException, GeometryOperationException { |
|
77 |
Coordinate[] coords = getJTS().getCoordinates(); |
|
78 |
ArrayListCoordinateSequence listCoordSequence = new ArrayListCoordinateSequence(new ArrayList<Coordinate>()); |
|
79 |
for (int i = 0; i < coords.length; i++) { |
|
80 |
listCoordSequence.add(coords[i]); |
|
81 |
} |
|
82 |
if (isClosed()) { |
|
83 |
return JTSUtils.offsetClosedLine(listCoordSequence, distance); |
|
84 |
} else { |
|
85 |
return OpenJUMPUtils.offsetCleanOpenLine(listCoordSequence, distance); |
|
86 |
} |
|
87 |
} |
|
79 | 88 |
} |
Also available in: Unified diff