From: <emm...@us...> - 2008-11-07 15:56:09
|
Revision: 4195 http://fudaa.svn.sourceforge.net/fudaa/?rev=4195&view=rev Author: emmanuel_martin Date: 2008-11-07 15:55:59 +0000 (Fri, 07 Nov 2008) Log Message: ----------- BugFix : Plantage lorsque l'on d?\195?\169place une g?\195?\169om?\195?\169trie ayant moins de 3 points dans un calque n'acceptant que les polygones. 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-07 15:12:28 UTC (rev 4194) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-07 15:55:59 UTC (rev 4195) @@ -144,16 +144,23 @@ final CtuluCommandComposite cmp = new CtuluCommandComposite(FudaaLib.getS("D\xE9placer dans calque cible")); - // Controle qu'une bloc n'est pas constitu\xE9 que d'un point => Message d'erreur. - if (mdldest instanceof MdlModel2dLine) { + // Controle sur le nombre de point minimum + ZCalqueEditable calque=(ZCalqueEditable)getScene().getCalqueActif(); + if(calque.canAddForme(DeForme.POLYGONE)&&!calque.canAddForme(DeForme.LIGNE_BRISEE)) for (Geometry g : geoms) { + if (g.getNumPoints()<3) { + ui_.error(FudaaLib.getS("Vous ne pouvez pas d\xE9placer ces g\xE9om\xE9tries.\nUne au moins est constitu\xE9e de moins de 3 points.")); + return; + } + } + else if(calque.canAddForme(DeForme.LIGNE_BRISEE)) + for (Geometry g : geoms) { if (g.getNumPoints()<2) { - ui_.error(FudaaLib.getS("Vous ne pouvez pas d\xE9placer ces g\xE9om\xE9tries.\nUne au moins n'est constitu\xE9e que d'un point!")); + ui_.error(FudaaLib.getS("Vous ne pouvez pas d\xE9placer ces g\xE9om\xE9tries.\nUne au moins est constitu\xE9e de moins de 2 points.")); return; } } - } - + // Ajout des nouveaux objets. for (int i=0; i<idxGeom.length; i++) { @@ -249,7 +256,6 @@ 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 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |