Revision 38802 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/tools/AutoCompletePolygon.java

View differences:

AutoCompletePolygon.java
23 23

  
24 24
import org.gvsig.andami.PluginServices;
25 25
import org.gvsig.andami.messages.NotificationManager;
26
import org.gvsig.fmap.dal.exception.ReadException;
27 26
import org.gvsig.fmap.dal.feature.Feature;
28 27
import org.gvsig.fmap.dal.feature.FeatureSet;
29 28
import org.gvsig.fmap.geom.Geometry;
30 29
import org.gvsig.fmap.geom.exception.CreateGeometryException;
31
import org.gvsig.fmap.geom.operation.tojts.ToJTS;
32 30
import org.gvsig.fmap.geom.primitive.GeneralPathX;
33
import org.gvsig.fmap.geom.util.Converter;
34 31
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
35 32
import org.gvsig.fmap.mapcontrol.MapControlDrawer;
36 33
import org.gvsig.tools.dispose.DisposableIterator;
......
72 69

  
73 70
    private Geometry autoComplete(Geometry digitizedGeom)
74 71
        throws CreateGeometryException {
75
        com.vividsolutions.jts.geom.Geometry jtsGeom = null;
76 72
        FeatureSet selected = null;
77 73
        DisposableIterator iterator = null;
78 74
        try {
79
            jtsGeom =
80
                (com.vividsolutions.jts.geom.Geometry) digitizedGeom
81
                    .invokeOperation(ToJTS.CODE, null);
82 75
            FLyrVect lyrVect = (FLyrVect) getVLE().getLayer();
83 76
            // Se supone que debe ser r?pido, ya que est? indexado
84 77

  
85 78
            selected =
86 79
                lyrVect.queryByGeometry(digitizedGeom, lyrVect
87 80
                    .getFeatureStore().getDefaultFeatureType());
88
            iterator = selected.iterator();
81
            iterator = selected.fastIterator();
89 82
            while (iterator.hasNext()) {
90 83
                Feature feature = (Feature) iterator.next();
91 84
                Geometry aux = feature.getDefaultGeometry();
92
                com.vividsolutions.jts.geom.Geometry jtsAux =
93
                    (com.vividsolutions.jts.geom.Geometry) aux.invokeOperation(
94
                        ToJTS.CODE, null);
95
                jtsGeom = jtsGeom.difference(jtsAux);
85
                digitizedGeom = digitizedGeom.difference(aux);
96 86
            }
97
        } catch (ReadException e) {
98
            NotificationManager.showMessageError(
99
                PluginServices.getText(this,
100
                    "Error_in_Autocomplete_Polygon_Tool_")
101
                    + " "
102
                    + e.getLocalizedMessage(), e);
103
        } catch (com.vividsolutions.jts.geom.TopologyException e) {
104
            NotificationManager.showMessageError(
105
                PluginServices.getText(this,
106
                    "Error_in_Autocomplete_Polygon_Tool_")
107
                    + " "
108
                    + e.getLocalizedMessage(), e);
109 87
        } catch (Exception e) {
110 88
            NotificationManager.showMessageError(
111 89
                PluginServices.getText(this,
......
121 99
            }
122 100
        }
123 101

  
124
        return Converter.jtsToGeometry(jtsGeom);
102
        return digitizedGeom;
125 103
    }
126 104

  
127 105
    @Override

Also available in: Unified diff