Revision 4253 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.arc/src/main/java/org/gvsig/vectorediting/lib/prov/arc/ArcByCenterEditingProvider.java
ArcByCenterEditingProvider.java | ||
---|---|---|
455 | 455 |
List<EditingServiceParameter> parameters |
456 | 456 |
= new ArrayList<>(); |
457 | 457 |
|
458 |
|
|
459 |
parameters.add(centerPoint); |
|
460 |
parameters.add(startPoint); |
|
461 |
parameters.add(endPoint); |
|
462 |
|
|
458 | 463 |
parameters.add(radius); |
459 |
// parameters.add(length); |
|
460 | 464 |
parameters.add(startAngle); |
461 | 465 |
parameters.add(sweepAngle); |
462 | 466 |
parameters.add(direction); |
463 | 467 |
|
464 |
parameters.add(centerPoint); |
|
465 |
parameters.add(startPoint); |
|
466 |
parameters.add(endPoint); |
|
467 | 468 |
return parameters; |
468 | 469 |
} |
469 | 470 |
|
... | ... | |
688 | 689 |
} else if (param == radius) { |
689 | 690 |
try { |
690 | 691 |
Double doubleValue = (Double) coerceToDouble.coerce(value); |
691 |
if ((doubleValue - 0.01) > 0) { |
|
692 |
// To avoid infinite, Nan and very small values |
|
693 |
if (doubleValue != null && Double.isFinite(doubleValue) && (doubleValue - 0.01) > 0) { |
|
692 | 694 |
values.put(param, doubleValue); |
693 | 695 |
return; |
694 | 696 |
} |
... | ... | |
698 | 700 |
} else if (param == startAngle) { |
699 | 701 |
try { |
700 | 702 |
Double doubleValue = (Double) coerceToDouble.coerce(value); |
701 |
values.put(param, Math.toRadians(doubleValue)); |
|
703 |
if (doubleValue != null && Double.isFinite(doubleValue)) { |
|
704 |
values.put(param, Math.toRadians(doubleValue)); |
|
702 | 705 |
return; |
706 |
} |
|
703 | 707 |
} catch (CoercionException ex) { |
704 | 708 |
throw new InvalidEntryException(ex); |
705 | 709 |
} |
706 | 710 |
} else if (param == sweepAngle) { |
707 | 711 |
try { |
708 | 712 |
Double doubleValue = (Double) coerceToDouble.coerce(value); |
709 |
values.put(param, Math.toRadians(doubleValue)); |
|
710 |
return; |
|
713 |
if (doubleValue != null && Double.isFinite(doubleValue)) { |
|
714 |
values.put(param, Math.toRadians(doubleValue)); |
|
715 |
return; |
|
716 |
} |
|
711 | 717 |
} catch (CoercionException ex) { |
712 | 718 |
throw new InvalidEntryException(null); |
713 | 719 |
} |
Also available in: Unified diff