//-------------------------------------------------------------------------------------------------- void repere::DrawBox(interval X, interval Y, QPen pen1, QBrush brush1) { QPolygonF box1; box1 << QPointF(xToPix(X.inf),yToPix(Y.inf))<< QPointF(xToPix(X.sup),yToPix(Y.inf)) << QPointF(xToPix(X.sup),yToPix(Y.sup))<< QPointF(xToPix(X.inf),yToPix(Y.sup)); QGraphicsPolygonItem *P; P=Scene->addPolygon(box1,pen1,brush1); }
void mSimpleDrawer::DrawLine(double x1, double y1, double x2, double y2, QPen pen) { QPainter p(pixMap); p.setPen(pen); p.drawLine(xToPix(x1),yToPix(y1),xToPix(x2),yToPix(y2)); }
void repere::desenhaLandmarks(vector<pose> landmarks){ for(int i=0;i<landmarks.size();i++){ QPolygonF L; double t=0.1; L << QPointF(xToPix(landmarks[i].x-t),yToPix(landmarks[i].y-t))<< QPointF(xToPix(landmarks[i].x+t),yToPix(landmarks[i].y-t)) << QPointF(xToPix(landmarks[i].x+t),yToPix(landmarks[i].y+t))<< QPointF(xToPix(landmarks[i].x-t),yToPix(landmarks[i].y+t)); Scene->addPolygon(L,QPen(Qt::darkGreen),QBrush(Qt::darkGreen)); } }
void mSimpleDrawer::DrawEllipse(double cx, double cy, double r, QPen pen, QBrush brush) { QPainter p(pixMap); p.setPen(pen); p.setBrush(brush); p.drawEllipse(xToPix(cx-r),yToPix(cy+r), xToPix(cx+r)-xToPix(cx-r),yToPix(cy-r)-yToPix(cy+r)); }
void mSimpleDrawer::DrawBox(double xmin, double xmax, double ymin, double ymax, QPen pen, QBrush brush) { QPolygonF box; box << QPointF(xToPix(xmin),yToPix(ymin)) << QPointF(xToPix(xmax),yToPix(ymin)) << QPointF(xToPix(xmax),yToPix(ymax)) << QPointF(xToPix(xmin),yToPix(ymax)); QPainter p(pixMap); p.setPen(pen); p.setBrush(brush); p.drawPolygon(box); }
void mSimpleDrawer::DrawText(double x, double y, QString s, QColor col) { QPainter p(pixMap); p.setPen(QPen(col)); p.setFont(QFont("Arial")); p.drawText((int)xToPix(x),(int)yToPix(y),s); }
//-------------------------------------------------------------------------------------------------- void repere::DrawPolygone(double x,double y,double theta,vector<double> X, vector<double> Y, QPen pen1, QBrush brush1) { QPolygonF poly1; for (int k=0;k<X.size();k++) { double x1=x+cos(theta)*X[k]-sin(theta)*Y[k]; double y1=y+sin(theta)*X[k]+cos(theta)*Y[k]; poly1 << QPointF(xToPix(x1),yToPix(y1)); } QGraphicsPolygonItem *P; P=Scene->addPolygon(poly1,pen1,brush1); }
void mSimpleDrawer::DrawPolygon(double x, double y, double theta, vector<double> X, vector<double> Y, QPen pen, QBrush brush) { QPolygonF poly; for (int k=0;k<X.size();k++) { double x1=x+cos(theta)*X[k]-sin(theta)*Y[k]; double y1=y+sin(theta)*X[k]+cos(theta)*Y[k]; poly << QPointF(xToPix(x1),yToPix(y1)); } QPainter p(pixMap); p.setPen(pen); p.setBrush(brush); p.drawPolygon(poly); }
void mSimpleDrawer::DrawArrow(double x, double y, double dx, double dy, double r, QPen pen) { double x2=x+dx; double y2=y+dy; double a=3.14-1.0; double px=x2+r*(cos(a)*dx-sin(a)*dy); // cot de pointe double py=y2+r*(sin(a)*dx+cos(a)*dy); double qx=x2+r*(cos(-a)*dx-sin(-a)*dy); // autre cot de pointe double qy=y2+r*(sin(-a)*dx+cos(-a)*dy); QPainter p(pixMap); p.setPen(pen); p.drawLine(xToPix(x),yToPix(y),xToPix(x2),yToPix(y2)); p.drawLine(xToPix(x2),yToPix(y2),xToPix(px),yToPix(py)); p.drawLine(xToPix(x2),yToPix(y2),xToPix(qx),yToPix(qy)); }
//-------------------------------------------------------------------------------------------------- void repere::DrawEllipse(double cx, double cy, double r, QPen pen1, QBrush brush1) { Scene->addEllipse(xToPix(cx-r),yToPix(cy+r),xToPix(cx+r)-xToPix(cx-r),yToPix(cy-r)-yToPix(cy+r),pen1,brush1); }