Revision 575 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle3p/src/main/java/org/gvsig/vectorediting/lib/prov/circle3p/Circle3PEditingProvider.java
Circle3PEditingProvider.java | ||
---|---|---|
32 | 32 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
33 | 33 |
import org.gvsig.fmap.geom.Geometry; |
34 | 34 |
import org.gvsig.fmap.geom.GeometryLocator; |
35 |
import org.gvsig.fmap.geom.GeometryManager; |
|
35 | 36 |
import org.gvsig.fmap.geom.aggregate.MultiSurface; |
36 |
import org.gvsig.fmap.geom.primitive.Arc;
|
|
37 |
import org.gvsig.fmap.geom.exception.CreateGeometryException;
|
|
37 | 38 |
import org.gvsig.fmap.geom.primitive.Circle; |
38 | 39 |
import org.gvsig.fmap.geom.primitive.Curve; |
39 | 40 |
import org.gvsig.fmap.geom.primitive.Point; |
... | ... | |
176 | 177 |
secondPointValue, mousePosition, subtype); |
177 | 178 |
double radius = center.distance(firstPointValue); |
178 | 179 |
|
179 |
Circle circle = |
|
180 |
editingProviderServices.createCircle(center, radius, subtype); |
|
180 |
addTemporaryGeometryToDrawingStatus(drawingStatus, subtype, center, radius); |
|
181 | 181 |
drawingStatus.addStatus(center, auxiliaryPointSymbolEditing, ""); |
182 |
drawingStatus.addStatus(circle, polygonSymbolEditing, ""); |
|
183 | 182 |
|
184 | 183 |
} catch (Exception e) { |
185 | 184 |
throw new DrawServiceException(e); |
... | ... | |
189 | 188 |
return drawingStatus; |
190 | 189 |
} |
191 | 190 |
|
191 |
/** |
|
192 |
* @param drawingStatus |
|
193 |
* @param subtype |
|
194 |
* @param center |
|
195 |
* @param radius |
|
196 |
* @throws CreateGeometryException |
|
197 |
*/ |
|
198 |
protected void addTemporaryGeometryToDrawingStatus(DefaultDrawingStatus drawingStatus, int subtype, Point center, double radius) |
|
199 |
throws CreateGeometryException { |
|
200 |
EditingProviderManager editingProviderManager = |
|
201 |
EditingProviderLocator.getProviderManager(); |
|
202 |
ISymbol polygonSymbolEditing = editingProviderManager.getSymbol("polygon-symbol-editing"); |
|
203 |
GeometryManager geomManager = GeometryLocator.getGeometryManager(); |
|
204 |
Circle circle = (Circle)geomManager.create(Geometry.TYPES.CIRCLE, subtype); |
|
205 |
circle.setPoints(center, radius); |
|
206 |
drawingStatus.addStatus(circle, polygonSymbolEditing, ""); |
|
207 |
} |
|
208 |
|
|
192 | 209 |
public void stop() throws StopServiceException { |
193 | 210 |
if (values != null) { |
194 | 211 |
values.clear(); |
Also available in: Unified diff