Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qgeorouterequest.h
Go to the documentation of this file.
1// Copyright (C) 2015 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
4#ifndef QGEOROUTEREQUEST_H
5#define QGEOROUTEREQUEST_H
6
7#include <QtCore/QList>
8#include <QtCore/QExplicitlySharedDataPointer>
9#include <QtCore/QDateTime>
10
11#include <QtLocation/qlocationglobal.h>
12#include <QtPositioning/QGeoCoordinate>
13
15
16class QGeoRectangle;
19
20class Q_LOCATION_EXPORT QGeoRouteRequest
21{
22public:
24 CarTravel = 0x0001,
25 PedestrianTravel = 0x0002,
26 BicycleTravel = 0x0004,
27 PublicTransitTravel = 0x0008,
28 TruckTravel = 0x0010
29 };
30 Q_DECLARE_FLAGS(TravelModes, TravelMode)
31
33 NoFeature = 0x00000000,
34 TollFeature = 0x00000001,
35 HighwayFeature = 0x00000002,
36 PublicTransitFeature = 0x00000004,
37 FerryFeature = 0x00000008,
38 TunnelFeature = 0x00000010,
39 DirtRoadFeature = 0x00000020,
40 ParksFeature = 0x00000040,
41 MotorPoolLaneFeature = 0x00000080,
42 TrafficFeature = 0x00000100
43 };
44 Q_DECLARE_FLAGS(FeatureTypes, FeatureType)
45
47 NeutralFeatureWeight = 0x00000000,
48 PreferFeatureWeight = 0x00000001,
49 RequireFeatureWeight = 0x00000002,
50 AvoidFeatureWeight = 0x00000004,
51 DisallowFeatureWeight = 0x00000008
52 };
53 Q_DECLARE_FLAGS(FeatureWeights, FeatureWeight)
54
56 ShortestRoute = 0x0001,
57 FastestRoute = 0x0002,
58 MostEconomicRoute = 0x0004,
59 MostScenicRoute = 0x0008
60 };
61 Q_DECLARE_FLAGS(RouteOptimizations, RouteOptimization)
62
64 NoSegmentData = 0x0000,
65 BasicSegmentData = 0x0001
66 };
67 Q_DECLARE_FLAGS(SegmentDetails, SegmentDetail)
68
70 NoManeuvers = 0x0000,
71 BasicManeuvers = 0x0001
72 };
73 Q_DECLARE_FLAGS(ManeuverDetails, ManeuverDetail)
74
75 explicit QGeoRouteRequest(const QList<QGeoCoordinate> &waypoints = QList<QGeoCoordinate>());
76 QGeoRouteRequest(const QGeoCoordinate &origin,
80
82
84 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(QGeoRouteRequest)
85
86 void swap(QGeoRouteRequest &other) noexcept { d_ptr.swap(other.d_ptr); }
87
88 friend inline bool operator==(const QGeoRouteRequest &lhs,
89 const QGeoRouteRequest &rhs) noexcept
90 {
91 return lhs.isEqual(rhs);
92 }
93 friend inline bool operator!=(const QGeoRouteRequest &lhs,
94 const QGeoRouteRequest &rhs) noexcept
95 {
96 return !lhs.isEqual(rhs);
97 }
98
99 void setWaypoints(const QList<QGeoCoordinate> &waypoints);
100 QList<QGeoCoordinate> waypoints() const;
101
102 void setExcludeAreas(const QList<QGeoRectangle> &areas);
103 QList<QGeoRectangle> excludeAreas() const;
104
105 // defaults to 0
106 void setNumberAlternativeRoutes(int alternatives);
107 int numberAlternativeRoutes() const;
108
109 // defaults to TravelByCar
110 void setTravelModes(TravelModes travelModes);
111 TravelModes travelModes() const;
112
113 void setFeatureWeight(FeatureType featureType, FeatureWeight featureWeight);
114 FeatureWeight featureWeight(FeatureType featureType) const;
115 QList<FeatureType> featureTypes() const;
116
117 // defaults to OptimizeFastest
118 void setRouteOptimization(RouteOptimizations optimization);
119 RouteOptimizations routeOptimization() const;
120
121 // defaults to BasicSegmentData
122 void setSegmentDetail(SegmentDetail segmentDetail);
123 SegmentDetail segmentDetail() const;
124
125 // defaults to BasicManeuvers
126 void setManeuverDetail(ManeuverDetail maneuverDetail);
127 ManeuverDetail maneuverDetail() const;
128
129 // defaults to invalid datetime
130 void setDepartureTime(const QDateTime &departureTime);
131 QDateTime departureTime() const;
132
133private:
134 QExplicitlySharedDataPointer<QGeoRouteRequestPrivate> d_ptr;
135
136 bool isEqual(const QGeoRouteRequest &other) const noexcept;
137};
138
139Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::TravelModes)
140Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::FeatureTypes)
141Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::FeatureWeights)
142Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::RouteOptimizations)
143Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::SegmentDetails)
144Q_DECLARE_OPERATORS_FOR_FLAGS(QGeoRouteRequest::ManeuverDetails)
145
147
148#endif
static bool isEqual(const aiUVTransform &a, const aiUVTransform &b)
\inmodule QtCore\reentrant
Definition qdatetime.h:283
\inmodule QtPositioning
\inmodule QtPositioning
QGeoRouteRequest::TravelModes travelModes
QGeoRouteRequest::SegmentDetail segmentDetail
QList< QGeoRectangle > excludeAreas
QGeoRouteRequest::ManeuverDetail maneuverDetail
QGeoRouteRequest::RouteOptimizations routeOptimization
QList< QGeoCoordinate > waypoints
\inmodule QtLocation
FeatureWeight
Defines the weight to associate with a feature during the planning of a route.
QGeoRouteRequest(const QGeoRouteRequest &other) noexcept
Constructs a route request object from the contents of other.
friend bool operator!=(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs) noexcept
Returns whether the route requests lhs and rhs are not equal.
RouteOptimization
Defines the type of optimization which is applied to the planning of the route.
SegmentDetail
Defines the amount of route segment information that should be included with the route.
QGeoRouteRequest(QGeoRouteRequest &&other) noexcept=default
~QGeoRouteRequest()
Destroys the request.
TravelMode
Defines modes of travel to be used for a route.
ManeuverDetail
Defines the amount of maneuver information that should be included with the route.
friend bool operator==(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs) noexcept
Returns whether the route requests lhs and rhs are equal.
FeatureType
Defines a feature which is important to the planning of a route.
QSharedData & operator=(const QSharedData &)=delete
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char * destination
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
Definition qflags.h:194
#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(Class, ExportMacro)
QSharedPointer< T > other(t)
[5]
this swap(other)