/* * (non-Javadoc) * * @see * com.iver.cit.gvsig.fmap.tools.Listeners.PolylineListener#polylineFinished * (com.iver.cit.gvsig.fmap.tools.Events.MeasureEvent) */ public void polylineFinished(MeasureEvent event) throws BehaviorException { try { GeneralPathX gp = event.getGP(); IGeometry geom = ShapeFactory.createPolyline2D(gp); FLayer[] actives = mapCtrl.getMapContext().getLayers().getActives(); for (int i = 0; i < actives.length; i++) { if (actives[i] instanceof FLyrVect) { FLyrVect lyrVect = (FLyrVect) actives[i]; FBitSet oldBitSet = lyrVect.getSource().getRecordset().getSelection(); FBitSet newBitSet = lyrVect.queryByShape(geom, DefaultStrategy.INTERSECTS); if (event.getEvent().isControlDown()) newBitSet.xor(oldBitSet); lyrVect.getRecordset().setSelection(newBitSet); } } } catch (com.vividsolutions.jts.geom.TopologyException topEx) { NotificationManager.showMessageError( PluginServices.getText( null, "Failed_selecting_geometries_by_polyline_topology_exception_explanation"), topEx); } catch (Exception ex) { NotificationManager.showMessageError( PluginServices.getText(null, "Failed_selecting_geometries"), ex); } }