Exemple #1
0
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);
    }
}
Exemple #2
0
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();


}
Exemple #3
0
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);
    }
}
Exemple #4
0
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);
    }

}
Exemple #5
0
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);
    }
}
Exemple #6
0
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);
    }
}
Exemple #7
0
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
Exemple #8
0
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);
    }
}