From: <emm...@us...> - 2008-12-04 09:55:18
|
Revision: 4265 http://fudaa.svn.sourceforge.net/fudaa/?rev=4265&view=rev Author: emmanuel_martin Date: 2008-12-04 09:55:13 +0000 (Thu, 04 Dec 2008) Log Message: ----------- bugfix : divers bug concernant la selection , la destruction et le d?\195?\169placement en mode point. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-12-03 15:00:00 UTC (rev 4264) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-12-04 09:55:13 UTC (rev 4265) @@ -254,8 +254,8 @@ } // les nouvelles coordonnees. final Coordinate[] newCs = new Coordinate[nbPt-nbSel]; - // cette liste contient les indice a enlever : creee que si necessaire - // si des attribute atomics existent + // cette liste contient les indices a enlever : creee que si necessaire + // si des attributes atomics existent final TIntArrayList idxToRemove = containsAtomicAttribute() ? new TIntArrayList(nbPt-nbSel) : null; // compteur tempo Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-12-03 15:00:00 UTC (rev 4264) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-12-04 09:55:13 UTC (rev 4265) @@ -132,6 +132,7 @@ //les points a enlever final CtuluListSelectionInterface sel = (CtuluListSelectionInterface) iterator.value(); geometries_.removeAtomics(idxLigne, sel, _ui, cmp); + sel.clear(); } if (_cmd != null) { _cmd.addCmd(cmp.getSimplify()); @@ -580,14 +581,8 @@ FuLog.warning("EBL:Pb l'attribut pour Z n'est pas dans la liste des attributs du calque!"); } - if (isGeometryFermee(i)) { - final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); - geometries_.setGeometry(i, poly, cmp); - } - else { - final GISPolyligne poly = (GISPolyligne) GISGeometryFactory.INSTANCE.createLineString(newSeq); - geometries_.setGeometry(i, poly, cmp); - } + final Geometry poly = GISGeometryFactory.INSTANCE.createGeometry(geometries_.getGeometry(i).getClass(), newSeq); + geometries_.setGeometry(i, poly, cmp); } } if (_cmd != null) { @@ -653,26 +648,13 @@ } } - if (isGeometryFermee(idx)) { - final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); - if (!poly.isValid()) { - if (_ui != null) { - _ui.error(null,EbliLib.getS("La nouvelle ligne n'est pas valide"), false); - } - return false; - } - geometries_.setGeometry(idx, poly, cmp); + final Geometry poly = GISGeometryFactory.INSTANCE.createGeometry(geometries_.getGeometry(idx).getClass(), newSeq); + if (!poly.isValid()) { + if (_ui != null) + _ui.error(null,EbliLib.getS("La nouvelle ligne n'est pas valide"), false); + return false; } - else { - final GISPolyligne poly = (GISPolyligne) GISGeometryFactory.INSTANCE.createLineString(newSeq); - if (!poly.isValid()) { - if (_ui != null) { - _ui.error(null,EbliLib.getS("La nouvelle ligne n'est pas valide"), false); - } - return false; - } - geometries_.setGeometry(idx, poly, cmp); - } + geometries_.setGeometry(idx, poly, cmp); if (newvals!=null) getGeomData().getModel(zAtt).setObject(idx, newvals, cmp); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-12-03 15:00:00 UTC (rev 4264) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneAbscisseCurviligneAction.java 2008-12-04 09:55:13 UTC (rev 4265) @@ -135,7 +135,7 @@ * est activable et un ref\xE9rence sur cette g\xE9om\xE9trie est concerv\xE9e dans * 'selectedGeometry_'. */ - if (scene_.isOnlyOneObjectSelected()) { + if (scene_.isOnlyOneObjectSelected()&&scene_.sceneId2LayerId(scene_.getSelectionHelper().getUniqueSelectedIdx())!=-1) { int idxGeom=scene_.getSelectionHelper().getUniqueSelectedIdx(); ZCalqueAffichageDonneesInterface calque=scene_.getLayerForId(idxGeom); Geometry geom=((ZModeleGeometry)calque.modeleDonnees()).getGeomData().getGeometry(scene_.sceneId2LayerId(idxGeom)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |