Revision 333 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

View differences:

Circle3PEditingProvider.java
38 38
import org.gvsig.fmap.geom.primitive.Curve;
39 39
import org.gvsig.fmap.geom.primitive.Point;
40 40
import org.gvsig.fmap.geom.type.GeometryType;
41
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
41 42
import org.gvsig.tools.dynobject.DynObject;
42 43
import org.gvsig.tools.service.spi.ProviderServices;
43 44
import org.gvsig.vectorediting.lib.api.DrawingStatus;
......
53 54
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter;
54 55
import org.gvsig.vectorediting.lib.spi.EditingProvider;
55 56
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory;
57
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
58
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
56 59
import org.gvsig.vectorediting.lib.spi.EditingProviderServices;
57 60

  
58 61
public class Circle3PEditingProvider extends AbstractEditingProvider implements
......
70 73

  
71 74
    /**
72 75
     * Default constructor.
73
     * 
76
     *
74 77
     * @param services
75 78
     *            available services to this provider
76 79
     * @param parameters
......
115 118
        throws DrawServiceException {
116 119

  
117 120
        DefaultDrawingStatus drawingStatus = new DefaultDrawingStatus();
121
        EditingProviderManager editingProviderManager =
122
            EditingProviderLocator.getProviderManager();
123
        ISymbol polygonSymbolEditing = editingProviderManager.getSymbol("polygon-symbol-editing");
124
        ISymbol auxiliaryLineSymbolEditing = editingProviderManager.getSymbol("auxiliary-line-symbol-editing");
125
        ISymbol auxiliaryPointSymbolEditing = editingProviderManager.getSymbol("auxiliary-point-symbol-editing");
118 126

  
119 127
        if (values != null) {
120 128

  
......
130 138

  
131 139
                    int subtype =
132 140
                        editingProviderServices.getSubType(featureStore);
141
                    drawingStatus.addStatus(firstPointValue, auxiliaryPointSymbolEditing, "");
142
                    drawingStatus.addStatus(mousePosition, auxiliaryPointSymbolEditing, "");
133 143

  
134 144
                    Curve line =
135 145
                        editingProviderServices.createLine(firstPointValue,
136 146
                            mousePosition, subtype);
147
                    drawingStatus.addStatus(line, auxiliaryLineSymbolEditing, "");
137 148

  
138
                    drawingStatus.addGeometry(line);
139 149
                } catch (Exception e) {
140 150
                    throw new DrawServiceException(e);
141 151
                }
......
147 157
                    int subtype =
148 158
                        editingProviderServices.getSubType(featureStore);
149 159

  
160
                    Curve line1 =
161
                        editingProviderServices.createLine(firstPointValue,
162
                            secondPointValue, subtype);
163
                    drawingStatus.addStatus(line1, auxiliaryLineSymbolEditing, "");
164

  
165
                    Curve line2 =
166
                        editingProviderServices.createLine(secondPointValue,
167
                            mousePosition, subtype);
168
                    drawingStatus.addStatus(line2, auxiliaryLineSymbolEditing, "");
169
                    drawingStatus.addStatus(firstPointValue, auxiliaryPointSymbolEditing, "");
170
                    drawingStatus.addStatus(secondPointValue, auxiliaryPointSymbolEditing, "");
171
                    drawingStatus.addStatus(mousePosition, auxiliaryPointSymbolEditing, "");
172

  
150 173
                    Point center =
151 174
                        editingProviderServices.getCenter(firstPointValue,
152 175
                            secondPointValue, mousePosition, subtype);
153 176
                    double radius = center.distance(firstPointValue);
154 177

  
155
                    Arc circumference =
156
                        editingProviderServices.createArc(center, radius, 0,
157
                            2 * Math.PI, subtype);
178
                    Circle circle =
179
                        editingProviderServices.createCircle(center, radius, subtype);
180
                    drawingStatus.addStatus(center, auxiliaryPointSymbolEditing, "");
181
                    drawingStatus.addStatus(circle, polygonSymbolEditing, "");
158 182

  
159
                    drawingStatus.addGeometry(circumference);
160 183
                } catch (Exception e) {
161 184
                    throw new DrawServiceException(e);
162 185
                }

Also available in: Unified diff