Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qgeocoordinate.h
Go to the documentation of this file.
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QGEOCOORDINATE_H
6
#
define
QGEOCOORDINATE_H
7
8
#
include
<
QtCore
/
QMetaType
>
9
#
include
<
QtCore
/
QString
>
10
#
include
<
QtCore
/
QSharedDataPointer
>
11
#
include
<
QtCore
/
QDebug
>
12
#
include
<
QtPositioning
/
qpositioningglobal
.
h
>
13
14
QT_BEGIN_NAMESPACE
15
16
class
QDebug;
17
class
QDataStream;
18
19
class
QGeoCoordinatePrivate;
20
QT_DECLARE_QSDP_SPECIALIZATION_DTOR_WITH_EXPORT(QGeoCoordinatePrivate, Q_POSITIONING_EXPORT)
21
22
class
Q_POSITIONING_EXPORT
QGeoCoordinate
23
{
24
Q_GADGET
25
26
Q_PROPERTY(
double
latitude READ latitude WRITE setLatitude)
27
Q_PROPERTY(
double
longitude READ longitude WRITE setLongitude)
28
Q_PROPERTY(
double
altitude READ altitude WRITE setAltitude)
29
Q_PROPERTY(
bool
isValid READ isValid)
30
31
public
:
32
33
enum
CoordinateType {
34
InvalidCoordinate,
35
Coordinate2D,
36
Coordinate3D
37
};
38
39
enum
CoordinateFormat {
40
Degrees,
41
DegreesWithHemisphere,
42
DegreesMinutes,
43
DegreesMinutesWithHemisphere,
44
DegreesMinutesSeconds,
45
DegreesMinutesSecondsWithHemisphere
46
};
47
Q_ENUM(CoordinateFormat)
48
49
QGeoCoordinate();
50
QGeoCoordinate(
double
latitude,
double
longitude);
51
QGeoCoordinate(
double
latitude,
double
longitude,
double
altitude);
52
QGeoCoordinate(
const
QGeoCoordinate &other);
53
QGeoCoordinate(QGeoCoordinate &&other)
noexcept
=
default
;
54
~QGeoCoordinate();
55
56
QGeoCoordinate &operator=(
const
QGeoCoordinate &other);
57
QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QGeoCoordinate)
58
59
void
swap(QGeoCoordinate &other)
noexcept
{ d.swap(other.d); }
60
61
friend
bool
operator==(
const
QGeoCoordinate &lhs,
const
QGeoCoordinate &rhs)
62
{
63
return
equals(lhs, rhs);
64
}
65
friend
bool
operator!=(
const
QGeoCoordinate &lhs,
const
QGeoCoordinate &rhs)
66
{
67
return
!equals(lhs, rhs);
68
}
69
70
bool
isValid()
const
;
71
CoordinateType type()
const
;
72
73
void
setLatitude(
double
latitude);
74
double
latitude()
const
;
75
76
void
setLongitude(
double
longitude);
77
double
longitude()
const
;
78
79
void
setAltitude(
double
altitude);
80
double
altitude()
const
;
81
82
Q_INVOKABLE qreal distanceTo(
const
QGeoCoordinate &other)
const
;
83
Q_INVOKABLE qreal azimuthTo(
const
QGeoCoordinate &other)
const
;
84
85
Q_INVOKABLE QGeoCoordinate atDistanceAndAzimuth(qreal distance, qreal azimuth, qreal distanceUp = 0.0)
const
;
86
87
Q_INVOKABLE QString toString(CoordinateFormat format = DegreesMinutesSecondsWithHemisphere)
const
;
88
89
private
:
90
static
bool
equals(
const
QGeoCoordinate &lhs,
const
QGeoCoordinate &rhs);
91
QGeoCoordinate(QGeoCoordinatePrivate &dd);
92
QSharedDataPointer<QGeoCoordinatePrivate> d;
93
friend
class
QGeoCoordinatePrivate;
94
friend
class
QQuickGeoCoordinateAnimation;
95
#
ifndef
QT_NO_DEBUG_STREAM
96
friend
QDebug operator<<(QDebug dbg,
const
QGeoCoordinate &coord)
97
{
98
return
debugStreaming(dbg, coord);
99
}
100
static
QDebug debugStreaming(QDebug dbg,
const
QGeoCoordinate &coord);
101
#
endif
102
#
ifndef
QT_NO_DATASTREAM
103
friend
QDataStream &operator<<(QDataStream &stream,
const
QGeoCoordinate &coordinate)
104
{
105
return
dataStreamOut(stream, coordinate);
106
}
107
friend
QDataStream &operator>>(QDataStream &stream, QGeoCoordinate &coordinate)
108
{
109
return
dataStreamIn(stream, coordinate);
110
}
111
static
QDataStream &dataStreamOut(QDataStream &stream,
const
QGeoCoordinate &coordinate);
112
static
QDataStream &dataStreamIn(QDataStream &stream, QGeoCoordinate &coordinate);
113
#
endif
114
};
115
116
Q_DECLARE_SHARED
(
QGeoCoordinate
)
117
118
119
Q_POSITIONING_EXPORT size_t qHash(
const
QGeoCoordinate &coordinate, size_t seed = 0);
120
121
122
QT_END_NAMESPACE
123
124
QT_DECL_METATYPE_EXTERN(QGeoCoordinate, Q_POSITIONING_EXPORT)
125
126
#
endif
QGeoAddress
\inmodule QtPositioning
Definition
qgeoaddress.h:19
QGeoCodingManagerEnginePrivate
Definition
qgeocodingmanagerengine_p.h:26
QGeoCodingManagerEnginePrivate::managerVersion
int managerVersion
Definition
qgeocodingmanagerengine_p.h:32
QGeoCodingManagerEnginePrivate::locale
QLocale locale
Definition
qgeocodingmanagerengine_p.h:31
QGeoCodingManagerEnginePrivate::managerName
QString managerName
Definition
qgeocodingmanagerengine_p.h:30
QGeoCodingManagerEnginePrivate::QGeoCodingManagerEnginePrivate
QGeoCodingManagerEnginePrivate()=default
QGeoCoordinate
\inmodule QtPositioning
Definition
qgeocoordinate.h:23
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtpositioning
src
positioning
qgeocoordinate.h
Generated on
for Qt by
1.18.0