4#ifndef QGEOPROJECTION_H
5#define QGEOPROJECTION_H
21#include <QtLocation/private/qlocationglobal_p.h>
22#include <QtLocation/private/qgeocameradata_p.h>
23#include <QtPositioning/private/qdoublematrix4x4_p.h>
88 void setItemToWindowTransform(
const QTransform &itemToWindowTransform);
89 virtual QTransform itemToWindowTransform()
const;
92 mutable bool m_qsgTransformDirty =
true;
102 double minimumZoom()
const override;
103 QMatrix4x4 projectionTransformation()
const override;
104 QMatrix4x4 projectionTransformation_centered()
const override;
105 const QMatrix4x4 &qsgTransform()
const override;
108 double maximumCenterLatitudeAtZoom(
const QGeoCameraData &cameraData)
const override;
109 double minimumCenterLatitudeAtZoom(
const QGeoCameraData &cameraData)
const override;
111 void setVisibleArea(
const QRectF &visibleArea)
override;
112 void setViewportSize(
const QSize &
size)
override;
113 void setCameraData(
const QGeoCameraData &cameraData,
bool force =
true)
override;
126 QGeoShape visibleRegion()
const override;
129 double mapWidth()
const;
130 double mapHeight()
const;
159 void updateVisibleRegion();
167 bool isValid()
const;
180 Line2D planeXYIntersection()
const;
181 bool isValid()
const;
187#ifdef QT_LOCATION_DEBUG
QDoubleVector3D m_viewMercator
QList< QDoubleVector2D > m_visibleRegionExpanded
double m_cameraCenterYMercator
QGeoCameraData m_cameraData
QDoubleVector3D m_centerNearPlane
QList< QDoubleVector2D > m_visibleRegion
double m_1_viewportHeight
double m_minimumUnprojectableY
QDoubleVector3D m_eyeMercator0
QDoubleVector3D m_sideMercator
double m_verticalEstateToSkip
QMatrix4x4 m_qsgTransform
bool m_visibleRegionDirty
QDoubleMatrix4x4 m_transformation0
QDoubleVector3D m_centerNearPlaneMercator
QDoubleVector3D m_upMercator
QDoubleMatrix4x4 m_transformation
QDoubleMatrix4x4 m_cameraMatrix
QDoubleMatrix4x4 m_cameraMatrix0
QDoubleVector3D m_centerMercator
double m_nearPlaneMercator
double m_cameraCenterXMercator
QList< QDoubleVector2D > m_projectableRegion
QDoubleMatrix4x4 m_quickItemTransformation
double m_sideLengthPixels
Line2D m_nearPlaneMapIntersection
QDoubleVector3D m_viewNormalized
QDoubleVector3D m_eyeMercator
virtual QGeoCameraData cameraData() const =0
virtual ProjectionGroup projectionGroup() const =0
virtual QMatrix4x4 projectionTransformation() const =0
virtual const QMatrix4x4 & qsgTransform() const =0
virtual double minimumCenterLatitudeAtZoom(const QGeoCameraData &cameraData) const =0
virtual ProjectionType projectionType() const =0
virtual void setCameraData(const QGeoCameraData &cameraData, bool force=true)=0
virtual void setVisibleArea(const QRectF &visibleArea)=0
@ ProjectionGeneralPerspective
virtual void setViewportSize(const QSize &size)=0
virtual double maximumCenterLatitudeAtZoom(const QGeoCameraData &cameraData) const =0
virtual double minimumZoom() const =0
virtual Datum datum() const =0
QTransform m_itemToWindowTransform
virtual QMatrix4x4 projectionTransformation_centered() const =0
virtual QGeoCoordinate itemPositionToCoordinate(const QDoubleVector2D &pos, bool clipToViewport=true) const =0
virtual QDoubleVector2D coordinateToItemPosition(const QGeoCoordinate &coordinate, bool clipToViewport=true) const =0
@ ProjectionPseudocylindrical
@ ProjectionPseudoazimuthal
virtual QDoubleVector3D centerMercator() const =0
The QMatrix4x4 class represents a 4x4 transformation matrix in 3D space.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
Combined button and popup list for selecting options.
std::pair< T1, T2 > QPair
GLenum GLuint GLintptr GLsizeiptr size
[1]
QDoubleVector2D m_direction