# QPolygonF Class

The QPolygonF class provides a vector of points using floating point precision. More...

Note: All functions in this class are reentrant.

## Public Functions

 QPolygonF() QPolygonF(int size) QPolygonF(const QPolygonF & polygon) QPolygonF(const QVector & points) QPolygonF(const QRectF & rectangle) QPolygonF(const QPolygon & polygon) ~QPolygonF() QRectF boundingRect() const bool containsPoint(const QPointF & point, Qt::FillRule fillRule) const QPolygonF intersected(const QPolygonF & r) const bool isClosed() const QPolygonF subtracted(const QPolygonF & r) const void swap(QPolygonF & other) QPolygon toPolygon() const void translate(const QPointF & offset) void translate(qreal dx, qreal dy) QPolygonF translated(const QPointF & offset) const QPolygonF translated(qreal dx, qreal dy) const QPolygonF united(const QPolygonF & r) const
• 66 public functions inherited from QVector
 QDataStream & operator<<(QDataStream & stream, const QPolygonF & polygon) QDataStream & operator>>(QDataStream & stream, QPolygonF & polygon)

• 2 static public members inherited from QVector

## Detailed Description

The QPolygonF class provides a vector of points using floating point precision.

A QPolygonF is a QVector<QPointF>. The easiest way to add points to a QPolygonF is to use its streaming operator, as illustrated below:

```        QPolygonF polygon;
polygon << QPointF(10.4, 20.5) << QPointF(20.2, 30.2);```

In addition to the functions provided by QVector, QPolygonF provides the boundingRect() and translate() functions for geometry operations. Use the QMatrix::map() function for more general transformations of QPolygonFs.

QPolygonF also provides the isClosed() function to determine whether a polygon's start and end points are the same, and the toPolygon() function returning an integer precision copy of this polygon.

The QPolygonF class is implicitly shared.

## Member Function Documentation

### QPolygonF::QPolygonF()

Constructs a polygon with no points.

### QPolygonF::QPolygonF(int size)

Constructs a polygon of the given size. Creates an empty polygon if size == 0.

### QPolygonF::QPolygonF(const QPolygonF & polygon)

Constructs a copy of the given polygon.

### QPolygonF::QPolygonF(const QVector<QPointF> & points)

Constructs a polygon containing the specified points.

### QPolygonF::QPolygonF(const QRectF & rectangle)

Constructs a closed polygon from the specified rectangle.

The polygon contains the four vertices of the rectangle in clockwise order starting and ending with the top-left vertex.

### QPolygonF::QPolygonF(const QPolygon & polygon)

Constructs a float based polygon from the specified integer based polygon.

### QPolygonF::~QPolygonF()

Destroys the polygon.

### QRectF QPolygonF::boundingRect() const

Returns the bounding rectangle of the polygon, or QRectF(0,0,0,0) if the polygon is empty.

### bool QPolygonF::containsPoint(const QPointF & point, Qt::FillRule fillRule) const

Returns true if the given point is inside the polygon according to the specified fillRule; otherwise returns false.

This function was introduced in Qt 4.3.

### QPolygonF QPolygonF::intersected(const QPolygonF & r) const

Returns a polygon which is the intersection of this polygon and r.

Set operations on polygons will treat the polygons as areas. Non-closed polygons will be treated as implicitly closed.

This function was introduced in Qt 4.3.

### bool QPolygonF::isClosed() const

Returns true if the polygon is closed; otherwise returns false.

A polygon is said to be closed if its start point and end point are equal.

### QPolygonF QPolygonF::subtracted(const QPolygonF & r) const

Returns a polygon which is r subtracted from this polygon.

Set operations on polygons will treat the polygons as areas. Non-closed polygons will be treated as implicitly closed.

This function was introduced in Qt 4.3.

### void QPolygonF::swap(QPolygonF & other)

Swaps polygon other with this polygon. This operation is very fast and never fails.

This function was introduced in Qt 4.8.

### QPolygon QPolygonF::toPolygon() const

Creates and returns a QPolygon by converting each QPointF to a QPoint.

### void QPolygonF::translate(const QPointF & offset)

Translate all points in the polygon by the given offset.

### void QPolygonF::translate(qreal dx, qreal dy)

Translates all points in the polygon by (dx, dy).

### QPolygonF QPolygonF::translated(const QPointF & offset) const

Returns a copy of the polygon that is translated by the given offset.

This function was introduced in Qt 4.6.

### QPolygonF QPolygonF::translated(qreal dx, qreal dy) const

Returns a copy of the polygon that is translated by (dx, dy).

This function was introduced in Qt 4.6.

### QPolygonF QPolygonF::united(const QPolygonF & r) const

Returns a polygon which is the union of this polygon and r.

Set operations on polygons will treat the polygons as areas. Non-closed polygons will be treated as implicitly closed.

This function was introduced in Qt 4.3.

## Related Non-Members

### QDataStream & operator<<(QDataStream & stream, const QPolygonF & polygon)

Writes the given polygon to the given stream, and returns a reference to the stream.