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/FilledRegularPolygonEditingProvider.java | ||
---|---|---|
96 | 96 |
Polygon polygon = |
97 | 97 |
calculateFilledPolygon(modeValue, centerValue, |
98 | 98 |
pointOfCircleValue, sidesValue); |
99 |
if (polygon != null) { |
|
100 |
EditingProviderServices editingProviderServices |
|
101 |
= (EditingProviderServices) getProviderServices(); |
|
102 |
GeometryType geomType |
|
103 |
= editingProviderServices.getGeomType(featureStore); |
|
99 | 104 |
|
100 |
EditingProviderServices editingProviderServices = |
|
101 |
(EditingProviderServices) getProviderServices(); |
|
102 |
GeometryType geomType = |
|
103 |
editingProviderServices.getGeomType(featureStore); |
|
104 |
|
|
105 |
if (geomType.isTypeOf(Geometry.TYPES.MULTISURFACE)) { |
|
106 |
GeometryManager geometryManager = |
|
107 |
GeometryLocator.getGeometryManager(); |
|
108 |
MultiSurface multiSurface = |
|
109 |
geometryManager.createMultiSurface(geomType |
|
110 |
.getSubType()); |
|
111 |
multiSurface.addSurface(polygon); |
|
112 |
return multiSurface; |
|
105 |
if (geomType.isTypeOf(Geometry.TYPES.MULTISURFACE)) { |
|
106 |
GeometryManager geometryManager |
|
107 |
= GeometryLocator.getGeometryManager(); |
|
108 |
MultiSurface multiSurface |
|
109 |
= geometryManager.createMultiSurface(geomType |
|
110 |
.getSubType()); |
|
111 |
multiSurface.addSurface(polygon); |
|
112 |
return multiSurface; |
|
113 |
} |
|
113 | 114 |
} |
114 | 115 |
|
115 | 116 |
return polygon; |
... | ... | |
146 | 147 |
Curve polygon = |
147 | 148 |
calculateRegularPolygon(modeValue, centerValue, pointOfCircleValue, |
148 | 149 |
sides); |
150 |
if(polygon==null){ |
|
151 |
return null; |
|
152 |
} |
|
149 | 153 |
|
150 | 154 |
Point vertexAnt = null; |
151 | 155 |
for (int i = 0; i < polygon.getNumVertices(); i++) { |
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 | ||
---|---|---|
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