Revision 38096 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/EditVertexCADTool.java
EditVertexCADTool.java | ||
---|---|---|
46 | 46 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
47 | 47 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
48 | 48 |
import org.gvsig.fmap.geom.Geometry; |
49 |
import org.gvsig.fmap.geom.aggregate.impl.BaseMultiPrimitive;
|
|
49 |
import org.gvsig.fmap.geom.aggregate.MultiPrimitive; |
|
50 | 50 |
import org.gvsig.fmap.geom.handler.Handler; |
51 | 51 |
import org.gvsig.fmap.geom.primitive.GeneralPathX; |
52 | 52 |
import org.gvsig.fmap.mapcontext.ViewPort; |
... | ... | |
234 | 234 |
} |
235 | 235 |
|
236 | 236 |
int dif = 1;// En el caso de ser pol?gono. |
237 |
if (ig instanceof BaseMultiPrimitive) {
|
|
237 |
if (ig instanceof MultiPrimitive) { |
|
238 | 238 |
dif = 2; |
239 | 239 |
} |
240 | 240 |
|
... | ... | |
261 | 261 |
|| s.equals(PluginServices.getText(this, "del"))) { |
262 | 262 |
if (handlers != null) { |
263 | 263 |
Geometry newGeometry = null; |
264 |
if (ig instanceof BaseMultiPrimitive) {
|
|
264 |
if (ig instanceof MultiPrimitive) { |
|
265 | 265 |
newGeometry = |
266 |
removeVertexGC((BaseMultiPrimitive) ig,
|
|
266 |
removeVertexGC((MultiPrimitive) ig, |
|
267 | 267 |
handlers[numSelect]); |
268 | 268 |
} else { |
269 | 269 |
newGeometry = |
... | ... | |
439 | 439 |
return ig; |
440 | 440 |
} |
441 | 441 |
|
442 |
private Geometry removeVertexGC(BaseMultiPrimitive gc, Handler handler) { |
|
443 |
Geometry[] geoms = gc.getGeometries(); |
|
442 |
private Geometry removeVertexGC(MultiPrimitive gc, Handler handler) { |
|
443 |
|
|
444 |
// Geometry[] geoms = gc.getGeometries(); // getPrimitives es de la implemetacion, no esta en el API |
|
445 |
Geometry[] geoms = new Geometry[gc.getPrimitivesNumber()]; |
|
446 |
for( int i=0; i<gc.getPrimitivesNumber(); i++) { |
|
447 |
geoms[i] = gc.getPrimitiveAt(i); |
|
448 |
} |
|
449 |
|
|
444 | 450 |
ArrayList geomsAux = new ArrayList(); |
445 | 451 |
int pos = -1; |
446 | 452 |
for (int i = 0; i < geoms.length; i++) { |
... | ... | |
600 | 606 |
return shp; |
601 | 607 |
} |
602 | 608 |
|
603 |
private Geometry addVertexGC(BaseMultiPrimitive gc, Point2D p,
|
|
609 |
private Geometry addVertexGC(MultiPrimitive gc, Point2D p, |
|
604 | 610 |
Rectangle2D rect) { |
605 |
Geometry[] geoms = gc.getGeometries(); |
|
611 |
// Geometry[] geoms = gc.getGeometries(); // getPrimitives es de la implemetacion, no esta en el API |
|
612 |
Geometry[] geoms = new Geometry[gc.getPrimitivesNumber()]; |
|
613 |
for( int i=0; i<gc.getPrimitivesNumber(); i++) { |
|
614 |
geoms[i] = gc.getPrimitiveAt(i); |
|
615 |
} |
|
616 |
|
|
606 | 617 |
int pos = -1; |
607 | 618 |
for (int i = 0; i < geoms.length; i++) { |
608 | 619 |
if (geoms[i].intersects(rect)) { |
... | ... | |
690 | 701 |
Geometry geom1 = |
691 | 702 |
(feat.getDefaultGeometry()).cloneGeometry(); |
692 | 703 |
Geometry geom = null; |
693 |
if (geom1 instanceof BaseMultiPrimitive) {
|
|
704 |
if (geom1 instanceof MultiPrimitive) { |
|
694 | 705 |
geom = |
695 |
addVertexGC((BaseMultiPrimitive) geom1,
|
|
706 |
addVertexGC((MultiPrimitive) geom1, |
|
696 | 707 |
posVertex, rect); |
697 | 708 |
} else { |
698 | 709 |
geom = addVertex(geom1, posVertex, rect); |
Also available in: Unified diff