Revision 2209 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.extendline/src/main/java/org/gvsig/vectorediting/lib/prov/extendline/ExtendLineEditingProvider.java

View differences:

ExtendLineEditingProvider.java
40 40
import static org.gvsig.fmap.geom.Geometry.TYPES.MULTICURVE;
41 41
import org.gvsig.fmap.geom.GeometryLocator;
42 42
import org.gvsig.fmap.geom.GeometryManager;
43
import org.gvsig.fmap.geom.GeometryUtils;
44 43
import org.gvsig.fmap.geom.aggregate.MultiCurve;
45 44
import org.gvsig.fmap.geom.exception.CreateGeometryException;
46 45
import org.gvsig.fmap.geom.operation.GeometryOperationException;
......
273 272
            if (value instanceof Point) {
274 273
                Point point = (Point) value;
275 274

  
276
//                EditingProviderServices editingProviderServices = (EditingProviderServices) getProviderServices();
277 275
                Geometry geometry = getGeometry(point); //editingProviderServices.getGeometryOfVisibleLayers(point, featureStore, mapContext);
278 276
                if (geometry != null) {
279 277
                    values.put(parameter, geometry);
280 278
                    insertedPoint = point;
279
                    return;
281 280
                }
282 281

  
283
//                try {
284
//                    double tolerance =
285
//                        mapContext.getViewPort()
286
//                            .toMapDistance(TOLERANCE_PIXELS);
287
//
288
//                    // Create buffer with tolerance to get geometries to be
289
//                    // extended
290
//                    Geometry buffer = point.buffer(tolerance);
291
//                    FeatureSet geometries = getGeometryByBuffer(buffer);
292
//
293
//                    if (geometries.getSize() > 0) {
294
//
295
//                        geometries.accept(new Visitor() {
296
//
297
//                            public void visit(Object obj)
298
//                                throws VisitCanceledException, BaseException {
299
//                                Feature feature = (Feature) obj;
300
//                                Geometry geometry =
301
//                                    feature.getDefaultGeometry();
302
//                                GeometryType geoType =
303
//                                    geometry.getGeometryType();
304
//
305
//                                if (!geoType.isTypeOf(CURVE)
306
//                                    && !geoType.isTypeOf(MULTICURVE)) {
307
//                                    throw new InvalidEntryException(null);
308
//                                }
309
//                            }
310
//                        });
311
//
312
//                        insertedPoint = point;
313
//                        geometryToExtendTo = geometries;
314
//                        return;
315
//                    }
316
//                } catch (BaseException e) {
317
//                    throw new InvalidEntryException(e);
318
//                }
319 282
            }
320 283
        }
321 284
        throw new InvalidEntryException(null);
......
427 390
                            eFeature.setDefaultGeometry(extendedCurve);
428 391
                        }
429 392

  
430
//                        Curve extendedCurve
431
//                                = extendLine(insertedPoint, (Curve) geometry, geometryToExtendTo);
432
//                        eFeature.setDefaultGeometry(extendedCurve);
433 393
                        selection.update(eFeature);
434 394
                    }
435 395

  
436 396
                });
437 397

  
438
//                geometryToExtendTo.accept(new Visitor() {
439
//
440
//                    public void visit(Object obj)
441
//                        throws VisitCanceledException, BaseException {
442
//                        Feature feature = (Feature) obj;
443
//                        Geometry geometry = feature.getDefaultGeometry();
444
//                        EditableFeature eFeature = feature.getEditable();
445
//
446
//                        if (geometry instanceof MultiCurve) {
447
//
448
//                            // Create new multicurve geometry
449
//                            MultiCurve extendedMultiCurve =
450
//                                createMultiCurve(geometry);
451
//
452
//                            // Iterate overs primitives and execute extend
453
//                            // line operation
454
//                            MultiCurve multiCurve = (MultiCurve) geometry;
455
//
456
//                            for (int i = 0; i < multiCurve
457
//                                .getPrimitivesNumber(); i++) {
458
//
459
//                                Curve curve = multiCurve.getCurveAt(i);
460
//                                Curve extendedCurve =
461
//                                    extendLine(insertedPoint, curve);
462
//                                extendedMultiCurve.addCurve(extendedCurve);
463
//                            }
464
//
465
//                            eFeature.setDefaultGeometry(extendedMultiCurve);
466
//
467
//                        } else if (geometry instanceof Curve) {
468
//                            Curve extendedCurve =
469
//                                extendLine(insertedPoint, (Curve) geometry);
470
//                            eFeature.setDefaultGeometry(extendedCurve);
471
//                        }
472
//
473
//                        geometryToExtendTo.update(eFeature);
474
//                    }
475
//                });
476
//
477
//                geometryToExtendTo.dispose();
478 398
            } catch (BaseException e) {
479 399
                throw new FinishServiceException(e);
480 400
            }

Also available in: Unified diff