# QPolygonF Class Reference

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

#include <QPolygonF>

Inherits QVector<QPointF>.

**Note:** All functions in this class are reentrant.

## Public Functions

- 64 public functions inherited from QVector

## Related Non-Members

QDataStream & | **operator<<** ( QDataStream & *stream*, const QPolygonF & *polygon* ) |

QDataStream & | **operator>>** ( QDataStream & *stream*, QPolygonF & *polygon* ) |

### Additional Inherited Members

- 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.

See also QVector, QPolygon, and QLineF.

## Member Function Documentation

### QPolygonF::QPolygonF ()

Constructs a polygon with no points.

See also QVector::isEmpty().

### QPolygonF::QPolygonF ( int *size* )

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

See also QVector::isEmpty().

### 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.

See also isClosed().

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

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

See also toPolygon().

### 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.

See also QVector::isEmpty().

### 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.

See also QVector::first() and QVector::last().

### 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.

### QPolygon QPolygonF::toPolygon () const

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

See also QPointF::toPoint().

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

Translate all points in the polygon by the given *offset*.

See also translated().

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

This is an overloaded function.

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

See also translated().

### 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.

See also translate().

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

This is an overloaded function.

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

This function was introduced in Qt 4.6.

See also translate().

### 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.

See also intersected() and subtracted().

[+] Documentation Feedback