===== QPolygon ===== La classe QPolygon fournit un vecteur de points utilisant une précision entière. [[#Description détaillée|Plus d'informations...]] ==== Héritage ==== Hérite de [[qvector|QVector<]][[QPoint]][[qvector|>]]. Hérité par [[Q3PointArray]]. ==== Description détaillée ==== La classe QPolygon fournit un vecteur de points utilisant une précision entière. Un objet QPolygon est un [[QVector]]<[[QPoint]]>. La façon la plus simple pour ajouter des points à un QPolygon est d'utiliser l'opérateur de flux de [[QVector]], comme illustré ci-dessous : QPolygon polygone; polygone << QPoint(10, 20) << QPoint(20, 30); En plus des fonctions fournies par [[QVector]], QPolygon fournit certaines fonctions spécifiques aux points. Chaque point dans un polygone peut être récupéré en passant son index à la fonction [[#point()]]. Pour remplir le polygone, QPolygon fournit la fonction [[#setPoint()]] pour définir un point à un index donné, la fonction [[#setPoints()]] pour définir tous les points du polygone (en le redimensionnant au nombre de points donnés) et la fonction [[#putPoints()]] qui copie un certain nombre de points donnés dans le polygone à partir d'un index spécifié (en redimensionnant le polygone si nécessaire). QPolygon fournit les fonctions [[#boundingRect()]] et [[#translate()]] comme fonctions géométriques. Utilisez la fonction [[qmatrix#map|QMatrix::map()]] pour des transformations plus générales d'objets QPolygon. La classe QPolygon est [[implicit-sharing#implicit-data-sharing|implicitement partagée]]. Voir aussi [[QVector]], [[QPolygonF]] et [[QLine]]. ==== Fonctions membres ==== === QPolygon() === ''QPolygon::QPolygon ()'' Construit un polygone sans points. Voir aussi [[qvector#isEmpty|QVector::isEmpty()]]. === QPolygon() === ''QPolygon::QPolygon ( int size )'' Construit un polygone avec la taille ''size'' donnée. Crée un polygone vide si ''size == 0''. Voir aussi [[qvector#isEmpty|QVector::isEmpty()]]. === QPolygon() === ''QPolygon::QPolygon ( const QPolygon & polygon )'' Construit une copie du polygone ''polygon'' donné. Voir aussi [[#setPoints()]]. === QPolygon() === ''QPolygon::QPolygon ( const [[QVector]]<[[QPoint]]> & points )'' Construit un polygone avec les ''points'' spécifiés. Voir aussi [[#setPoints()]]. === QPolygon() === ''QPolygon::QPolygon ( const [[QRect]] & rectangle, bool closed = false )'' Construit un polygone à partir du ''rectangle'' donné. Si ''closed'' est ''false'', le polygone ne contient que les quatre points du rectangle classés dans le sens horaire, sinon le cinquième point du polygone est défini à ''rectangle.[[QRect#topLeft()|topLeft()]]''. Notez que le coin inférieur droit du rectangle est situé à ''(rectangle.[[QRect#x()|x()]] + rectangle.[[QRect#width()|width()]], rectangle.[[QRect#y()|y()]] + rectangle.[[QRect#height()|height()]])''. Voir aussi [[#setPoints()]]. === ~QPolygon() === ''QPolygon::~QPolygon ()'' Détruit le polygone. === boundingRect() === ''[[QRect]] QPolygon::boundingRect () const'' Retourne le rectangle englobant le polygone, ou [[QRect]](0, 0, 0, 0) si le polygone est vide. Voir aussi [[qvector#isEmpty|QVector::isEmpty()]]. === containsPoint() === ''bool QPolygon::containsPoint ( const QPoint & point, [[qt#FillRule-enum|Qt::FillRule]] fillRule ) const'' Retourne ''true'' si le ''point'' donné est à l'intérieur du polygone selon la règle de remplissage ''FillRule'' spécifiée ; sinon retourne ''false''. Cette fonction a été introduite dans Qt 4.3. === intersected() === ''QPolygon QPolygon::intersected ( const QPolygon & r ) const'' Retourne un polygone qui est l'intersection entre celui-ci et le polygone ''r''. Définir des opérations sur des polygones permettra de traiter les polygones comme des surfaces. Les polygones non fermés seront traités comme implicitement fermés. Cette fonction a été introduite dans Qt 4.3. === point() === ''void QPolygon::point ( int index, int * x, int * y ) const'' Extrait les coordonnées du point situé à l'''index'' donné à ''x'' et ''y '' (si les pointeurs sont valides). Voir aussi [[#setPoint()]]. === point() === ''QPoint QPolygon::point ( int index ) const'' Il s'agit d'une fonction surchargée. Retourne le point situé à l'''index'' donné. === putPoints() === ''void QPolygon::putPoints ( int index, int nPoints, int firstx, int firsty, ... )'' Copie ''nPoints'' points à partir de la liste variable d'arguments dans ce polygone à partir de l'''index'' donné. Les points sont donnés comme une séquence de nombres entiers, en commençant par ''firstx'' puis ''firsty'' et ainsi de suite. Le polygone est automatiquement redimensionné si ''index+nPoints'' dépasse sa taille actuelle. L'exemple de code crée un polygone à trois points (4,5), (6,7) et (8,9), en élargissant le polygone de 1 à 3 points : QPolygon polygone(1); polygone[0] = QPoint(4, 5); polygone.putPoints(1, 2, 6,7, 8,9); Le code suivant a le même résultat mais, ici, la fonction [[#putPoints()]] écrase plutôt que d'étendre le polygone : QPolygon polygone(3); polygone.putPoints(0, 3, 4,5, 0,0, 8,9); polygone.putPoints(1, 1, 6,7); Voir aussi [[#setPoints()]]. === putPoints() === ''void QPolygon::putPoints ( int index, int nPoints, const QPolygon & fromPolygon, int fromIndex = 0 )'' Il s'agit d'une fonction surchargée. Copie ''nPoints'' points à partir de l'index ''fromIndex'' (0 par défaut) du polygone ''fromPolygon'' dans ce polygone, commençant à l'''index'' spécifié. Par exemple : QPolygon polygone1; polygone1.putPoints(0, 3, 1,2, 0,0, 5,6); // polygone1 est maintenant le polygone de trois points (1,2, 0,0, 5,6) QPolygon polygone2; polygone2.putPoints(0, 3, 4,4, 5,5, 6,6); // polygone2 est maintenant (4,4, 5,5, 6,6) polygone1.putPoints(2, 3, polygone2); // polygone1 est maintenant le polygone de cinq points (1,2, 0,0, 4,4, 5,5, 6,6) === setPoint() === ''void QPolygon::setPoint ( int index, int x, int y )'' Définit le point situé à l'''index'' donné au point spécifié par (''x'', ''y''). Voir aussi [[#point()]], [[#putPoints()]] et [[#setPoints()]]. === setPoint() === ''void QPolygon::setPoint ( int index, const [[QPoint]] & point )'' Il s'agit d'une fonction surchargée. Définit le point situé à l'''index'' donné au ''point'' donné. === setPoints() === ''void QPolygon::setPoints ( int nPoints, const int * points )'' Redimensionne le polygone à ''nPoints'' et le remplit avec les ''points'' donnés. Cet exemple de code crée un polygone avec deux points (10, 20) et (30, 40) : static const int points[] = { 10, 20, 30, 40 }; QPolygon polygone; polygone.setPoints(2, points); Voir aussi [[#setPoint()]] et [[#putPoints()]]. === setPoints() === ''void QPolygon::setPoints ( int nPoints, int firstx, int firsty, ... )'' Il s'agit d'une fonction surchargée. Redimensionne le polygone à ''nPoints'' et le remplit avec les ''points'' spécifiés par la liste variable d'arguments. Les points sont donnés comme une séquence de nombres entiers, en commençant par ''firstx'' puis ''firsty'' et ainsi de suite. Cet exemple de code crée un polygone avec deux points (10, 20) et (30, 40) : QPolygon polygone; polygone.setPoints(2, 10, 20, 30, 40); === subtracted() === ''QPolygon QPolygon::subtracted ( const QPolygon & r ) const'' Retourne un polygone qui est celui-ci moins le polygone ''r''. Définir des opérations sur des polygones permettra de traiter les polygones comme des surfaces. Les polygones non fermés seront traités comme implicitement fermés. Cette fonction a été introduite dans Qt 4.3. === translate() === ''void QPolygon::translate ( int dx, int dy )'' Translate tous les points du polygone par (''dx'', ''dy''). Voir aussi [[#translated()]]. === translate() === ''void QPolygon::translate ( const [[QPoint]] & offset )'' Il s'agit d'une fonction surchargée. Translate tous les points du polygone par le décalage ''offset'' donné. Voir aussi [[#translated()]]. === translated() === ''QPolygon QPolygon::translated ( int dx, int dy ) const'' Retourne une copie du polygone qui est translaté par (''dx'', ''dy''). Cette fonction a été introduite dans Qt 4.6. Voir aussi [[#translate()]]. === translated() === ''QPolygon QPolygon::translated ( const [[QPoint]] & offset ) const'' Il s'agit d'une fonction surchargée. Retourne une copie du polygone qui est translaté par le décalage ''offset'' donné. Cette fonction a été introduite dans Qt 4.6. Voir aussi [[#translate()]]. === united() === ''QPolygon QPolygon::united ( const QPolygon & r ) const'' Retourne un polygone qui est l'union de celui-ci et du polygone ''r''. Définir des opérations sur des polygones permettra de traiter les polygones comme des surfaces et fermera implicitement le polygone. Cette fonction a été introduite dans Qt 4.3. Voir aussi [[#intersected()]] et [[#subtracted()]]. === operator QVariant() === ''QPolygon::operator QVariant () const'' Retourne le polygone comme un [[QVariant]]. ==== En relation mais non membres de la classe ==== === operator<<() === ''[[QDataStream]] & operator<< ( [[QDataStream]] & stream, const QPolygon & polygon )'' Écrit le polygone ''polygon'' donné dans le flux ''stream'' donné et retourne une référence sur le flux. Cette fonction a été introduite dans Qt 4.4. Voir aussi [[datastreamformat|le format des opérateurs QDataStream]]. === operator>>() === ''[[QDataStream]] & operator>> ( [[QDataStream]] & stream, QPolygon & polygon )'' Lit un polygone à partir du flux ''stream'' donné, le place dans le polygone ''polygon'' donné et retourne une référence sur le flux. Cette fonction a été introduite dans Qt 4.4. Voir aussi [[datastreamformat|le format des opérateurs QDataStream]]. ==== Remerciements ==== Merci à pour la traduction, à pour la traduction et la relecture, à pour la relecture !