mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 13:30:34 +01:00
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:
19
borne.cpp
19
borne.cpp
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user