La classe QPolygon fournit un vecteur de points utilisant une précision entière. Plus d'informations...
#include <QPolygon>
Hérité par Q3PointArray.
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() pour des transformations plus générales d’objets QPolygon.
La classe QPolygon est implicitement partagée.
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().
QPolygon::QPolygon ( const QPolygon & polygon )
Construit une copie du polygone polygon
donné.
Voir aussi setPoints().
QPolygon::QPolygon ( const QVector<QPoint> & points )
Construit un polygone avec les points
spécifiés.
Voir aussi setPoints().
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.topLeft()
.
Notez que le coin inférieur droit du rectangle est situé à (rectangle.x() + rectangle.width(), rectangle.y() + rectangle.height())
.
Voir aussi setPoints().
QPolygon::~QPolygon ()
Détruit le polygone.
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().
bool QPolygon::containsPoint ( const QPoint & point, 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.
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.
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().
QPoint QPolygon::point ( int index ) const
Il s’agit d’une fonction surchargée.
Retourne le point situé à l'index
donné.
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().
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)
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().
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é.
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().
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);
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.
void QPolygon::translate ( int dx, int dy )
Translate tous les points du polygone par (dx
, dy
).
Voir aussi translated().
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().
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().
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().
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().
QPolygon::operator QVariant () const
Retourne le polygone comme un QVariant.
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 le format des opérateurs QDataStream.
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 le format des opérateurs QDataStream.
Merci à <!abdelite!> pour la traduction, à <!johnlamericain!> pour la traduction et la relecture, à <!dourouc!> pour la relecture !