/** * Décrit le façon de dessiner l'élément sur la scène * * @brief Item_Tempo::paint(QPainter *pPainter, const QStyleOptionGraphicsItem * option, QWidget * widget) * @param pPainter le pinceau servant à dessiner sur la scène * @param option Option sur le dessin (pas utile dans notre cas) * @param widget Pointer vers le widget sur lequel l'item sera peint (pas utile dans notre cas) * @see Item */ void Item_Tempo::paint(QPainter *pPainter, const QStyleOptionGraphicsItem * /*option*/, QWidget * /*widget*/) { this->GererSelection(pPainter) ; this->sTexte = this->pInstRepresentee->toString() ; //Définition du dégradé qreal top (this->rect.top()) ; QPointF PremierPoint (0, top) ; QPointF SecondPoint (0, -top) ; QLinearGradient grad (PremierPoint, SecondPoint) ; QColor PremiereCouleur (0x5E, 0xC1, 0xFF, 0xFF) ; QColor SecondeCouleur (0x22, 0xAA, 0xFF, 0xFF) ; grad.setColorAt(0, PremiereCouleur) ; grad.setColorAt(1, SecondeCouleur) ; //Définition du brush QBrush brush(grad) ; pPainter->setBrush(brush) ; //Dessin de l'item qreal Rayon (-top) ; QPointF Centre (0, 0) ; QRectF RectTexte (top, top, -2*top, -2*top) ; pPainter->drawEllipse(Centre, Rayon, Rayon) ; pPainter->setPen(QPen()); pPainter->drawText(RectTexte, sTexte, QTextOption(Qt::AlignCenter)) ; }
Rayon CameraPinhole::genererRayon(int x, int y) const { // calcule la direction dans le repere monde Vecteur2 uv = imageVersEcran(x, y); Vecteur3 uvw = ecranVersCamera(uv); Vecteur3 direction = cameraVersMonde(uvw); direction.normer(); // retourne le rayon return Rayon(_position, direction); }
Rayon PointLumiere::getShadowRay(const vector3& pointIntersecte){ return Rayon(pointIntersecte,this->getIncidence(pointIntersecte)); }