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

View differences:

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