From: <emm...@us...> - 2008-11-20 09:16:43
|
Revision: 4226 http://fudaa.svn.sourceforge.net/fudaa/?rev=4226&view=rev Author: emmanuel_martin Date: 2008-11-20 09:16:37 +0000 (Thu, 20 Nov 2008) Log Message: ----------- am?\195?\169lioration tache #88 Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-11-19 09:52:12 UTC (rev 4225) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-11-20 09:16:37 UTC (rev 4226) @@ -609,8 +609,29 @@ ptOrig.autoApplique(versEcran); ptDest.autoApplique(versEcran); // Dessin de la fleche - if(showLineOrientation_) - tl.dessineFleche(_g, (int)ptOrig.x_, (int)ptOrig.y_, (int)ptDest.x_, (int)ptDest.y_, 11, 5); + if(showLineOrientation_){ + // La point de la fleche doit petre LISSE \\ + // Calcule du vecteur entre les deux points + double vecX=ptDest.x_-ptOrig.x_; + double vecY=ptDest.y_-ptOrig.y_; + // Normalisation et rectification de l'erreur d'arrondi. Puissance et + // racine carr\xE9 entrainent des erreurs d'arrondis visible, donc + // inutilisables. + while(vecX>10||vecY>10||vecX<-10||vecY<-10){ + vecX=vecX/2; + vecY=vecY/2; + } + // Cr\xE9ation d'un point interm\xE9diare + double ptInterX=ptDest.x_-vecX; + double ptInterY=ptDest.y_-vecY; + // La barre de la fleche est normale + tl.dessineTrait(_g, ptOrig.x_, ptOrig.y_, ptInterX, ptInterY); + // La point est lisse + int typeTrait=tl.getTypeTrait(); + tl.setTypeTrait(TraceLigne.LISSE); + tl.dessineFleche(_g, (int)ptInterX, (int)ptInterY, (int)ptDest.x_, (int)ptDest.y_, 11, 5); + tl.setTypeTrait(typeTrait); + } else tl.dessineTrait(_g, ptOrig.x_, ptOrig.y_, ptDest.x_, ptDest.y_); // Dessin du reste de la ligne This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |