Beispiel #1
0
/**
 * 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)) ;
}
Beispiel #2
0
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);
}
Beispiel #3
0
Rayon PointLumiere::getShadowRay(const vector3& pointIntersecte){
	return Rayon(pointIntersecte,this->getIncidence(pointIntersecte));
}