void Circle::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { // draws/paints the path of circle QPen paintpen(Qt::black); paintpen.setWidth(1); painter->setRenderHint(QPainter::Antialiasing); if (isSelected()) { // sets brush for center point painter->setBrush(Qt::SolidPattern); paintpen.setColor(Qt::red); painter->setPen(paintpen); painter->drawEllipse(centerP, 2, 2); // sets pen for circumference paintpen.setStyle(Qt::DashLine); paintpen.setColor(Qt::black); painter->setBrush(Qt::NoBrush); painter->setPen(paintpen); painter->drawEllipse(centerP, radius, radius); } else { painter->setBrush(Qt::SolidPattern); paintpen.setColor(Qt::black); painter->setPen(paintpen); painter->drawEllipse(centerP, 2, 2); painter->setBrush(Qt::NoBrush); painter->drawEllipse(centerP, radius, radius); } }
void RRGViz::drawPathOnMap(QPixmap& map) { Path * p = m_PPInfo.mp_found_path; QPainter painter(&map); QPen paintpen(QColor(255,140,0)); paintpen.setWidth(2); painter.setPen(paintpen); int point_num = p->m_way_points.size(); if(point_num > 0) { for(int i=0;i<point_num-1;i++) { painter.drawLine( QPoint(p->m_way_points[i][0], p->m_way_points[i][1]), QPoint(p->m_way_points[i+1][0], p->m_way_points[i+1][1]) ); } } painter.end(); QPainter startPainter(&map); QPen paintpen1(QColor(255,0,0)); paintpen.setWidth(10); startPainter.setPen(paintpen1); startPainter.drawPoint( QPoint(p->m_way_points[0][0], p->m_way_points[0][1]) ); startPainter.end(); int lastIdx = p->m_way_points.size() - 1; QPainter endPainter(&map); QPen paintpen2(QColor(0,0,255)); paintpen.setWidth(10); endPainter.setPen(paintpen2); endPainter.drawPoint( QPoint(p->m_way_points[lastIdx][0], p->m_way_points[lastIdx][1]) ); endPainter.end(); }
void line:: paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ if(mPaintFlag){ QPen paintpen(Qt::red); paintpen.setWidth(4); QPen linepen(Qt::black); linepen.setWidth(1); QPoint p1; p1.setX(x1); p1.setY(y1); painter->setPen(paintpen); painter->drawPoint(p1); QPoint p2; p2.setX(x2); p2.setY(y2); painter->setPen(paintpen); painter->drawPoint(p2); painter->setPen(linepen); painter->drawLine(p1, p2); } }
void ellipse:: paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ QRectF rect = boundingRect(); QPen pen(Qt::black, 1); if(mPaintFlag){ QPen paintpen(Qt::red); paintpen.setWidth(1); QPen linepen(Qt::black); linepen.setWidth(1); QPoint p1; p1.setX(x1); p1.setY(y1); painter->setPen(paintpen); painter->drawPoint(p1); QPoint p2; p2.setX(x2); p2.setY(y2); painter->setPen(paintpen); painter->drawPoint(p2); painter->setPen(linepen); int x = 0 * 16; int y = 360 * 16; painter->drawArc(x1,y1,x2,y2,x,y); } }
void circle:: paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ setCursor(Qt::CrossCursor); if(mPaintFlag){ QPen paintpen(Qt::red); paintpen.setWidth(4); QPen linepen(Qt::black); linepen.setWidth(1); QPoint p1; p1.setX(x1); p1.setY(y1); painter->setPen(paintpen); painter->drawPoint(p1); QPoint p2; p2.setX(move_p.x()); p2.setY(move_p.y()); radius = qSqrt(qPow((p2.x()-x1), 2) + qPow((p2.y()-y1), 2)); painter->setPen(paintpen); painter->drawPoint(p2); painter->setPen(linepen); painter->drawEllipse(p1,radius,radius); } }
void ellipse:: paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){ QRectF rect = boundingRect(); if(mPaintFlag){ QPen paintpen(Qt::red); paintpen.setWidth(4); QPen linepen(Qt::black); linepen.setWidth(1); QPoint p1; p1.setX(x1); p1.setY(y1); painter->setPen(paintpen); painter->drawPoint(p1); QPoint p2; p2.setX(x2); p2.setY(y2); painter->setPen(paintpen); painter->drawPoint(p2); QPoint p3; p3.setX(x3); p3.setY(y3); painter->setPen(paintpen); painter->drawPoint(p3); majRadius = qSqrt(qPow((x2-x1), 2) + qPow((y2-y1), 2)); minRadius = qSqrt(qPow((x3-x1), 2) + qPow((y3-y1), 2)); painter->setPen(linepen); painter->drawEllipse(p1, majRadius, minRadius); } }
void Tak::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { //teken de lijn QPen paintpen(Qt::black); if (paintPurple) paintpen.setColor(Qt::magenta); else if (paintBlue) paintpen.setColor("cornflowerblue"); else if (paintRed) paintpen.setColor("orangered"); paintpen.setWidth(2); //de dikte van de pen is 2 paintpen.setStyle(Qt::SolidLine); painter->setPen(paintpen); //de pen waarmee getekend gaat worden is paintpen painter->setRenderHint(QPainter::Antialiasing); //er wordt AA gebruikt om de knoop mooier te maken painter->drawLine(sourcePoint, destPoint); //teken de zijkant van de pijl if (directed) { qreal arrowSize = 10; //grootte van de pijl double angle = ::acos(line.dx() / line.length()); if (line.dy() >= 0) angle = TwoPi - angle; QPointF destArrowP1 = destPoint + QPointF(sin(angle - Pi / 3) * arrowSize, //bereken de coordinaten cos(angle - Pi / 3) * arrowSize); QPointF destArrowP2 = destPoint + QPointF(sin(angle - Pi + Pi / 3) * arrowSize, cos(angle - Pi + Pi / 3) * arrowSize); if (paintBlue) painter->setBrush(Qt::blue); else if (paintPurple) painter->setBrush(Qt::magenta); else if (paintRed) painter->setBrush(Qt::red); else painter->setBrush(Qt::black); painter->drawPolygon(QPolygonF() << destPoint << destArrowP1 << destArrowP2); }//if }//paint
void RRGViz::paintEvent( QPaintEvent * e ) { QLabel::paintEvent(e); if(mp_tree) { QPainter painter(this); QPen paintpen(QColor(0,255,0)); paintpen.setWidth(1); painter.setPen(paintpen); for( std::list<RRGNode*>::iterator it= mp_tree->get_nodes().begin(); it!=mp_tree->get_nodes().end();it++ ) { RRGNode* p_node = (*it); if(p_node) { if(p_node->mp_parent) { painter.drawLine(QPoint(p_node->m_pos[0], p_node->m_pos[1]), QPoint(p_node->mp_parent->m_pos[0], p_node->mp_parent->m_pos[1])); } /* for(std::list<RRGNode*>::iterator itc= p_node->m_child_nodes.begin(); itc!=p_node->m_child_nodes.end();itc++) { RRGNode* p_child_node = (*itc); if(p_child_node) { painter.drawLine(QPoint(p_node->m_pos[0], p_node->m_pos[1]), QPoint(p_child_node->m_pos[0], p_child_node->m_pos[1])); } }*/ } } if(m_PPInfo.mp_found_path) { Path * p = m_PPInfo.mp_found_path; QPainter painter(this); QPen paintpen(QColor(255,140,0)); paintpen.setWidth(2); painter.setPen(paintpen); int point_num = p->m_way_points.size(); if(point_num > 0) { for(int i=0;i<point_num-1;i++) { painter.drawLine(QPoint(p->m_way_points[i][0], p->m_way_points[i][1]), QPoint(p->m_way_points[i+1][0], p->m_way_points[i+1][1])); } } } } if(m_PPInfo.m_start.x() >= 0 && m_PPInfo.m_start.y() >= 0) { QPainter painter(this); QPen paintpen(QColor(255,0,0)); paintpen.setWidth(10); painter.setPen(paintpen); painter.drawPoint(m_PPInfo.m_start); } if(m_PPInfo.m_goal.x() >= 0 && m_PPInfo.m_goal.y() >= 0) { QPainter painter(this); QPen paintpen(QColor(0,0,255)); paintpen.setWidth(10); painter.setPen(paintpen); painter.drawPoint(m_PPInfo.m_goal); } }