Revision 335 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rotate/src/main/java/org/gvsig/vectorediting/lib/prov/rotate/RotateEditingProvider.java
RotateEditingProvider.java | ||
---|---|---|
38 | 38 |
import org.gvsig.fmap.geom.Geometry; |
39 | 39 |
import org.gvsig.fmap.geom.GeometryLocator; |
40 | 40 |
import org.gvsig.fmap.geom.GeometryManager; |
41 |
import org.gvsig.fmap.geom.aggregate.Aggregate; |
|
42 |
import org.gvsig.fmap.geom.aggregate.MultiCurve; |
|
43 |
import org.gvsig.fmap.geom.aggregate.MultiPoint; |
|
44 |
import org.gvsig.fmap.geom.aggregate.MultiSurface; |
|
41 | 45 |
import org.gvsig.fmap.geom.operation.GeometryOperationException; |
42 | 46 |
import org.gvsig.fmap.geom.operation.GeometryOperationNotSupportedException; |
43 | 47 |
import org.gvsig.fmap.geom.primitive.Arc; |
48 |
import org.gvsig.fmap.geom.primitive.Curve; |
|
44 | 49 |
import org.gvsig.fmap.geom.primitive.Line; |
45 | 50 |
import org.gvsig.fmap.geom.primitive.Point; |
51 |
import org.gvsig.fmap.geom.primitive.Surface; |
|
46 | 52 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
47 | 53 |
import org.gvsig.symbology.SymbologyLocator; |
48 | 54 |
import org.gvsig.symbology.SymbologyManager; |
... | ... | |
122 | 128 |
ISymbol auxiliaryPointSymbolEditing = editingProviderManager.getSymbol("auxiliary-point-symbol-editing"); |
123 | 129 |
ISymbol auxiliaryLineSymbolEditing = editingProviderManager.getSymbol("auxiliary-line-symbol-editing"); |
124 | 130 |
ISymbol ruleAxisSymbol = editingProviderManager.getSymbol("rule-axis-symbol"); |
131 |
ISymbol lineSymbolEditing = editingProviderManager.getSymbol("line-symbol-editing"); |
|
132 |
ISymbol polygonSymbolEditing = editingProviderManager.getSymbol("polygon-symbol-editing"); |
|
125 | 133 |
|
126 | 134 |
|
135 |
|
|
127 | 136 |
FeatureSelection selected = |
128 | 137 |
(FeatureSelection) values.get(selectionParameter); |
129 | 138 |
try { |
... | ... | |
185 | 194 |
|
186 | 195 |
while (it.hasNext()) { |
187 | 196 |
Feature feat = (Feature) it.next(); |
188 |
Geometry geom = |
|
189 |
feat.getDefaultGeometry().cloneGeometry(); |
|
190 |
geom.transform(at); |
|
191 |
drawingStatus.addGeometry(geom); |
|
197 |
|
|
198 |
Geometry transformedGeometry = feat.getDefaultGeometry().cloneGeometry(); |
|
199 |
transformedGeometry.transform(at); |
|
200 |
|
|
201 |
ISymbol symbol=null; |
|
202 |
if(transformedGeometry instanceof Curve || transformedGeometry instanceof MultiCurve){ |
|
203 |
symbol = lineSymbolEditing; |
|
204 |
} else if(transformedGeometry instanceof Surface || transformedGeometry instanceof MultiSurface){ |
|
205 |
symbol = polygonSymbolEditing; |
|
206 |
} else if(transformedGeometry instanceof Point || transformedGeometry instanceof MultiPoint){ |
|
207 |
symbol = auxiliaryPointSymbolEditing; |
|
208 |
} |
|
209 |
if(transformedGeometry instanceof Aggregate){ |
|
210 |
int primitivesNumber = ((Aggregate)transformedGeometry).getPrimitivesNumber(); |
|
211 |
for (int i = 0; i < primitivesNumber; i++) { |
|
212 |
drawingStatus.addStatus(((Aggregate)transformedGeometry).getPrimitiveAt(i), symbol, ""); |
|
213 |
} |
|
214 |
} else { |
|
215 |
drawingStatus.addStatus(transformedGeometry, symbol, ""); |
|
216 |
} |
|
217 |
|
|
192 | 218 |
} |
193 | 219 |
it.dispose(); |
194 | 220 |
} |
... | ... | |
288 | 314 |
} |
289 | 315 |
|
290 | 316 |
} else if (value instanceof Double) { |
291 |
values.put(param, value);
|
|
317 |
values.put(param, (Double)value*Math.PI/180);
|
|
292 | 318 |
return; |
293 | 319 |
} |
294 | 320 |
} |
Also available in: Unified diff