Le mercredi 21 juin 2006 à 21:32 +0200, Gaetan Le Brun a écrit :
Bonjour,
Tout d'abord bravo pour DrGeoII, ce logiciel est vraiment génial.
J'ai découvert une erreur lorsque je m'amusais avec. Elle survient lorsque je joue le scénario suivant : Je dessine un triangle puis j'affiche la valeur d'un angle. J'utilise la fonction "coller à la grille" Je sélectionne un point de l'angle et je le déplace de manière à le positionner sur la grille.
L'erreur suivante apparaît alors :
MessageNotUnderstood: SmallInteger>>arcTan2:
updateArcData |end parents | parents := mathItem parents. center := parents second point. vector1 := parents first point - center. vector2 := parents third point - center. (vector1 = ( 0@0) or: [vector2 = (0@0)]) ifTrue: [^self]. origin := vector1 y arcTan2: vector1 x. -->end := vector2 y arcTan2: vector2 x.
Oui, un: end := vector2 y asFloat arcTan2: vector2 x.
permet de résoudre ce problème. Il faut le faire dans toute les méthodes utilisant la méthode arcTan2:. Ce qui prend une minute à faire grâce à l'environnement. D'ailleurs tu peux modifier le code comme ci-dessus alors que ta figure provocante le bug est encore ouverte, le problème est résolu in-situ! Pas besoin de redémarrer une figure, refaire la figure provocant l'erreur.... Que de temps gagné !
J'ai fait un commit dans Monticello
Hilaire
origin < 0 ifTrue: [origin := origin + DrGDirectionItem twoPi]. end < 0 ifTrue: [end := end + DrGDirectionItem twoPi]. length := (end - origin) cos arcCos. (end - origin > Float pi or: [end - origin < 0 and: [end - origin > Float pi
negated]]) ifTrue: [length := length negated].
Lorsque je déselectionne "coller à la grille" et que je déplace le même point, l'erreur n'apparaît pas.
Cordialement, Gaëtan
--
Gaëtan Le Brun 4 avenue Pierre Donzelot 35000 Rennes
Email : gaetan.lebrun@gmail.com Cell : +33 685 226294
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr