Revision 38096 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/EditVertexCADTool.java

View differences:

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