philwave at gmail.com
Sat Mar 25 23:23:40 CET 2017
> A vector is a sequential collection of items. A polygon is a sequential
> collection of points. So a polygon can be a vector of points.
> But I don't think that it should inherit, since some of the operations that
> you can do in a vector don't really apply to a polygon.
1) To build a QPolygon, you need to add (often many) points.
QVector::reserve() is useful for this.
2) resize(0) is useful too, to preserve the allocated memory.
3) Recently, I had to reverse a polygon, std::reverse was useful,... and
this applies to QVector.
4) let me quote the Qt doc, which I think makes sense:
A QPolygon object is a QVector<QPoint>. The easiest way to add points to
a QPolygon is to use QVector's streaming operator, as illustrated below:
polygon << QPoint(10, 20) << QPoint(20, 30);
Indeed, as a user of QPolygon, I do see and handle a QPolygon as a
vector of points...
More information about the Development