Revision 320 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.stretch/src/main/java/org/gvsig/vectorediting/lib/prov/stretch/StretchEditingProvider.java
StretchEditingProvider.java | ||
---|---|---|
29 | 29 |
import org.gvsig.fmap.geom.primitive.Point; |
30 | 30 |
import org.gvsig.fmap.geom.primitive.Primitive; |
31 | 31 |
import org.gvsig.fmap.geom.type.GeometryType; |
32 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
|
32 | 33 |
import org.gvsig.tools.ToolsLocator; |
33 | 34 |
import org.gvsig.tools.dispose.DisposableIterator; |
34 | 35 |
import org.gvsig.tools.dynobject.DynObject; |
... | ... | |
49 | 50 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter; |
50 | 51 |
import org.gvsig.vectorediting.lib.spi.EditingProvider; |
51 | 52 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
53 |
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator; |
|
54 |
import org.gvsig.vectorediting.lib.spi.EditingProviderManager; |
|
52 | 55 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
53 | 56 |
|
54 | 57 |
public class StretchEditingProvider extends AbstractEditingProvider implements |
... | ... | |
83 | 86 |
|
84 | 87 |
this.geometryParameter = |
85 | 88 |
new DefaultEditingServiceParameter("Draw geometry", |
86 |
"draw_geometry", Geometry.TYPES.SURFACE, TYPE.GEOMETRY);
|
|
89 |
"draw_geometry_to_select_vertex", Geometry.TYPES.MULTISURFACE, TYPE.GEOMETRY);
|
|
87 | 90 |
|
88 | 91 |
this.firstPointParameter = |
89 | 92 |
new DefaultEditingServiceParameter("first_point", |
... | ... | |
168 | 171 |
} |
169 | 172 |
|
170 | 173 |
public static Geometry applyTransform(Geometry geometry, AffineTransform at, |
171 |
MultiSurface roi) throws CreateGeometryException,
|
|
174 |
Geometry roi) throws CreateGeometryException,
|
|
172 | 175 |
GeometryOperationNotSupportedException, GeometryOperationException { |
173 | 176 |
if (geometry instanceof MultiPrimitive) { |
174 | 177 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
... | ... | |
205 | 208 |
|
206 | 209 |
|
207 | 210 |
public static List<Point> getSelectedVertex(Geometry geometry, |
208 |
MultiSurface roi) throws CreateGeometryException,
|
|
211 |
Geometry roi) throws CreateGeometryException,
|
|
209 | 212 |
GeometryOperationNotSupportedException, GeometryOperationException { |
210 | 213 |
List<Point> selectedVertex = new ArrayList<Point>(); |
211 | 214 |
if (geometry instanceof MultiPrimitive) { |
... | ... | |
231 | 234 |
public DrawingStatus getDrawingStatus(Point mousePosition) |
232 | 235 |
throws DrawServiceException { |
233 | 236 |
DefaultDrawingStatus geometries = new DefaultDrawingStatus(); |
234 |
EditingProviderServices editingProviderServices = |
|
235 |
(EditingProviderServices) getProviderServices(); |
|
237 |
EditingProviderManager editingProviderManager = |
|
238 |
EditingProviderLocator.getProviderManager(); |
|
239 |
ISymbol selectedVertexEditingSymbol = editingProviderManager.getSymbol("selected-vertex-editing"); |
|
236 | 240 |
|
237 | 241 |
FeatureSelection selection = |
238 | 242 |
(FeatureSelection) values.get(this.selectionParameter); |
239 | 243 |
try { |
240 | 244 |
if ((selection != null) && !selection.isEmpty()) { |
241 |
MultiSurface geometry = (MultiSurface) values.get(this.geometryParameter);
|
|
245 |
Geometry geometry = (Geometry) values.get(this.geometryParameter);
|
|
242 | 246 |
if (geometry != null) { |
243 | 247 |
// |
244 | 248 |
List<Point> selectedVertex = new ArrayList<Point>(); |
... | ... | |
262 | 266 |
} |
263 | 267 |
|
264 | 268 |
if(!selectedVertex.isEmpty()){ |
265 |
for (Iterator iterator = selectedVertex.iterator(); iterator.hasNext();) { |
|
269 |
for (Iterator<Point> iterator = selectedVertex.iterator(); iterator.hasNext();) {
|
|
266 | 270 |
Point point = (Point) iterator.next(); |
267 |
//FIXME: falta a?adir en lugar de la geometr?a, el status con la geometr?a, el simbolo y el texto si es necesario |
|
268 |
geometries.addGeometry(point); |
|
271 |
geometries.addStatus(point, selectedVertexEditingSymbol, ""); |
|
269 | 272 |
} |
270 | 273 |
} |
271 | 274 |
|
... | ... | |
274 | 277 |
AffineTransform at = getMoveAffineTransform(firstPoint, mousePosition); |
275 | 278 |
|
276 | 279 |
if(!selectedVertex.isEmpty()){ |
277 |
for (Iterator iterator = selectedVertex.iterator(); iterator.hasNext();) { |
|
280 |
for (Iterator<Point> iterator = selectedVertex.iterator(); iterator.hasNext();) {
|
|
278 | 281 |
Point point = (Point) ((Point) iterator.next()).cloneGeometry(); |
279 | 282 |
point.transform(at); |
280 |
//FIXME: falta a?adir en lugar de la geometr?a, el status con la geometr?a, el simbolo y el texto si es necesario |
|
281 |
geometries.addGeometry(point); |
|
283 |
geometries.addStatus(point, selectedVertexEditingSymbol, ""); |
|
282 | 284 |
} |
283 | 285 |
} |
284 | 286 |
|
... | ... | |
333 | 335 |
|
334 | 336 |
try { |
335 | 337 |
if ((selection != null) && !selection.isEmpty()) { |
336 |
MultiSurface geometry = (MultiSurface) values.get(this.geometryParameter);
|
|
338 |
Geometry geometry = (Geometry) values.get(this.geometryParameter);
|
|
337 | 339 |
if (geometry != null) { |
338 | 340 |
Point firstPoint = |
339 | 341 |
(Point) values.get(this.firstPointParameter); |
Also available in: Unified diff