25class Q_POSITIONING_EXPORT QGeoPolygonPrivate :
public QGeoPathPrivateBase
29 QGeoPolygonPrivate(
const QList<QGeoCoordinate> &path);
30 ~QGeoPolygonPrivate();
33 QGeoShapePrivate *clone()
const override;
34 bool isValid()
const override;
35 bool contains(
const QGeoCoordinate &coordinate)
const override;
36 void translate(
double degreesLatitude,
double degreesLongitude) override;
37 bool operator==(
const QGeoShapePrivate &other)
const override;
38 size_t hash(size_t seed)
const override;
41 void markDirty() override;
44 qsizetype holesCount()
const;
45 bool polygonContains(
const QGeoCoordinate &coordinate)
const;
46 const QList<QGeoCoordinate> holePath(qsizetype index)
const;
48 void addHole(
const QList<QGeoCoordinate> &holePath);
49 void removeHole(qsizetype index);
50 void updateClipperPath();
53 bool m_clipperDirty =
true;
54 QList<QList<QGeoCoordinate>> m_holesList;
55 QClipperUtils m_clipperWrapper;
61 QGeoPolygonPrivateEager();
62 QGeoPolygonPrivateEager(
const QList<QGeoCoordinate> &path);
63 ~QGeoPolygonPrivateEager();
66 QGeoShapePrivate *clone()
const override;
67 void translate(
double degreesLatitude,
double degreesLongitude) override;
70 void markDirty() override;
71 void addCoordinate(
const QGeoCoordinate &coordinate) override;
72 void computeBoundingBox() override;
77 void updateBoundingBox();
80 QList<
double> m_deltaXs;
static void translatePoly(QList< QGeoCoordinate > &m_path, QList< QList< QGeoCoordinate > > &m_holesList, QGeoRectangle &m_bbox, double degreesLatitude, double degreesLongitude, double m_maxLati, double m_minLati)