Mise en place du nouveau systeme de gestion de la rotation des elements - attention : changements dans l'interpretation de certains attributs des fichiers XML => les "sens" des elements sont desormais un chiffre : 0 = nord, 1 = est, 2 = sud, 3 = ouest

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@15 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2006-11-09 19:19:51 +00:00
parent c51ca764dd
commit ddf173b47b
9 changed files with 102 additions and 34 deletions

View File

@@ -92,17 +92,16 @@ Borne::~Borne() {
Borne::Orientation Borne::orientation() const {
//true pour une orientation verticale, false pour une orientation horizontale
if (Element *elt = qgraphicsitem_cast<Element *>(parentItem())) {
if (elt -> orientation()) return(sens);
// orientations actuelle et par defaut de l'element
Borne::Orientation ori_cur = elt -> orientation();
Borne::Orientation ori_def = elt -> defaultOrientation();
if (ori_cur == ori_def) return(sens);
else {
Borne::Orientation retour;
switch(sens) {
case Borne::Nord : retour = Borne::Ouest; break;
case Borne::Est : retour = Borne::Nord; break;
case Borne::Ouest : retour = Borne::Sud; break;
case Borne::Sud :
default : retour = Borne::Est;
}
return(retour);
/* calcul l'angle de rotation implique par l'orientation de l'element parent */
// angle de rotation de la borne sur la scene, divise par 90
int angle = ori_cur - ori_def + sens;
while (angle >= 4) angle -= 4;
return((Borne::Orientation)angle);
}
} else return(sens);
}