5#ifndef QDECLARATIVEGEOMAPITEMUTILS_P_H
6#define QDECLARATIVEGEOMAPITEMUTILS_P_H
19#include <QtLocation/private/qlocationglobal_p.h>
20#include <QtLocation/private/qgeoprojection_p.h>
21#include <QtPositioning/private/qdoublevector2d_p.h>
36 vec2(
const QDoubleVector2D &p)
56 return QDoubleVector2D(
double(
x),
double(
y));
68 void wrapPath(
const QList<QGeoCoordinate> &perimeter
69 ,
const QGeoCoordinate &geoLeftBound
70 ,
const QGeoProjectionWebMercator &p
71 , QList<QDoubleVector2D> &wrappedPath
72 , QList<QDoubleVector2D> &wrappedPathMinus1
73 , QList<QDoubleVector2D> &wrappedPathPlus1
74 , QDoubleVector2D *leftBoundWrapped =
nullptr);
76 void wrapPath(
const QList<QGeoCoordinate> &perimeter
77 ,
const QGeoCoordinate &geoLeftBound
78 ,
const QGeoProjectionWebMercator &p
79 , QList<QDoubleVector2D> &wrappedPath
80 , QDoubleVector2D *leftBoundWrapped =
nullptr);
82 void wrapPath(
const QList<QDoubleVector2D> &path
83 ,
const QDoubleVector2D &geoLeftBound
84 , QList<QDoubleVector2D> &wrappedPath);
86 void clipPolygon(
const QList<QDoubleVector2D> &wrappedPath
87 ,
const QGeoProjectionWebMercator &p
88 , QList<QList<QDoubleVector2D> > &clippedPaths
89 , QDoubleVector2D *leftBoundWrapped =
nullptr
90 ,
bool closed =
true);
92 void projectBbox(
const QList<QDoubleVector2D> &clippedBbox
93 ,
const QGeoProjectionWebMercator &p
94 , QPainterPath &projectedBbox);
void wrapPath(const QList< QGeoCoordinate > &perimeter, const QGeoCoordinate &geoLeftBound, const QGeoProjectionWebMercator &p, QList< QDoubleVector2D > &wrappedPath, QList< QDoubleVector2D > &wrappedPathMinus1, QList< QDoubleVector2D > &wrappedPathPlus1, QDoubleVector2D *leftBoundWrapped)
QList< QGeoCoordinate > greaterCirclePath(const QList< QGeoCoordinate > &cornerPoints, greaterCirclePathForm form, int N)
QRectF boundingRectangleFromList(const QList< QDoubleVector2D > &list)
void wrapPath(const QList< QDoubleVector2D > &path, const QDoubleVector2D &geoLeftBound, QList< QDoubleVector2D > &wrappedPath)
void clipPolygon(const QList< QDoubleVector2D > &wrappedPath, const QGeoProjectionWebMercator &p, QList< QList< QDoubleVector2D > > &clippedPaths, QDoubleVector2D *leftBoundWrapped, bool closed)
double distanceSqrPointLine(double p0_x, double p0_y, double p1_x, double p1_y, double p2_x, double p2_y)
void projectBbox(const QList< QDoubleVector2D > &clippedBbox, const QGeoProjectionWebMercator &p, QPainterPath &projectedBbox)
void wrapPath(const QList< QGeoCoordinate > &perimeter, const QGeoCoordinate &geoLeftBound, const QGeoProjectionWebMercator &p, QList< QDoubleVector2D > &wrappedPath, QDoubleVector2D *leftBoundWrapped)
QDoubleVector2D toDoubleVector2D() const
vec2 & operator=(const QPointF &p)
vec2(const QDoubleVector2D &p)