From: <emm...@us...> - 2008-11-03 14:29:33
|
Revision: 4154 http://fudaa.svn.sourceforge.net/fudaa/?rev=4154&view=rev Author: emmanuel_martin Date: 2008-11-03 14:29:31 +0000 (Mon, 03 Nov 2008) Log Message: ----------- tache #29 : "Le d?\195?\169placement vers un calque cible d'une g?\195?\169om?\195?\169trie n'oblige pas ?\195?\160 respecter le caract?\195?\168re ouvert/ferm?\195?\169." Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 13:56:37 UTC (rev 4153) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 14:29:31 UTC (rev 4154) @@ -18,7 +18,6 @@ import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JPanel; -import javax.swing.border.Border; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluListSelection; @@ -29,6 +28,7 @@ import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISMultiPoint; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; @@ -42,6 +42,8 @@ import org.fudaa.ebli.calque.ZModeleDonnees; import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.dessin.DeForme; +import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.calque.edition.ZSceneEditor; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.layer.MdlModel2dLine; @@ -139,7 +141,7 @@ geoms[i]=(Geometry)getScene().getObject(idxGeom[i]); } - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite(FudaaLib.getS("D\xE9placement de g\xE9om\xE9tries")); // Controle qu'une bloc n'est pas constitu\xE9 que d'un point => Message d'erreur. if (mdldest instanceof MdlModel2dLine) { @@ -236,7 +238,14 @@ coldest.addGeometry(gn,datadest,cmp); } else if (mdldest instanceof MdlModel2dLine) { - Geometry gn=GISGeometryFactory.INSTANCE.createLineString(geoms[i].getCoordinates()); + Geometry gn; + CoordinateSequence coordSeq=((GISCoordinateSequenceContainerInterface) geoms[i]).getCoordinateSequence(); + boolean isFerme=coordSeq.getCoordinate(0).equals(coordSeq.getCoordinate(coordSeq.size()-1)); + ZCalqueEditable calque=(ZCalqueEditable)getScene().getCalqueActif(); + if((calque.canAddForme(DeForme.LIGNE_BRISEE)&&!isFerme)||!calque.canAddForme(DeForme.POLYGONE)) + gn=GISLib.toPolyligne(coordSeq); + else + gn=GISLib.toPolygone(coordSeq); coldest.addGeometry(gn,datadest,cmp); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |