# 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

QPolygonF () | |

QPolygonF ( int size ) | |

QPolygonF ( const QPolygonF & polygon ) | |

QPolygonF ( const QVector<QPointF> & 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 |

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

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

**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().

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

**See also **Serializing Qt Data Types.

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

Reads a polygon from the given *stream* into the given *polygon*, and returns a reference to the stream.

**See also **Serializing Qt Data Types.

## No notes