Revision 42271 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/MultiLine2DM.java
MultiLine2DM.java | ||
---|---|---|
25 | 25 |
import java.awt.Shape; |
26 | 26 |
import java.awt.geom.AffineTransform; |
27 | 27 |
import java.awt.geom.PathIterator; |
28 |
import java.util.Iterator; |
|
28 | 29 |
|
29 |
import org.cresques.cts.ICoordTrans; |
|
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; |
34 | 33 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
35 | 34 |
import org.gvsig.fmap.geom.aggregate.MultiPolygon; |
36 | 35 |
import org.gvsig.fmap.geom.handler.Handler; |
36 |
import org.gvsig.fmap.geom.jts.primitive.curve.line.Line2DM; |
|
37 | 37 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
38 | 38 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
39 | 39 |
import org.gvsig.fmap.geom.primitive.GeneralPathX; |
40 |
import org.gvsig.fmap.geom.primitive.Polygon; |
|
41 |
import org.gvsig.fmap.geom.primitive.Primitive; |
|
40 | 42 |
|
41 | 43 |
|
42 | 44 |
/** |
... | ... | |
63 | 65 |
* @see org.gvsig.fmap.geom.aggregate.MultiLine#toPoints() |
64 | 66 |
*/ |
65 | 67 |
public MultiPoint toPoints() throws GeometryException { |
66 |
// TODO Auto-generated method stub |
|
67 |
return null; |
|
68 |
MultiPoint multiPoint = new MultiPoint2DM(); |
|
69 |
for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) { |
|
70 |
Line2DM line = (Line2DM) iterator.next(); |
|
71 |
MultiPoint points = line.toPoints(); |
|
72 |
multiPoint.ensureCapacity(multiPoint.getPrimitivesNumber()+points.getPrimitivesNumber()); |
|
73 |
for(int i=0; i<points.getPrimitivesNumber(); i++){ |
|
74 |
multiPoint.addPoint(points.getPointAt(i)); |
|
75 |
} |
|
76 |
} |
|
77 |
return multiPoint; |
|
68 | 78 |
} |
69 | 79 |
|
70 | 80 |
/* (non-Javadoc) |
71 | 81 |
* @see org.gvsig.fmap.geom.aggregate.MultiLine#toLines() |
72 | 82 |
*/ |
73 | 83 |
public MultiLine toLines() throws GeometryException { |
74 |
// TODO Auto-generated method stub |
|
75 |
return null; |
|
84 |
return this; |
|
76 | 85 |
} |
77 | 86 |
|
78 | 87 |
/* (non-Javadoc) |
79 | 88 |
* @see org.gvsig.fmap.geom.aggregate.MultiLine#toPolygons() |
80 | 89 |
*/ |
81 | 90 |
public MultiPolygon toPolygons() throws GeometryException { |
82 |
// TODO Auto-generated method stub |
|
83 |
return null; |
|
91 |
MultiPolygon multiPolygon = new MultiPolygon2DM(); |
|
92 |
for (Iterator<Primitive> iterator = primitives.iterator(); iterator.hasNext();) { |
|
93 |
Line2DM line = (Line2DM) iterator.next(); |
|
94 |
MultiPolygon polygons = line.toPolygons(); |
|
95 |
multiPolygon.ensureCapacity(multiPolygon.getPrimitivesNumber()+polygons.getPrimitivesNumber()); |
|
96 |
for(int i=0; i<polygons.getPrimitivesNumber(); i++){ |
|
97 |
multiPolygon.addSurface((Polygon)polygons.getPrimitiveAt(i)); |
|
98 |
} |
|
99 |
} |
|
100 |
return multiPolygon; |
|
84 | 101 |
} |
85 | 102 |
|
103 |
|
|
86 | 104 |
/* (non-Javadoc) |
87 | 105 |
* @see org.gvsig.fmap.geom.aggregate.Aggregate#union() |
88 | 106 |
*/ |
... | ... | |
180 | 198 |
return false; |
181 | 199 |
} |
182 | 200 |
|
201 |
/* (non-Javadoc) |
|
202 |
* @see org.gvsig.fmap.geom.jts.aggregate.AbstractMultiLine#fixLine(org.gvsig.fmap.geom.primitive.Line) |
|
203 |
*/ |
|
204 |
@Override |
|
205 |
protected Primitive fixPrimitive(Primitive curve) { |
|
206 |
if(!(curve instanceof Line2DM)){ |
|
207 |
String message = "Only Line2DM primitives can be added to a MultiLine2DM"; |
|
208 |
notifyDeprecated(message); |
|
209 |
throw new UnsupportedOperationException(message); |
|
210 |
} |
|
211 |
return curve; |
|
212 |
} |
|
183 | 213 |
} |
Also available in: Unified diff