void Visualiseur::miseAJourGraphique()
{
    scene->clear();



    QPolygonF Polygone ;
    if(afficherTriangulation){
        for (int i=0 ; i < triangles.size() ; i++ ){
            triangles[i].transformerEnPolygone(Polygone , points);
            scene->addPolygon(Polygone , QPen(Qt::blue , 1 )) ;
        }
    }

    if(afficherCentres){
        for (int i=0 ; i < triangles.size() ; i++ ){
            QGraphicsTextItem* texte = new QGraphicsTextItem();
            texte->scale(1 , -1 );
            texte->setPlainText(QString::number(i));
            texte->setPos(triangles[i].centroide.x()-1 , triangles[i].centroide.y() - 1);
            scene->addItem(texte);
        }
    }

    if(afficherSommets){
        for (int i=0 ; i < points.size() ; i++ ){
            QGraphicsTextItem* texte = new QGraphicsTextItem();
            texte->scale(1 , -1 );
            texte->setPlainText(QString::number(i));
            texte->setDefaultTextColor(Qt::red);
            texte->setPos(points[i].x()-1 , points[i].y() - 1);
            scene->addItem(texte);
        }
    }

    if (afficherCercle){
        int id_triangle = fonctionsCommunes::Walk(curseur , points , triangles ) ;
        scene->addEllipse(triangles[id_triangle].centre[0] -triangles[id_triangle].R ,
                          triangles[id_triangle].centre[1] -triangles[id_triangle].R ,
                          2*triangles[id_triangle].R , 2*triangles[id_triangle].R , QPen(Qt::gray)) ;

    }

    if (afficherWalk && (!trajectoireWalk.isEmpty()) && (triangleUniversel.inTriangle(curseur , points ))){
        for (int i=0 ; i< trajectoireWalk.size() ; i ++ ){
            QPolygonF P ;
            triangles[trajectoireWalk[i]].transformerEnPolygone(P , points );

            scene->addPolygon(P , QPen(Qt::black) , QBrush(QColor(0, 0,200, 30))) ;

        }
    }

    if (afficherVoronoi && (triangles.size()> 1 )){
        Voronoi.clear();
        fonctionsCommunes::Voronoi( Voronoi , triangles ) ;
        for (int i = 0 ; i < Voronoi.size() ; i ++ ){
            scene->addLine(Voronoi[i] , QPen(Qt::red)) ;
        }
    }

    if (afficherPlusProcheVoisin){
        fonctionsCommunes::PlusProcheVoisin( curseur , triangles , points , procheVoisin  ) ;
        scene->addEllipse(procheVoisin.x() - 4 , procheVoisin.y() - 4 , 8 , 8 , QPen(Qt::red , 6)) ;
    }



}
Example #2
0
void TXaxis::setAnswersForBarChart(QList<TgroupedQAunit>& listOfLists) {
    setLength(m_qWidth * (listOfLists.size() + 1));
    update(boundingRect());
    m_ticTips.clear();
    for (int i = 0; i < listOfLists.size(); i++) {
        QGraphicsTextItem *ticTip = new QGraphicsTextItem();
        ticTip->setHtml(listOfLists[i].description());
        TgraphicsTextTip::alignCenter(ticTip);
        if ((ticTip->boundingRect().width() * scale()) > m_qWidth)
            ticTip->setScale(((qreal)m_qWidth * scale()) / ticTip->boundingRect().width());
        scene()->addItem(ticTip);
        ticTip->setPos(pos().x() + mapValue(i + 1) - (ticTip->boundingRect().width() * ticTip->scale()) / 2 , pos().y() + 15);
        m_ticTips << ticTip;
    }
}