Revision 2101 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/RegularPolygonEditingProvider.java
RegularPolygonEditingProvider.java | ||
---|---|---|
205 | 205 |
circumference.setPoints(centerValue, radius); |
206 | 206 |
|
207 | 207 |
drawingStatus.addStatus(circumference, auxiliaryLineSymbolEditing, ""); |
208 |
drawingStatus.addStatus(polygon, lineSymbolEditing, ""); |
|
208 |
if(polygon!=null){ |
|
209 |
drawingStatus.addStatus(polygon, lineSymbolEditing, ""); |
|
210 |
} |
|
209 | 211 |
drawingStatus.addStatus(centerValue, auxiliaryPointSymbolEditing, ""); |
210 | 212 |
drawingStatus.addStatus(line, auxiliaryLineSymbolEditing, ""); |
211 | 213 |
|
... | ... | |
246 | 248 |
double initAngle = |
247 | 249 |
editingProviderServices.getAngle(centerValue, pointOfCircle); |
248 | 250 |
double radiusValue = pointOfCircle.distance(centerValue); |
251 |
if(radiusValue == 0.0){ |
|
252 |
return null; |
|
253 |
} |
|
249 | 254 |
double theta = -(2 * Math.PI) / sidesValue; |
250 | 255 |
|
251 | 256 |
if (modeValue.equalsIgnoreCase("key_inscribed")) { |
... | ... | |
480 | 485 |
Curve polygon = |
481 | 486 |
calculateRegularPolygon(modeValue, centerValue, |
482 | 487 |
pointOfCircleValue, sidesValue); |
488 |
if(polygon!=null){ |
|
489 |
EditingProviderServices editingProviderServices = |
|
490 |
(EditingProviderServices) getProviderServices(); |
|
491 |
GeometryType geomType = |
|
492 |
editingProviderServices.getGeomType(featureStore); |
|
483 | 493 |
|
484 |
EditingProviderServices editingProviderServices = |
|
485 |
(EditingProviderServices) getProviderServices(); |
|
486 |
GeometryType geomType = |
|
487 |
editingProviderServices.getGeomType(featureStore); |
|
494 |
if (geomType.isTypeOf(Geometry.TYPES.MULTICURVE)) { |
|
488 | 495 |
|
489 |
if (geomType.isTypeOf(Geometry.TYPES.MULTICURVE)) { |
|
490 |
// return polygon.toLines(); |
|
491 |
|
|
492 |
MultiCurve multiCurve = |
|
493 |
GeometryLocator.getGeometryManager().createMultiCurve( |
|
494 |
geomType.getSubType()); |
|
495 |
multiCurve.addCurve(polygon); |
|
496 |
return multiCurve; |
|
496 |
MultiCurve multiCurve = |
|
497 |
GeometryLocator.getGeometryManager().createMultiCurve( |
|
498 |
geomType.getSubType()); |
|
499 |
multiCurve.addCurve(polygon); |
|
500 |
return multiCurve; |
|
501 |
} |
|
497 | 502 |
} |
498 | 503 |
|
499 | 504 |
return polygon; |
Also available in: Unified diff