Revision 227
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.main/src/main/java/org/gvsig/vectorediting/main/DummieLayerOrderManager.java | ||
---|---|---|
55 | 55 |
return null; |
56 | 56 |
} |
57 | 57 |
|
58 |
@Override |
|
58 | 59 |
public Object clone() throws CloneNotSupportedException { |
59 | 60 |
return new DummieLayerOrderManager(); |
60 | 61 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.main/src/main/java/org/gvsig/vectorediting/main/Main.java | ||
---|---|---|
212 | 212 |
defaultProjection = CRSFactory.getCRS(DEFAULT_CRS_CODE); |
213 | 213 |
|
214 | 214 |
MapContextLocator |
215 |
.registerDefaultOrderManager(DummieLayerOrderManager.class);
|
|
215 |
.registerDefaultOrderManager(DummieLayerOrderManager.class); |
|
216 | 216 |
} |
217 | 217 |
|
218 | 218 |
public void addLayer(String shpPath) throws InitializeException, |
219 |
ProviderNotRegisteredException, ValidateDataParametersException,
|
|
220 |
LoadLayerException {
|
|
219 |
ProviderNotRegisteredException, ValidateDataParametersException, |
|
220 |
LoadLayerException { |
|
221 | 221 |
DataStoreParameters params; |
222 | 222 |
params = dataManager.createStoreParameters("Shape"); |
223 | 223 |
|
... | ... | |
253 | 253 |
|
254 | 254 |
pan = new AbstractAction("Pan") { |
255 | 255 |
|
256 |
/** |
|
257 |
* |
|
258 |
*/ |
|
259 |
private static final long serialVersionUID = -6520053841602571307L; |
|
260 |
|
|
256 | 261 |
public void actionPerformed(ActionEvent e) { |
257 | 262 |
mapControl.setTool("pan"); |
258 | 263 |
} |
... | ... | |
260 | 265 |
|
261 | 266 |
zoom = new AbstractAction("Zoom") { |
262 | 267 |
|
268 |
/** |
|
269 |
* |
|
270 |
*/ |
|
271 |
private static final long serialVersionUID = -7231543178928614445L; |
|
272 |
|
|
263 | 273 |
public void actionPerformed(ActionEvent e) { |
264 | 274 |
mapControl.setTool("zoom"); |
265 | 275 |
} |
... | ... | |
267 | 277 |
|
268 | 278 |
zoomall = new AbstractAction("Zoom all") { |
269 | 279 |
|
280 |
/** |
|
281 |
* |
|
282 |
*/ |
|
283 |
private static final long serialVersionUID = -1338436395515982258L; |
|
284 |
|
|
270 | 285 |
public void actionPerformed(ActionEvent e) { |
271 | 286 |
zoomAll(); |
272 | 287 |
} |
... | ... | |
274 | 289 |
|
275 | 290 |
cleanMap = new AbstractAction("Clean Map") { |
276 | 291 |
|
292 |
/** |
|
293 |
* |
|
294 |
*/ |
|
295 |
private static final long serialVersionUID = 5059847015866672405L; |
|
296 |
|
|
277 | 297 |
public void actionPerformed(ActionEvent e) { |
278 | 298 |
MapContext mapContext = mapControl.getMapContext(); |
279 | 299 |
mapContext.beginAtomicEvent(); |
... | ... | |
287 | 307 |
|
288 | 308 |
addLayer = new AbstractAction("Add layer") { |
289 | 309 |
|
310 |
/** |
|
311 |
* |
|
312 |
*/ |
|
313 |
private static final long serialVersionUID = -7527908235576117027L; |
|
314 |
|
|
290 | 315 |
public void actionPerformed(ActionEvent e) { |
291 | 316 |
ThreadSafeDialogsManager dlgManager = |
292 | 317 |
ToolsSwingLocator.getThreadSafeDialogsManager(); |
... | ... | |
310 | 335 |
|
311 | 336 |
openPaletteTools = new AbstractAction("Show palette tools") { |
312 | 337 |
|
338 |
/** |
|
339 |
* |
|
340 |
*/ |
|
341 |
private static final long serialVersionUID = -2643193186380529723L; |
|
342 |
|
|
313 | 343 |
public void actionPerformed(ActionEvent e) { |
314 | 344 |
paletteTools.setVisible(true); |
315 | 345 |
} |
... | ... | |
317 | 347 |
|
318 | 348 |
exit = new AbstractAction("Exit") { |
319 | 349 |
|
350 |
/** |
|
351 |
* |
|
352 |
*/ |
|
353 |
private static final long serialVersionUID = 7506436995278783992L; |
|
354 |
|
|
320 | 355 |
public void actionPerformed(ActionEvent e) { |
321 | 356 |
System.exit(0); |
322 | 357 |
} |
... | ... | |
324 | 359 |
|
325 | 360 |
editingExtensionAction = new AbstractAction("EditingExtension") { |
326 | 361 |
|
362 |
/** |
|
363 |
* |
|
364 |
*/ |
|
365 |
private static final long serialVersionUID = 5524271695550380473L; |
|
366 |
|
|
327 | 367 |
public void actionPerformed(ActionEvent e) { |
328 | 368 |
editingContext = swingManager.getEditingContext(mapControl); |
329 | 369 |
editingContext.beginEdition(currentLayer, null); |
... | ... | |
335 | 375 |
|
336 | 376 |
endEditingExtensionAction = new AbstractAction("EndEditingExtension") { |
337 | 377 |
|
378 |
/** |
|
379 |
* |
|
380 |
*/ |
|
381 |
private static final long serialVersionUID = -1026680183527522379L; |
|
382 |
|
|
338 | 383 |
public void actionPerformed(ActionEvent e) { |
339 | 384 |
editingContext = swingManager.getEditingContext(mapControl); |
340 | 385 |
editingContext.endEdition(currentLayer); |
... | ... | |
343 | 388 |
|
344 | 389 |
insertPoint = new AbstractAction("InsertPoint") { |
345 | 390 |
|
391 |
/** |
|
392 |
* |
|
393 |
*/ |
|
394 |
private static final long serialVersionUID = -9147590153911397886L; |
|
395 |
|
|
346 | 396 |
public void actionPerformed(ActionEvent e) { |
347 | 397 |
editingContext = swingManager.getEditingContext(mapControl); |
348 | 398 |
editingContext |
349 |
.activateService(InsertPointEditingProviderFactory.PROVIDER_NAME);
|
|
399 |
.activateService(InsertPointEditingProviderFactory.PROVIDER_NAME); |
|
350 | 400 |
} |
351 | 401 |
|
352 | 402 |
}; |
353 | 403 |
|
354 | 404 |
line = new AbstractAction("Line") { |
355 | 405 |
|
406 |
/** |
|
407 |
* |
|
408 |
*/ |
|
409 |
private static final long serialVersionUID = 7464822491323014704L; |
|
410 |
|
|
356 | 411 |
public void actionPerformed(ActionEvent e) { |
357 | 412 |
editingContext = swingManager.getEditingContext(mapControl); |
358 | 413 |
editingContext |
359 |
.activateService(LineEditingProviderFactory.PROVIDER_NAME);
|
|
414 |
.activateService(LineEditingProviderFactory.PROVIDER_NAME); |
|
360 | 415 |
} |
361 | 416 |
}; |
362 | 417 |
|
363 | 418 |
arc = new AbstractAction("Arc") { |
364 | 419 |
|
420 |
/** |
|
421 |
* |
|
422 |
*/ |
|
423 |
private static final long serialVersionUID = 5529987067864211418L; |
|
424 |
|
|
365 | 425 |
public void actionPerformed(ActionEvent e) { |
366 | 426 |
editingContext = swingManager.getEditingContext(mapControl); |
367 | 427 |
editingContext |
368 |
.activateService(ArcEditingProviderFactory.PROVIDER_NAME);
|
|
428 |
.activateService(ArcEditingProviderFactory.PROVIDER_NAME); |
|
369 | 429 |
} |
370 | 430 |
}; |
371 | 431 |
|
372 | 432 |
circleCr = new AbstractAction("CircleCr") { |
373 | 433 |
|
434 |
/** |
|
435 |
* |
|
436 |
*/ |
|
437 |
private static final long serialVersionUID = 1564163738941995373L; |
|
438 |
|
|
374 | 439 |
public void actionPerformed(ActionEvent e) { |
375 | 440 |
editingContext = swingManager.getEditingContext(mapControl); |
376 | 441 |
editingContext |
377 |
.activateService(CircleCREditingProviderFactory.PROVIDER_NAME);
|
|
442 |
.activateService(CircleCREditingProviderFactory.PROVIDER_NAME); |
|
378 | 443 |
} |
379 | 444 |
}; |
380 | 445 |
|
381 | 446 |
circumferenceCr = new AbstractAction("CircumferenceCr") { |
382 | 447 |
|
448 |
/** |
|
449 |
* |
|
450 |
*/ |
|
451 |
private static final long serialVersionUID = -4422429984929119239L; |
|
452 |
|
|
383 | 453 |
public void actionPerformed(ActionEvent e) { |
384 | 454 |
editingContext = swingManager.getEditingContext(mapControl); |
385 | 455 |
editingContext |
386 |
.activateService(CircumferenceCREditingProviderFactory.PROVIDER_NAME);
|
|
456 |
.activateService(CircumferenceCREditingProviderFactory.PROVIDER_NAME); |
|
387 | 457 |
} |
388 | 458 |
}; |
389 | 459 |
|
390 | 460 |
filledEllipse = new AbstractAction("Ellipse") { |
391 | 461 |
|
462 |
/** |
|
463 |
* |
|
464 |
*/ |
|
465 |
private static final long serialVersionUID = -4698275458250358502L; |
|
466 |
|
|
392 | 467 |
public void actionPerformed(ActionEvent e) { |
393 | 468 |
editingContext = swingManager.getEditingContext(mapControl); |
394 | 469 |
editingContext |
395 |
.activateService(EllipseEditingProviderFactory.PROVIDER_NAME);
|
|
470 |
.activateService(EllipseEditingProviderFactory.PROVIDER_NAME); |
|
396 | 471 |
} |
397 | 472 |
}; |
398 | 473 |
|
399 | 474 |
polyline = new AbstractAction("Polyline") { |
400 | 475 |
|
476 |
/** |
|
477 |
* |
|
478 |
*/ |
|
479 |
private static final long serialVersionUID = 2859732316623830924L; |
|
480 |
|
|
401 | 481 |
public void actionPerformed(ActionEvent e) { |
402 | 482 |
editingContext = swingManager.getEditingContext(mapControl); |
403 | 483 |
editingContext |
404 |
.activateService(PolylineEditingProviderFactory.PROVIDER_NAME);
|
|
484 |
.activateService(PolylineEditingProviderFactory.PROVIDER_NAME); |
|
405 | 485 |
} |
406 | 486 |
}; |
407 | 487 |
|
408 | 488 |
polygon = new AbstractAction("Polygon") { |
409 | 489 |
|
490 |
/** |
|
491 |
* |
|
492 |
*/ |
|
493 |
private static final long serialVersionUID = 966582628310445218L; |
|
494 |
|
|
410 | 495 |
public void actionPerformed(ActionEvent e) { |
411 | 496 |
editingContext = swingManager.getEditingContext(mapControl); |
412 | 497 |
editingContext |
413 |
.activateService(PolygonEditingProviderFactory.PROVIDER_NAME);
|
|
498 |
.activateService(PolygonEditingProviderFactory.PROVIDER_NAME); |
|
414 | 499 |
} |
415 | 500 |
}; |
416 | 501 |
|
417 | 502 |
regularPolygon = new AbstractAction("RegularPolygon") { |
418 | 503 |
|
504 |
/** |
|
505 |
* |
|
506 |
*/ |
|
507 |
private static final long serialVersionUID = 1465569443777907186L; |
|
508 |
|
|
419 | 509 |
public void actionPerformed(ActionEvent e) { |
420 | 510 |
editingContext = swingManager.getEditingContext(mapControl); |
421 | 511 |
editingContext |
422 |
.activateService(RegularPolygonEditingProviderFactory.PROVIDER_NAME);
|
|
512 |
.activateService(RegularPolygonEditingProviderFactory.PROVIDER_NAME); |
|
423 | 513 |
} |
424 | 514 |
}; |
425 | 515 |
|
426 | 516 |
filledRegularPolygon = new AbstractAction("FilledRegularPolygon") { |
427 | 517 |
|
518 |
/** |
|
519 |
* |
|
520 |
*/ |
|
521 |
private static final long serialVersionUID = 7944728685657584703L; |
|
522 |
|
|
428 | 523 |
public void actionPerformed(ActionEvent e) { |
429 | 524 |
editingContext = swingManager.getEditingContext(mapControl); |
430 | 525 |
editingContext |
431 |
.activateService(FilledRegularPolygonEditingProviderFactory.PROVIDER_NAME);
|
|
526 |
.activateService(FilledRegularPolygonEditingProviderFactory.PROVIDER_NAME); |
|
432 | 527 |
|
433 | 528 |
} |
434 | 529 |
}; |
435 | 530 |
|
436 | 531 |
rectangle = new AbstractAction("Rectangle") { |
437 | 532 |
|
533 |
/** |
|
534 |
* |
|
535 |
*/ |
|
536 |
private static final long serialVersionUID = -6429005619655148416L; |
|
537 |
|
|
438 | 538 |
public void actionPerformed(ActionEvent e) { |
439 | 539 |
editingContext = swingManager.getEditingContext(mapControl); |
440 | 540 |
editingContext |
441 |
.activateService(RectangleEditingProviderFactory.PROVIDER_NAME);
|
|
541 |
.activateService(RectangleEditingProviderFactory.PROVIDER_NAME); |
|
442 | 542 |
|
443 | 543 |
} |
444 | 544 |
}; |
445 | 545 |
|
446 | 546 |
filledRectangle = new AbstractAction("FilledRectangle") { |
447 | 547 |
|
548 |
/** |
|
549 |
* |
|
550 |
*/ |
|
551 |
private static final long serialVersionUID = 2293196006002423664L; |
|
552 |
|
|
448 | 553 |
public void actionPerformed(ActionEvent e) { |
449 | 554 |
editingContext = swingManager.getEditingContext(mapControl); |
450 | 555 |
editingContext |
451 |
.activateService(FilledRectangleEditingProviderFactory.PROVIDER_NAME);
|
|
556 |
.activateService(FilledRectangleEditingProviderFactory.PROVIDER_NAME); |
|
452 | 557 |
|
453 | 558 |
} |
454 | 559 |
}; |
455 | 560 |
|
456 | 561 |
spline = new AbstractAction("Spline") { |
457 | 562 |
|
563 |
/** |
|
564 |
* |
|
565 |
*/ |
|
566 |
private static final long serialVersionUID = -2308770572409304622L; |
|
567 |
|
|
458 | 568 |
public void actionPerformed(ActionEvent e) { |
459 | 569 |
editingContext = swingManager.getEditingContext(mapControl); |
460 | 570 |
editingContext |
461 |
.activateService(SplineEditingProviderFactory.PROVIDER_NAME);
|
|
571 |
.activateService(SplineEditingProviderFactory.PROVIDER_NAME); |
|
462 | 572 |
|
463 | 573 |
} |
464 | 574 |
}; |
465 | 575 |
|
466 | 576 |
filledSpline = new AbstractAction("FilledSpline") { |
467 | 577 |
|
578 |
/** |
|
579 |
* |
|
580 |
*/ |
|
581 |
private static final long serialVersionUID = 357716596419507221L; |
|
582 |
|
|
468 | 583 |
public void actionPerformed(ActionEvent e) { |
469 | 584 |
editingContext = swingManager.getEditingContext(mapControl); |
470 | 585 |
editingContext |
471 |
.activateService(FilledSplineEditingProviderFactory.PROVIDER_NAME);
|
|
586 |
.activateService(FilledSplineEditingProviderFactory.PROVIDER_NAME); |
|
472 | 587 |
|
473 | 588 |
} |
474 | 589 |
}; |
475 | 590 |
|
476 | 591 |
symmetry = new AbstractAction("SymmetryAction") { |
477 | 592 |
|
593 |
/** |
|
594 |
* |
|
595 |
*/ |
|
596 |
private static final long serialVersionUID = 1914236049250403201L; |
|
597 |
|
|
478 | 598 |
public void actionPerformed(ActionEvent e) { |
479 | 599 |
editingContext = swingManager.getEditingContext(mapControl); |
480 | 600 |
editingContext |
481 |
.activateService(SymmetryEditingProviderFactory.PROVIDER_NAME);
|
|
601 |
.activateService(SymmetryEditingProviderFactory.PROVIDER_NAME); |
|
482 | 602 |
} |
483 | 603 |
}; |
484 | 604 |
|
485 | 605 |
internalPolygon = new AbstractAction("InternalPolygonAction") { |
486 | 606 |
|
607 |
/** |
|
608 |
* |
|
609 |
*/ |
|
610 |
private static final long serialVersionUID = -5366590032240258186L; |
|
611 |
|
|
487 | 612 |
public void actionPerformed(ActionEvent e) { |
488 | 613 |
editingContext = swingManager.getEditingContext(mapControl); |
489 | 614 |
editingContext |
490 |
.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME);
|
|
615 |
.activateService(InternalPolygonEditingProviderFactory.PROVIDER_NAME); |
|
491 | 616 |
} |
492 | 617 |
}; |
493 | 618 |
|
... | ... | |
604 | 729 |
mapControl = mapControlManager.createJMapControlPanel(mapContext); |
605 | 730 |
|
606 | 731 |
mapControl |
607 |
.addBehavior("zoom", new Behavior[] {
|
|
608 |
new RectangleBehavior(new ZoomInListenerImpl(mapControl)),
|
|
609 |
new PointBehavior(
|
|
610 |
new ZoomOutRightButtonListener(mapControl)) });
|
|
732 |
.addBehavior("zoom", new Behavior[] { |
|
733 |
new RectangleBehavior(new ZoomInListenerImpl(mapControl)), |
|
734 |
new PointBehavior( |
|
735 |
new ZoomOutRightButtonListener(mapControl)) }); |
|
611 | 736 |
mapControl.addBehavior("pan", new MoveBehavior(new PanListenerImpl( |
612 | 737 |
mapControl))); |
613 | 738 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.internalpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/internalpolygon/InternalPolygonEditingProvider.java | ||
---|---|---|
58 | 58 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
59 | 59 |
|
60 | 60 |
public class InternalPolygonEditingProvider extends AbstractEditingProvider |
61 |
implements EditingProvider {
|
|
61 |
implements EditingProvider { |
|
62 | 62 |
|
63 | 63 |
private EditingServiceParameter selectionParameter; |
64 | 64 |
|
... | ... | |
73 | 73 |
super(services); |
74 | 74 |
this.featureStore = |
75 | 75 |
(FeatureStore) parameters |
76 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
76 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
77 | 77 |
|
78 | 78 |
this.selectionParameter = |
79 | 79 |
new DefaultEditingServiceParameter("Select geometry", "selection", |
... | ... | |
197 | 197 |
while (it.hasNext()) { |
198 | 198 |
Feature feature = (Feature) it.next(); |
199 | 199 |
Geometry geometryFeature = |
200 |
(Geometry) feature.getDefaultGeometry().cloneGeometry();
|
|
200 |
feature.getDefaultGeometry().cloneGeometry(); |
|
201 | 201 |
|
202 | 202 |
if (geometryFeature.contains(geometry)) { |
203 | 203 |
|
... | ... | |
221 | 221 |
} else { |
222 | 222 |
newGeom = newGeom.difference(geometry); |
223 | 223 |
} |
224 |
|
|
224 |
|
|
225 | 225 |
EditingProviderServices editingProviderServices = |
226 | 226 |
(EditingProviderServices) getProviderServices(); |
227 | 227 |
|
... | ... | |
253 | 253 |
} catch (DataException e) { |
254 | 254 |
throw new StartServiceException(e); |
255 | 255 |
} |
256 |
if (selected != null && selected.getSelectedCount() > 0) {
|
|
256 |
if ((selected != null) && (selected.getSelectedCount() > 0)) {
|
|
257 | 257 |
values.put(selectionParameter, selected); |
258 | 258 |
} |
259 | 259 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.internalpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/internalpolygon/InternalPolygonEditingProviderFactory.java | ||
---|---|---|
37 | 37 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
38 | 38 |
|
39 | 39 |
public class InternalPolygonEditingProviderFactory extends |
40 |
AbstractProviderFactory implements EditingProviderFactory {
|
|
40 |
AbstractProviderFactory implements EditingProviderFactory { |
|
41 | 41 |
|
42 | 42 |
public final static String PROVIDER_NAME = "modify-internal-polygon"; |
43 | 43 |
|
... | ... | |
69 | 69 |
DynObjectManager dynObjectManager = ToolsLocator.getDynObjectManager(); |
70 | 70 |
DynClass dynclass = |
71 | 71 |
dynObjectManager |
72 |
.createDynClass(PROVIDER_NAME, PROVIDER_DESCRIPTION);
|
|
72 |
.createDynClass(PROVIDER_NAME, PROVIDER_DESCRIPTION); |
|
73 | 73 |
|
74 | 74 |
dynclass.addDynFieldString(PROVIDER_NAME_FIELD); |
75 | 75 |
dynclass.addDynFieldObject(FEATURE_STORE_FIELD); |
... | ... | |
77 | 77 |
return dynclass; |
78 | 78 |
} |
79 | 79 |
|
80 |
@Override |
|
80 | 81 |
public DynObject createParameters() { |
81 | 82 |
DynObject parameters = super.createParameters(); |
82 | 83 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.internalpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/internalpolygon/InternalPolygonEditingLibrary.java | ||
---|---|---|
34 | 34 |
|
35 | 35 |
/** |
36 | 36 |
* Library for default implementation initialization and configuration. |
37 |
*
|
|
37 |
* |
|
38 | 38 |
* @author gvSIG team |
39 | 39 |
* @version $Id$ |
40 | 40 |
*/ |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rectangle/src/main/java/org/gvsig/vectorediting/lib/prov/rectangle/FilledRectangleEditingProvider.java | ||
---|---|---|
43 | 43 |
* |
44 | 44 |
*/ |
45 | 45 |
public class FilledRectangleEditingProvider extends RectangleEditingProvider |
46 |
implements EditingProvider {
|
|
46 |
implements EditingProvider { |
|
47 | 47 |
|
48 | 48 |
/** |
49 | 49 |
* Default constructor. |
50 |
*
|
|
50 |
* |
|
51 | 51 |
* @param parameters |
52 | 52 |
* of service. |
53 | 53 |
* @param providerServices |
... | ... | |
57 | 57 |
DynObject parameters) { |
58 | 58 |
super(providerServices, parameters); |
59 | 59 |
} |
60 |
|
|
60 |
|
|
61 |
@Override |
|
61 | 62 |
public Geometry finish() throws FinishServiceException { |
62 | 63 |
|
63 | 64 |
if (values != null) { |
64 | 65 |
Point firstPointValue = (Point) values.get(firstPoint); |
65 | 66 |
Point oppistePointValue = (Point) values.get(oppositePoint); |
66 | 67 |
|
67 |
if (firstPointValue != null && oppistePointValue != null) {
|
|
68 |
if ((firstPointValue != null) && (oppistePointValue != null)) {
|
|
68 | 69 |
|
69 | 70 |
EditingProviderServices editingProviderServices = |
70 | 71 |
(EditingProviderServices) getProviderServices(); |
... | ... | |
103 | 104 |
MultiSurface multisurface; |
104 | 105 |
multisurface = |
105 | 106 |
GeometryLocator.getGeometryManager() |
106 |
.createMultiSurface(geomType.getSubType());
|
|
107 |
.createMultiSurface(geomType.getSubType()); |
|
107 | 108 |
multisurface.addSurface(rectangle); |
108 | 109 |
return multisurface; |
109 | 110 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rectangle/src/main/java/org/gvsig/vectorediting/lib/prov/rectangle/RectangleEditingProvider.java | ||
---|---|---|
81 | 81 |
* |
82 | 82 |
*/ |
83 | 83 |
public class RectangleEditingProvider extends AbstractEditingProvider implements |
84 |
EditingProvider {
|
|
84 |
EditingProvider { |
|
85 | 85 |
|
86 | 86 |
protected EditingServiceParameter firstPoint; |
87 | 87 |
|
... | ... | |
93 | 93 |
|
94 | 94 |
/** |
95 | 95 |
* Default constructor. |
96 |
*
|
|
96 |
* |
|
97 | 97 |
* @param parameters |
98 | 98 |
* of service. |
99 | 99 |
* @param providerServices |
... | ... | |
105 | 105 |
|
106 | 106 |
this.featureStore = |
107 | 107 |
(FeatureStore) parameters |
108 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
108 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
109 | 109 |
|
110 | 110 |
this.firstPoint = |
111 | 111 |
new DefaultEditingServiceParameter("first_point", "first_point", |
... | ... | |
193 | 193 |
|
194 | 194 |
/** |
195 | 195 |
* Checks if value is valid to parameter received as parameter. |
196 |
*
|
|
196 |
* |
|
197 | 197 |
* @param param |
198 | 198 |
* of value |
199 | 199 |
* @param value |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rectangle/src/main/java/org/gvsig/vectorediting/lib/prov/rectangle/FilledRectangleEditingProviderFactory.java | ||
---|---|---|
40 | 40 |
* |
41 | 41 |
*/ |
42 | 42 |
public class FilledRectangleEditingProviderFactory extends |
43 |
AbstractProviderFactory implements EditingProviderFactory {
|
|
43 |
AbstractProviderFactory implements EditingProviderFactory { |
|
44 | 44 |
|
45 | 45 |
public final static String PROVIDER_NAME = "insert-filled-rectangle"; |
46 | 46 |
|
... | ... | |
84 | 84 |
return PROVIDER_NAME; |
85 | 85 |
} |
86 | 86 |
|
87 |
@Override |
|
87 | 88 |
public DynObject createParameters() { |
88 | 89 |
DynObject parameters = super.createParameters(); |
89 | 90 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.rectangle/src/main/java/org/gvsig/vectorediting/lib/prov/rectangle/RectangleEditingProviderFactory.java | ||
---|---|---|
40 | 40 |
* |
41 | 41 |
*/ |
42 | 42 |
public class RectangleEditingProviderFactory extends AbstractProviderFactory |
43 |
implements EditingProviderFactory {
|
|
43 |
implements EditingProviderFactory { |
|
44 | 44 |
|
45 | 45 |
public final static String PROVIDER_NAME = "insert-rectangle"; |
46 | 46 |
|
47 | 47 |
public final static String PROVIDER_DESCRIPTION = |
48 | 48 |
"Inserts a rectangle on the view"; |
49 | 49 |
|
50 |
@Override |
|
50 | 51 |
public String getName() { |
51 | 52 |
return PROVIDER_NAME; |
52 | 53 |
} |
53 | 54 |
|
55 |
@Override |
|
54 | 56 |
public DynObject createParameters() { |
55 | 57 |
DynObject parameters = super.createParameters(); |
56 | 58 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.arc/src/main/java/org/gvsig/vectorediting/lib/prov/arc/ArcEditingProvider.java | ||
---|---|---|
59 | 59 |
* |
60 | 60 |
*/ |
61 | 61 |
public class ArcEditingProvider extends AbstractEditingProvider implements |
62 |
EditingProvider {
|
|
62 |
EditingProvider { |
|
63 | 63 |
|
64 | 64 |
private EditingServiceParameter startPoint; |
65 | 65 |
|
... | ... | |
73 | 73 |
|
74 | 74 |
/** |
75 | 75 |
* Default constructor. |
76 |
*
|
|
76 |
* |
|
77 | 77 |
* @param providerServices |
78 | 78 |
* available services for this provider |
79 | 79 |
* @param parameters |
... | ... | |
85 | 85 |
|
86 | 86 |
this.featureStore = |
87 | 87 |
(FeatureStore) parameters |
88 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
88 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
89 | 89 |
|
90 | 90 |
this.startPoint = |
91 | 91 |
new DefaultEditingServiceParameter("Start point", "start_point", |
... | ... | |
114 | 114 |
public DrawingStatus getDrawingStatus(Point mousePosition) |
115 | 115 |
throws DrawServiceException { |
116 | 116 |
DefaultDrawingStatus geometries = new DefaultDrawingStatus(); |
117 |
if (values != null && values.get(startPoint) != null) {
|
|
117 |
if ((values != null) && (values.get(startPoint) != null)) {
|
|
118 | 118 |
|
119 | 119 |
Point startPointValue = (Point) values.get(startPoint); |
120 | 120 |
EditingProviderServices editingProviderServices = |
... | ... | |
216 | 216 |
|
217 | 217 |
GeometryType geomType = |
218 | 218 |
editingProviderServices.getGeomType(featureStore); |
219 |
|
|
219 |
|
|
220 | 220 |
if (geomType.isTypeOf(MULTICURVE)) { |
221 | 221 |
|
222 | 222 |
MultiCurve multiCurve; |
223 | 223 |
multiCurve = |
224 | 224 |
GeometryLocator.getGeometryManager().createMultiCurve( |
225 | 225 |
geomType.getSubType()); |
226 |
multiCurve.addCurve((Curve) arc);
|
|
226 |
multiCurve.addCurve(arc); |
|
227 | 227 |
return multiCurve; |
228 | 228 |
} |
229 | 229 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.arc/src/main/java/org/gvsig/vectorediting/lib/prov/arc/ArcEditingProviderFactory.java | ||
---|---|---|
62 | 62 |
* |
63 | 63 |
*/ |
64 | 64 |
public class ArcEditingProviderFactory extends AbstractProviderFactory |
65 |
implements EditingProviderFactory {
|
|
65 |
implements EditingProviderFactory { |
|
66 | 66 |
|
67 | 67 |
public static final String PROVIDER_NAME = "insert-arc"; |
68 | 68 |
|
... | ... | |
71 | 71 |
|
72 | 72 |
/* |
73 | 73 |
* (non-Javadoc) |
74 |
*
|
|
74 |
* |
|
75 | 75 |
* @see org.gvsig.tools.service.spi.ProviderFactory#initialize() |
76 | 76 |
*/ |
77 | 77 |
public void initialize() { |
... | ... | |
79 | 79 |
|
80 | 80 |
/* |
81 | 81 |
* (non-Javadoc) |
82 |
*
|
|
82 |
* |
|
83 | 83 |
* @see |
84 | 84 |
* org.gvsig.vectorediting.lib.spi.EditingProviderFactory#getServiceInfo() |
85 | 85 |
*/ |
... | ... | |
93 | 93 |
|
94 | 94 |
/* |
95 | 95 |
* (non-Javadoc) |
96 |
*
|
|
96 |
* |
|
97 | 97 |
* @see |
98 | 98 |
* org.gvsig.tools.service.spi.AbstractProviderFactory#doCreate(org.gvsig |
99 | 99 |
* .tools.dynobject.DynObject, org.gvsig.tools.service.spi.ProviderServices) |
... | ... | |
105 | 105 |
|
106 | 106 |
/* |
107 | 107 |
* (non-Javadoc) |
108 |
*
|
|
108 |
* |
|
109 | 109 |
* @see org.gvsig.tools.service.spi.ProviderFactory#createParameters() |
110 | 110 |
*/ |
111 |
@Override |
|
111 | 112 |
public DynObject createParameters() { |
112 | 113 |
DynObject parameters = super.createParameters(); |
113 | 114 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
... | ... | |
116 | 117 |
|
117 | 118 |
/* |
118 | 119 |
* (non-Javadoc) |
119 |
*
|
|
120 |
* |
|
120 | 121 |
* @see |
121 | 122 |
* org.gvsig.tools.service.spi.AbstractProviderFactory#createParametersDynClass |
122 | 123 |
* () |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.arc/src/main/java/org/gvsig/vectorediting/lib/prov/arc/ArcEditingLibrary.java | ||
---|---|---|
67 | 67 |
|
68 | 68 |
/* |
69 | 69 |
* (non-Javadoc) |
70 |
*
|
|
70 |
* |
|
71 | 71 |
* @see org.gvsig.tools.library.AbstractLibrary#doInitialize() |
72 | 72 |
*/ |
73 | 73 |
@Override |
... | ... | |
76 | 76 |
|
77 | 77 |
/* |
78 | 78 |
* (non-Javadoc) |
79 |
*
|
|
79 |
* |
|
80 | 80 |
* @see org.gvsig.tools.library.AbstractLibrary#doPostInitialize() |
81 | 81 |
*/ |
82 | 82 |
@Override |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/test/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCrTest.java | ||
---|---|---|
54 | 54 |
|
55 | 55 |
/** |
56 | 56 |
* Circle CR provider test. |
57 |
*
|
|
57 |
* |
|
58 | 58 |
* This test uses src/test/resources/cartography |
59 |
*
|
|
59 |
* |
|
60 | 60 |
* @author llmarques |
61 | 61 |
* |
62 | 62 |
*/ |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/test/java/org/gvsig/vectorediting/lib/prov/circlecr/CircumferenceCRTest.java | ||
---|---|---|
46 | 46 |
|
47 | 47 |
/** |
48 | 48 |
* Circumference provider test |
49 |
*
|
|
49 |
* |
|
50 | 50 |
* This test uses src/test/resources/cartography |
51 |
*
|
|
51 |
* |
|
52 | 52 |
* @author llmarques |
53 | 53 |
* |
54 | 54 |
*/ |
... | ... | |
129 | 129 |
assertEquals("geometry type != MULTICURVE", geom.getType(), |
130 | 130 |
Geometry.TYPES.MULTICURVE); |
131 | 131 |
MultiCurve multicurve = (MultiCurve) geom; |
132 |
|
|
132 |
|
|
133 | 133 |
assertTrue(multicurve.getCurveAt(0) instanceof Arc); |
134 | 134 |
Arc arc = (Arc) multicurve.getCurveAt(0); |
135 |
|
|
135 |
|
|
136 | 136 |
assertTrue(arc.getCenterPoint().getX() == center.getX()); |
137 | 137 |
assertTrue(arc.getCenterPoint().getY() == center.getY()); |
138 |
|
|
138 |
|
|
139 | 139 |
Point initPoint = arc.getInitPoint(); |
140 | 140 |
assertTrue(initPoint.distance(center) == radius); |
141 |
|
|
141 |
|
|
142 | 142 |
Point endPoint = arc.getEndPoint(); |
143 | 143 |
assertTrue(endPoint.distance(center) == radius); |
144 |
|
|
145 | 144 |
|
146 | 145 |
} catch (Exception e) { |
147 | 146 |
fail("Unexpected exception ending service. " + e.getMessage()); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProvider.java | ||
---|---|---|
54 | 54 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
55 | 55 |
|
56 | 56 |
public class CircleCREditingProvider extends AbstractEditingProvider implements |
57 |
EditingProvider {
|
|
57 |
EditingProvider { |
|
58 | 58 |
|
59 | 59 |
protected EditingServiceParameter center; |
60 | 60 |
|
... | ... | |
70 | 70 |
|
71 | 71 |
this.featureStore = |
72 | 72 |
(FeatureStore) parameters |
73 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
73 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
74 | 74 |
|
75 | 75 |
this.center = |
76 | 76 |
new DefaultEditingServiceParameter("Center", "center", |
... | ... | |
84 | 84 |
public DefaultDrawingStatus getDrawingStatus(Point mousePosition) |
85 | 85 |
throws DrawServiceException { |
86 | 86 |
DefaultDrawingStatus geometries = new DefaultDrawingStatus(); |
87 |
if (values != null && values.get(center) != null
|
|
88 |
&& values.get(radius) == null) {
|
|
87 |
if ((values != null) && (values.get(center) != null)
|
|
88 |
&& (values.get(radius) == null)) {
|
|
89 | 89 |
Point centerPoint = (Point) values.get(center); |
90 | 90 |
EditingProviderServices editingProviderServices = |
91 | 91 |
(EditingProviderServices) getProviderServices(); |
... | ... | |
93 | 93 |
try { |
94 | 94 |
int subtype = editingProviderServices.getSubType(featureStore); |
95 | 95 |
Curve line = |
96 |
editingProviderServices.createLine(centerPoint, mousePosition,
|
|
97 |
subtype); |
|
96 |
editingProviderServices.createLine(centerPoint, |
|
97 |
mousePosition, subtype);
|
|
98 | 98 |
Arc circle = |
99 | 99 |
editingProviderServices.createArc(centerPoint, |
100 | 100 |
mousePosition.distance(centerPoint), 0, 2 * Math.PI, |
... | ... | |
153 | 153 |
|
154 | 154 |
} else if (value instanceof Double) { |
155 | 155 |
|
156 |
if (((Double) value) - 0.01 > 0) {
|
|
156 |
if ((((Double) value) - 0.01) > 0) {
|
|
157 | 157 |
values.put(param, value); |
158 | 158 |
return; |
159 | 159 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircumferenceCREditingProviderFactory.java | ||
---|---|---|
36 | 36 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
37 | 37 |
|
38 | 38 |
public class CircumferenceCREditingProviderFactory extends |
39 |
AbstractProviderFactory implements EditingProviderFactory {
|
|
39 |
AbstractProviderFactory implements EditingProviderFactory { |
|
40 | 40 |
|
41 | 41 |
public static final String PROVIDER_NAME = "insert-circumference-cr"; |
42 | 42 |
|
... | ... | |
60 | 60 |
return new CircumferenceCREditingProvider(services, parameters); |
61 | 61 |
} |
62 | 62 |
|
63 |
@Override |
|
63 | 64 |
public DynObject createParameters() { |
64 | 65 |
DynObject parameters = super.createParameters(); |
65 | 66 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircleCREditingProviderFactory.java | ||
---|---|---|
36 | 36 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
37 | 37 |
|
38 | 38 |
public class CircleCREditingProviderFactory extends AbstractProviderFactory |
39 |
implements EditingProviderFactory {
|
|
39 |
implements EditingProviderFactory { |
|
40 | 40 |
|
41 | 41 |
public static final String PROVIDER_NAME = "insert-circle-cr"; |
42 | 42 |
|
... | ... | |
64 | 64 |
return new CircleCREditingProvider(services, parameters); |
65 | 65 |
} |
66 | 66 |
|
67 |
@Override |
|
67 | 68 |
public DynObject createParameters() { |
68 | 69 |
DynObject parameters = super.createParameters(); |
69 | 70 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circlecr/src/main/java/org/gvsig/vectorediting/lib/prov/circlecr/CircumferenceCREditingProvider.java | ||
---|---|---|
37 | 37 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
38 | 38 |
|
39 | 39 |
public class CircumferenceCREditingProvider extends CircleCREditingProvider |
40 |
implements EditingProvider {
|
|
40 |
implements EditingProvider { |
|
41 | 41 |
|
42 | 42 |
public CircumferenceCREditingProvider(ProviderServices providerServices, |
43 | 43 |
DynObject parameters) { |
44 | 44 |
super(providerServices, parameters); |
45 | 45 |
} |
46 | 46 |
|
47 |
@Override |
|
47 | 48 |
public Geometry finish() throws FinishServiceException { |
48 | 49 |
Point centerPoint = (Point) values.get(center); |
49 | 50 |
double radiusValue = (Double) values.get(radius); |
... | ... | |
72 | 73 |
} |
73 | 74 |
} |
74 | 75 |
|
76 |
@Override |
|
75 | 77 |
public String getName() { |
76 | 78 |
return CircumferenceCREditingProviderFactory.PROVIDER_NAME; |
77 | 79 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.line/src/main/java/org/gvsig/vectorediting/lib/prov/line/LineEditingProviderFactory.java | ||
---|---|---|
62 | 62 |
* |
63 | 63 |
*/ |
64 | 64 |
public class LineEditingProviderFactory extends AbstractProviderFactory |
65 |
implements EditingProviderFactory {
|
|
65 |
implements EditingProviderFactory { |
|
66 | 66 |
|
67 | 67 |
public final static String PROVIDER_NAME = "insert-line"; |
68 | 68 |
|
... | ... | |
71 | 71 |
|
72 | 72 |
public void initialize() { |
73 | 73 |
} |
74 |
|
|
74 |
|
|
75 |
@Override |
|
75 | 76 |
public DynObject createParameters() { |
76 | 77 |
DynObject parameters = super.createParameters(); |
77 | 78 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.line/src/main/java/org/gvsig/vectorediting/lib/prov/line/LineEditingProvider.java | ||
---|---|---|
80 | 80 |
* |
81 | 81 |
*/ |
82 | 82 |
public class LineEditingProvider extends AbstractEditingProvider implements |
83 |
EditingProvider {
|
|
83 |
EditingProvider { |
|
84 | 84 |
|
85 | 85 |
private EditingServiceParameter firstPoint; |
86 | 86 |
|
... | ... | |
92 | 92 |
|
93 | 93 |
/** |
94 | 94 |
* Default constructor. |
95 |
*
|
|
95 |
* |
|
96 | 96 |
* @param providerServices |
97 | 97 |
* available services for this provider |
98 | 98 |
* @param parameters |
... | ... | |
103 | 103 |
super(providerServices); |
104 | 104 |
this.featureStore = |
105 | 105 |
(FeatureStore) parameters |
106 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
106 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
107 | 107 |
|
108 | 108 |
this.firstPoint = |
109 | 109 |
new DefaultEditingServiceParameter("First point", "first_point", |
... | ... | |
127 | 127 |
public DrawingStatus getDrawingStatus(Point mousePosition) |
128 | 128 |
throws DrawServiceException { |
129 | 129 |
DefaultDrawingStatus geometries = new DefaultDrawingStatus(); |
130 |
if (values != null && values.get(firstPoint) != null) {
|
|
130 |
if ((values != null) && (values.get(firstPoint) != null)) {
|
|
131 | 131 |
Point point = (Point) values.get(firstPoint); |
132 | 132 |
try { |
133 | 133 |
EditingProviderServices editingProviderServices = |
... | ... | |
201 | 201 |
multiCurve = |
202 | 202 |
GeometryLocator.getGeometryManager().createMultiCurve( |
203 | 203 |
storeGeomType.getSubType()); |
204 |
multiCurve.addCurve((Curve) line);
|
|
204 |
multiCurve.addCurve(line); |
|
205 | 205 |
return multiCurve; |
206 | 206 |
} |
207 | 207 |
|
208 |
return line;
|
|
208 |
return line; |
|
209 | 209 |
} catch (Exception e) { |
210 | 210 |
throw new FinishServiceException(e); |
211 | 211 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/FilledRegularPolygonEditingProvider.java | ||
---|---|---|
66 | 66 |
* |
67 | 67 |
*/ |
68 | 68 |
public class FilledRegularPolygonEditingProvider extends |
69 |
RegularPolygonEditingProvider implements EditingProvider {
|
|
69 |
RegularPolygonEditingProvider implements EditingProvider { |
|
70 | 70 |
|
71 | 71 |
/** |
72 | 72 |
* Default constructor. |
73 |
*
|
|
73 |
* |
|
74 | 74 |
* @param services |
75 | 75 |
* Available services to this provider. |
76 | 76 |
* @param parameters |
... | ... | |
81 | 81 |
super(parameters, services); |
82 | 82 |
} |
83 | 83 |
|
84 |
@Override |
|
84 | 85 |
public Geometry finish() throws FinishServiceException { |
85 | 86 |
|
86 | 87 |
if (values != null) { |
... | ... | |
109 | 110 |
geometryManager.createMultiSurface(geomType |
110 | 111 |
.getSubType()); |
111 | 112 |
multiSurface.addSurface(surface); |
112 |
return (Geometry) multiSurface;
|
|
113 |
return multiSurface; |
|
113 | 114 |
|
114 | 115 |
} |
115 | 116 |
|
... | ... | |
124 | 125 |
/** |
125 | 126 |
* Calculates filled polygon as of mode (inscribed or circumscribed), center |
126 | 127 |
* of polygon, point of circle of polygon and number of sides. |
127 |
*
|
|
128 |
* |
|
128 | 129 |
* @param modeValue |
129 | 130 |
* inscribed or circumscribed |
130 | 131 |
* @param centerValue |
... | ... | |
150 | 151 |
|
151 | 152 |
Point vertexAnt = null; |
152 | 153 |
for (int i = 0; i < polygon.getNumVertices(); i++) { |
153 |
if (vertexAnt == null || !vertexAnt.equals(polygon.getVertex(i))) {
|
|
154 |
filledPolygon.addVertex((Point) polygon.getVertex(i));
|
|
154 |
if ((vertexAnt == null) || !vertexAnt.equals(polygon.getVertex(i))) {
|
|
155 |
filledPolygon.addVertex(polygon.getVertex(i)); |
|
155 | 156 |
vertexAnt = filledPolygon.getVertex(i); |
156 | 157 |
} |
157 | 158 |
} |
... | ... | |
160 | 161 |
return filledPolygon; |
161 | 162 |
} |
162 | 163 |
|
164 |
@Override |
|
163 | 165 |
public String getName() { |
164 | 166 |
return FilledRegularPolygonEditingProviderFactory.PROVIDER_NAME; |
165 | 167 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/RegularPolygonEditingProvider.java | ||
---|---|---|
60 | 60 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
61 | 61 |
|
62 | 62 |
/** |
63 |
*
|
|
63 |
* |
|
64 | 64 |
* @author llmarques |
65 | 65 |
* |
66 | 66 |
*/ |
67 | 67 |
public class RegularPolygonEditingProvider extends AbstractEditingProvider |
68 |
implements EditingProvider {
|
|
68 |
implements EditingProvider { |
|
69 | 69 |
|
70 | 70 |
protected EditingServiceParameter polygonSides; |
71 | 71 |
|
... | ... | |
86 | 86 |
super(providerServices); |
87 | 87 |
this.featureStore = |
88 | 88 |
(FeatureStore) parameters |
89 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
89 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
90 | 90 |
|
91 | 91 |
polygonSides = |
92 | 92 |
new DefaultEditingServiceParameter("sides", |
... | ... | |
135 | 135 |
String modeValue = (String) values.get(mode); |
136 | 136 |
Point centerValue = (Point) values.get(center); |
137 | 137 |
|
138 |
if (modeValue != null && centerValue != null) {
|
|
138 |
if ((modeValue != null) && (centerValue != null)) {
|
|
139 | 139 |
|
140 | 140 |
try { |
141 | 141 |
|
... | ... | |
172 | 172 |
/** |
173 | 173 |
* Calculates polygon as of mode (inscribed or circumscribed), center of |
174 | 174 |
* polygon, point of circle and number of sides. |
175 |
*
|
|
175 |
* |
|
176 | 176 |
* @param modeValue |
177 | 177 |
* of polygon (inscribed or circumscribed). |
178 | 178 |
* @param centerValue |
... | ... | |
184 | 184 |
*/ |
185 | 185 |
protected Curve calculateRegularPolygon(String modeValue, |
186 | 186 |
Point centerValue, Point pointOfCircle, int sidesValue) |
187 |
throws BaseException { |
|
187 |
throws BaseException {
|
|
188 | 188 |
|
189 | 189 |
GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
190 | 190 |
|
... | ... | |
198 | 198 |
double initAngle = |
199 | 199 |
editingProviderServices.getAngle(centerValue, pointOfCircle); |
200 | 200 |
double radiusValue = pointOfCircle.distance(centerValue); |
201 |
double theta = 2 * Math.PI / sidesValue;
|
|
202 |
|
|
201 |
double theta = (2 * Math.PI) / sidesValue;
|
|
202 |
|
|
203 | 203 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
204 |
|
|
205 |
if (modeValue.equalsIgnoreCase(i18nManager.getTranslation("key_inscribed"))) { |
|
206 | 204 |
|
205 |
if (modeValue.equalsIgnoreCase(i18nManager |
|
206 |
.getTranslation("key_inscribed"))) { |
|
207 |
|
|
207 | 208 |
for (int i = 0; i < sidesValue; ++i) { |
208 | 209 |
|
209 | 210 |
double x = |
210 |
centerValue.getX() + radiusValue
|
|
211 |
* Math.cos(theta * i + initAngle);
|
|
211 |
centerValue.getX() |
|
212 |
+ (radiusValue * Math.cos((theta * i) + initAngle));
|
|
212 | 213 |
double y = |
213 |
centerValue.getY() + radiusValue
|
|
214 |
* Math.sin(theta * i + initAngle);
|
|
214 |
centerValue.getY() |
|
215 |
+ (radiusValue * Math.sin((theta * i) + initAngle));
|
|
215 | 216 |
|
216 | 217 |
Point createPoint = |
217 | 218 |
editingProviderServices.createPoint(x, y, subtype); |
... | ... | |
219 | 220 |
polygon.addVertex(createPoint); |
220 | 221 |
} |
221 | 222 |
|
222 |
} else if (modeValue.equalsIgnoreCase(i18nManager.getTranslation("key_circumscribed"))) { |
|
223 |
} else if (modeValue.equalsIgnoreCase(i18nManager |
|
224 |
.getTranslation("key_circumscribed"))) { |
|
223 | 225 |
|
224 | 226 |
for (int i = 0; i < sidesValue; ++i) { |
225 | 227 |
|
226 | 228 |
double x = |
227 |
centerValue.getX() + radiusValue
|
|
228 |
* Math.cos(theta * i + initAngle);
|
|
229 |
centerValue.getX() |
|
230 |
+ (radiusValue * Math.cos((theta * i) + initAngle));
|
|
229 | 231 |
double y = |
230 |
centerValue.getY() + radiusValue
|
|
231 |
* Math.sin(theta * i + initAngle);
|
|
232 |
centerValue.getY() |
|
233 |
+ (radiusValue * Math.sin((theta * i) + initAngle));
|
|
232 | 234 |
|
233 | 235 |
Point apothemPoint = |
234 | 236 |
editingProviderServices.createPoint(x, y, subtype); |
... | ... | |
241 | 243 |
apothemParams[1], apothemPoint, subtype); |
242 | 244 |
|
243 | 245 |
double x1 = |
244 |
centerValue.getX() + radiusValue |
|
245 |
* Math.cos(theta * (i + 1) + initAngle); |
|
246 |
centerValue.getX() |
|
247 |
+ (radiusValue * Math |
|
248 |
.cos((theta * (i + 1)) + initAngle)); |
|
246 | 249 |
double y1 = |
247 |
centerValue.getY() + radiusValue |
|
248 |
* Math.sin(theta * (i + 1) + initAngle); |
|
250 |
centerValue.getY() |
|
251 |
+ (radiusValue * Math |
|
252 |
.sin((theta * (i + 1)) + initAngle)); |
|
249 | 253 |
|
250 | 254 |
Point nextApothemPoint = |
251 | 255 |
editingProviderServices.createPoint(x1, y1, subtype); |
... | ... | |
271 | 275 |
|
272 | 276 |
/** |
273 | 277 |
* Close geometry if it is necessary. |
274 |
*
|
|
278 |
* |
|
275 | 279 |
* @param geometry |
276 | 280 |
* to be closed. |
277 | 281 |
*/ |
278 | 282 |
protected Geometry closeGeometry(Geometry geometry) { |
279 | 283 |
|
280 |
if (!isClose(geometry) && geometry != null) {
|
|
284 |
if (!isClose(geometry) && (geometry != null)) {
|
|
281 | 285 |
|
282 | 286 |
if (geometry instanceof Surface) { |
283 | 287 |
Surface surface = (Surface) geometry; |
... | ... | |
298 | 302 |
|
299 | 303 |
/** |
300 | 304 |
* Gets if the geometry received by parameter is closed or not. |
301 |
*
|
|
305 |
* |
|
302 | 306 |
* @param geometry |
303 | 307 |
* @return True if geometry is closed, otherwise false. |
304 | 308 |
*/ |
... | ... | |
369 | 373 |
.getTranslation("key_inscribed")) |
370 | 374 |
|| option.equalsIgnoreCase(i18nManager |
371 | 375 |
.getTranslation("key_circumscribed"))) { |
372 |
|
|
376 |
|
|
373 | 377 |
values.put(param, value); |
374 | 378 |
return; |
375 |
|
|
379 |
|
|
376 | 380 |
} else { |
377 | 381 |
throw new InvalidEntryException(null); |
378 | 382 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/FilledRegularPolygonEditingProviderFactory.java | ||
---|---|---|
62 | 62 |
* |
63 | 63 |
*/ |
64 | 64 |
public class FilledRegularPolygonEditingProviderFactory extends |
65 |
AbstractProviderFactory implements EditingProviderFactory {
|
|
65 |
AbstractProviderFactory implements EditingProviderFactory { |
|
66 | 66 |
|
67 | 67 |
public final static String PROVIDER_NAME = "insert-filled-regular-polygon"; |
68 | 68 |
|
... | ... | |
76 | 76 |
EditingServiceInfo serviceInfo = |
77 | 77 |
new DefaultEditingServiceinfo(PROVIDER_NAME, "", true, null, |
78 | 78 |
new int[] { Geometry.TYPES.SURFACE, |
79 |
Geometry.TYPES.MULTISURFACE, Geometry.TYPES.CURVE,
|
|
80 |
Geometry.TYPES.MULTICURVE });
|
|
79 |
Geometry.TYPES.MULTISURFACE, Geometry.TYPES.CURVE, |
|
80 |
Geometry.TYPES.MULTICURVE }); |
|
81 | 81 |
|
82 | 82 |
return serviceInfo; |
83 | 83 |
} |
84 | 84 |
|
85 |
@Override |
|
85 | 86 |
public DynObject createParameters() { |
86 | 87 |
DynObject parameters = super.createParameters(); |
87 | 88 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/RegularPolygonEditingProviderFactory.java | ||
---|---|---|
36 | 36 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
37 | 37 |
|
38 | 38 |
/** |
39 |
*
|
|
39 |
* |
|
40 | 40 |
* @author llmarques |
41 | 41 |
* |
42 | 42 |
*/ |
43 | 43 |
public class RegularPolygonEditingProviderFactory extends |
44 |
AbstractProviderFactory implements EditingProviderFactory {
|
|
44 |
AbstractProviderFactory implements EditingProviderFactory { |
|
45 | 45 |
|
46 | 46 |
public final static String PROVIDER_NAME = "insert-regular-polygon"; |
47 | 47 |
|
... | ... | |
59 | 59 |
return serviceInfo; |
60 | 60 |
} |
61 | 61 |
|
62 |
@Override |
|
62 | 63 |
public DynObject createParameters() { |
63 | 64 |
DynObject parameters = super.createParameters(); |
64 | 65 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.regularpolygon/src/main/java/org/gvsig/vectorediting/lib/prov/regularpolygon/RegularPolygonEditingLibrary.java | ||
---|---|---|
33 | 33 |
import org.gvsig.vectorediting.lib.spi.EditingProviderManager; |
34 | 34 |
|
35 | 35 |
/** |
36 |
*
|
|
36 |
* |
|
37 | 37 |
* @author llmarques |
38 | 38 |
* |
39 | 39 |
*/ |
... | ... | |
55 | 55 |
|
56 | 56 |
manager.addProviderFactory(new RegularPolygonEditingProviderFactory()); |
57 | 57 |
manager |
58 |
.addProviderFactory(new FilledRegularPolygonEditingProviderFactory());
|
|
58 |
.addProviderFactory(new FilledRegularPolygonEditingProviderFactory()); |
|
59 | 59 |
|
60 | 60 |
manager.registerIcon("vectorediting-tools", "insert-regular-polygon", |
61 | 61 |
this.getClass().getClassLoader(), this.getClass().getName()); |
62 |
manager.registerIcon("vectorediting-tools", "insert-filled-regular-polygon", |
|
63 |
this.getClass().getClassLoader(), this.getClass().getName()); |
|
62 |
manager.registerIcon("vectorediting-tools", |
|
63 |
"insert-filled-regular-polygon", this.getClass().getClassLoader(), |
|
64 |
this.getClass().getName()); |
|
64 | 65 |
|
65 | 66 |
registerTranslations(); |
66 | 67 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/SplineEditingLibrary.java | ||
---|---|---|
57 | 57 |
|
58 | 58 |
manager.registerIcon("vectorediting-tools", "insert-spline", this |
59 | 59 |
.getClass().getClassLoader(), this.getClass().getName()); |
60 |
manager.registerIcon("vectorediting-tools", "insert-filled-spline", this
|
|
61 |
.getClass().getClassLoader(), this.getClass().getName()); |
|
60 |
manager.registerIcon("vectorediting-tools", "insert-filled-spline", |
|
61 |
this.getClass().getClassLoader(), this.getClass().getName());
|
|
62 | 62 |
|
63 | 63 |
registerTranslations(); |
64 | 64 |
|
65 | 65 |
} |
66 |
|
|
66 |
|
|
67 | 67 |
private void registerTranslations() { |
68 | 68 |
I18nManager manager = ToolsLocator.getI18nManager(); |
69 | 69 |
manager.addResourceFamily("i18n/text", |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/FilledSplineEditingProvider.java | ||
---|---|---|
43 | 43 |
* |
44 | 44 |
*/ |
45 | 45 |
public class FilledSplineEditingProvider extends SplineEditingProvider |
46 |
implements EditingProvider {
|
|
46 |
implements EditingProvider { |
|
47 | 47 |
|
48 | 48 |
/** |
49 | 49 |
* @param services |
... | ... | |
91 | 91 |
} else { |
92 | 92 |
return surface; |
93 | 93 |
} |
94 |
|
|
94 |
|
|
95 | 95 |
} catch (BaseException e) { |
96 | 96 |
throw new FinishServiceException(e); |
97 | 97 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/SplineEditingProvider.java | ||
---|---|---|
61 | 61 |
* |
62 | 62 |
*/ |
63 | 63 |
public class SplineEditingProvider extends AbstractEditingProvider implements |
64 |
EditingProvider {
|
|
64 |
EditingProvider { |
|
65 | 65 |
|
66 | 66 |
protected EditingServiceParameter points; |
67 | 67 |
|
... | ... | |
77 | 77 |
|
78 | 78 |
/** |
79 | 79 |
* Default constructor. |
80 |
*
|
|
80 |
* |
|
81 | 81 |
* @param parameters |
82 | 82 |
* of service. |
83 | 83 |
* @param providerServices |
... | ... | |
88 | 88 |
|
89 | 89 |
this.featureStore = |
90 | 90 |
(FeatureStore) parameters |
91 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD);
|
|
91 |
.getDynValue(EditingProviderFactory.FEATURE_STORE_FIELD); |
|
92 | 92 |
|
93 | 93 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
94 | 94 |
options = new LinkedHashMap<String, String>(); |
... | ... | |
159 | 159 |
|
160 | 160 |
/** |
161 | 161 |
* Checks if value is valid to parameter received as parameter. |
162 |
*
|
|
162 |
* |
|
163 | 163 |
* @param param |
164 | 164 |
* of value |
165 | 165 |
* @param value |
... | ... | |
180 | 180 |
|
181 | 181 |
String option = (String) value; |
182 | 182 |
|
183 |
if (options.containsKey(option) && values.size() > 1) {
|
|
183 |
if (options.containsKey(option) && (values.size() > 1)) {
|
|
184 | 184 |
|
185 | 185 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
186 | 186 |
if (option.equalsIgnoreCase(i18nManager |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/FilledSplineEditingProviderFactory.java | ||
---|---|---|
40 | 40 |
* |
41 | 41 |
*/ |
42 | 42 |
public class FilledSplineEditingProviderFactory extends AbstractProviderFactory |
43 |
implements EditingProviderFactory {
|
|
43 |
implements EditingProviderFactory { |
|
44 | 44 |
|
45 | 45 |
public final static String PROVIDER_NAME = "insert-filled-spline"; |
46 | 46 |
|
... | ... | |
84 | 84 |
return PROVIDER_NAME; |
85 | 85 |
} |
86 | 86 |
|
87 |
@Override |
|
87 | 88 |
public DynObject createParameters() { |
88 | 89 |
DynObject parameters = super.createParameters(); |
89 | 90 |
parameters.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.spline/src/main/java/org/gvsig/vectorediting/lib/prov/spline/SplineEditingProviderFactory.java | ||
---|---|---|
40 | 40 |
* |
41 | 41 |
*/ |
42 | 42 |
public class SplineEditingProviderFactory extends AbstractProviderFactory |
43 |
implements EditingProviderFactory {
|
|
43 |
implements EditingProviderFactory { |
|
44 | 44 |
|
45 | 45 |
public final static String PROVIDER_NAME = "insert-spline"; |
46 | 46 |
|
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.polyline/src/test/java/org/gvsig/vectorediting/lib/prov/polyline/PolylineTest.java | ||
---|---|---|
52 | 52 |
|
53 | 53 |
/** |
54 | 54 |
* Polyline provider test |
55 |
*
|
|
55 |
* |
|
56 | 56 |
* This test uses src/test/resources/cartography |
57 |
*
|
|
57 |
* |
|
58 | 58 |
* @author llmarques |
59 | 59 |
* |
60 | 60 |
*/ |
... | ... | |
306 | 306 |
Point point1; |
307 | 307 |
try { |
308 | 308 |
|
309 |
point1 = |
|
310 |
geoManager.createPoint(20, 50, Geometry.SUBTYPES.GEOM2D); |
|
311 |
|
|
309 |
point1 = geoManager.createPoint(20, 50, Geometry.SUBTYPES.GEOM2D); |
|
310 |
|
|
312 | 311 |
service.setValue(point1); |
313 | 312 |
DrawingStatus drawingStatus = service.getDrawingStatus(mousePoint); |
314 | 313 |
|
... | ... | |
316 | 315 |
assertTrue(drawingStatus.getGeometries().size() == 1); |
317 | 316 |
Geometry geometry = drawingStatus.getGeometries().get(0); |
318 | 317 |
assertTrue(geometry instanceof Line); |
319 |
|
|
318 |
|
|
320 | 319 |
Line line = (Line) geometry; |
321 | 320 |
assertTrue(line.getVertex(0).getX() == point1.getX()); |
322 | 321 |
assertTrue(line.getVertex(0).getY() == point1.getY()); |
323 | 322 |
assertTrue(line.getVertex(1).getX() == point1.getX()); |
324 | 323 |
assertTrue(line.getVertex(1).getY() == point1.getY()); |
325 |
|
Also available in: Unified diff