1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
//Rotation principale
dessin.translate(x,y);
dessin.rotate(rotation);
dessin.translate(-x,-y);
//Dessin de la tige avec pointe
double teta = angleEcartement(ecartement, hauteurBranche+hauteurPointe); //Angle entre la droite coupant le compas en deux et la branche
dessin.save();
//Rotation de la tige
dessin.translate(x,y);
dessin.rotate(-teta);
dessin.translate(-x,-y);
//Dessin
dessin.setPen(Qt::black);
QPointF pointe[3] = {QPointF(x,y), QPointF(x, y+hauteurPointe), QPointF(x-largeurBranche, y+hauteurPointe)}; //Points de la pointe
dessin.drawConvexPolygon(pointe, 3); //Dessin de la pointe
dessin.setBrush(Qt::gray);
dessin.drawRect(x-largeurBranche, y+hauteurPointe, largeurBranche, hauteurBranche); //Branche avec pointe
dessin.restore();
//Dessin de la tige avec mine
dessin.save();
//Rotation de la tige
dessin.translate(x,y);
dessin.rotate(teta);
dessin.translate(-x,-y);
//Dessin
dessin.setBrush(Qt::black);
QPointF mine[3] = {QPointF(x+ecartement,y), QPointF(x+ecartement, y+hauteurPointe), QPointF(x+largeurBranche+ecartement, y+hauteurPointe)}; //Points de la mine
dessin.drawConvexPolygon(mine, 3); //Dessin de la mine
dessin.setBrush(Qt::gray);
dessin.drawRect(x+ecartement, y+hauteurPointe, largeurBranche, hauteurBranche); //Branche avec mine
dessin.restore(); |