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