Revision 39063 branches/v2_0_0_prep/libraries/libFMap_geometries/src/org/gvsig/fmap/geom/aggregate/impl/BaseMultiPrimitive.java
BaseMultiPrimitive.java | ||
---|---|---|
317 | 317 |
GeneralPathX gpx = new GeneralPathX(); |
318 | 318 |
int primiNum = getPrimitivesNumber(); |
319 | 319 |
if (primiNum > 0) { |
320 |
Point2D p = ((Geometry)geometries.get(0)).getHandlers(Geometry.SELECTHANDLER)[0] |
|
321 |
.getPoint(); |
|
322 |
gpx.moveTo(p.getX(), p.getY()); |
|
323 | 320 |
|
324 |
for (int i = 1; i < primiNum; i++) { |
|
325 |
p = ((Geometry)geometries.get(i)).getHandlers(Geometry.SELECTHANDLER)[0] |
|
326 |
.getPoint(); |
|
327 |
gpx.lineTo(p.getX(), p.getY()); |
|
321 |
Geometry prim = null; |
|
322 |
for (int i = 0; i < primiNum; i++) { |
|
323 |
prim = (Geometry) geometries.get(i); |
|
324 |
gpx.append( |
|
325 |
prim.getPathIterator(at, flatness), |
|
326 |
/* |
|
327 |
* This is a relevant change. |
|
328 |
* After BN 2056 this class will not return |
|
329 |
* connected path iterator. There will be MOVE_TO |
|
330 |
* between iterator of each primitive |
|
331 |
*/ |
|
332 |
false); |
|
328 | 333 |
} |
329 |
Point2D p2 = ((Geometry)geometries.get(primiNum-1)).getHandlers(Geometry.SELECTHANDLER)[((Geometry)geometries.get(primiNum-1)).getHandlers(Geometry.SELECTHANDLER).length-1] |
|
330 |
.getPoint(); |
|
331 |
gpx.lineTo(p2.getX(), p2.getY()); |
|
332 | 334 |
} |
333 |
return gpx.getPathIterator(at, flatness); |
|
335 |
/* |
|
336 |
* affine transform and flatness already applied in loop |
|
337 |
*/ |
|
338 |
return gpx.getPathIterator(null); |
|
334 | 339 |
} |
335 | 340 |
|
336 | 341 |
/* |
Also available in: Unified diff