Revision 38096

View differences:

branches/v2_0_0_prep/extensions/extEditing/pom.xml
17 17
-  Insert geometric elements (circle, rectangle, ellipse, etc.)
18 18
- Copy / move / rotate / scale graphic elements..
19 19
- Vertex editing
20
- Complex sellection based on different geometric criteria
21 20
- Undo / redo
22 21
- Command window
23 22
- Snapping
......
84 83
            <artifactId>org.gvsig.timesupport.lib.api</artifactId>
85 84
            <scope>compile</scope>
86 85
        </dependency>
87
        <!-- TODO: we shouldn't have the following implementation compile dependencies -->
88 86
        <dependency>
89 87
            <groupId>org.gvsig</groupId>
90 88
            <artifactId>org.gvsig.fmap.geometry</artifactId>
91
            <classifier>impl</classifier>
92
            <scope>compile</scope>
93
        </dependency>
94
        <dependency>
95
            <groupId>org.gvsig</groupId>
96
            <artifactId>org.gvsig.fmap.geometry</artifactId>
97 89
            <classifier>operation</classifier>
98 90
            <scope>compile</scope>
99 91
        </dependency>
branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/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);
branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/ExploitCADTool.java
25 25
import java.awt.geom.PathIterator;
26 26
import java.awt.geom.Point2D;
27 27

  
28
import com.vividsolutions.jts.geom.GeometryCollection;
29

  
30 28
import org.gvsig.andami.PluginServices;
31 29
import org.gvsig.andami.messages.NotificationManager;
32 30
import org.gvsig.editing.CADExtension;
......
42 40
import org.gvsig.fmap.dal.feature.FeatureSet;
43 41
import org.gvsig.fmap.dal.feature.FeatureStore;
44 42
import org.gvsig.fmap.geom.Geometry;
45
import org.gvsig.fmap.geom.aggregate.impl.BaseMultiPrimitive;
43
import org.gvsig.fmap.geom.aggregate.MultiPrimitive;
46 44
import org.gvsig.fmap.geom.primitive.GeneralPathX;
47 45
import org.gvsig.fmap.mapcontrol.MapControlDrawer;
48 46
import org.gvsig.tools.dispose.DisposableIterator;
49 47

  
48
//import com.vividsolutions.jts.geom.GeometryCollection;
49

  
50 50
/**
51 51
 * Elimina la geometr?a compuesta y a?ade todas la geometr?as simples que la
52 52
 * componen, implementado para polil?neas y pol?gonos.
......
169 169
                Feature feature = (Feature) iterator.next();
170 170
                Geometry geom = (feature.getDefaultGeometry()).cloneGeometry();
171 171
                featureStore.delete(feature);
172
                if (geom instanceof GeometryCollection) {
172
                if (geom instanceof MultiPrimitive) {
173 173
                    exploitGeometryCollection(feature, newSelection);
174 174
                } else {
175 175
                    if (geom.getType() == CURVE) {
......
196 196
    private void exploitGeometryCollection(Feature feature,
197 197
        FeatureSelection selectedRowAux) {
198 198
        Geometry geom = (feature.getDefaultGeometry()).cloneGeometry();
199
        BaseMultiPrimitive gc = (BaseMultiPrimitive) geom;
199
        MultiPrimitive gc = (MultiPrimitive) geom;
200 200
        int numGeoms = gc.getPrimitivesNumber();
201 201
        FeatureStore featureStore;
202 202
        try {

Also available in: Unified diff