36 bool operator==(
const QGeoRoutePrivate &other)
const;
37 bool equals(
const QGeoRoutePrivate &other)
const;
39 void setId(
const QString &id);
42 void setRequest(
const QGeoRouteRequest &request);
43 QGeoRouteRequest request()
const;
45 void setBounds(
const QGeoRectangle &bounds);
46 QGeoRectangle bounds()
const;
48 void setTravelTime(
int travelTime);
49 int travelTime()
const;
51 void setDistance(qreal distance);
52 qreal distance()
const;
54 void setTravelMode(QGeoRouteRequest::TravelMode mode);
55 QGeoRouteRequest::TravelMode travelMode()
const;
57 void setPath(
const QList<QGeoCoordinate> &path);
58 QList<QGeoCoordinate> path()
const;
60 void setFirstSegment(
const QGeoRouteSegment &firstSegment);
61 QGeoRouteSegment firstSegment()
const;
63 int segmentsCount()
const;
64 QList<QGeoRouteSegment> segments()
const;
66 void setRouteLegs(
const QList<QGeoRoute> &legs);
67 QList<QGeoRoute> routeLegs()
const;
69 void setExtendedAttributes(
const QVariantMap &extendedAttributes);
70 QVariantMap extendedAttributes()
const;
73 void setLegIndex(
int idx);
75 void setContainingRoute(
const QGeoRoute &route);
76 QGeoRoute containingRoute()
const;
79 template<
typename Functor>
80 inline void forEachSegment(Functor &&functor)
const {
81 QGeoRouteSegment segment = m_firstSegment;
82 while (segment.isValid()) {
85 if (segment.isLegLastSegment() && m_containingRoute)
87 segment = segment.nextRouteSegment();
91 QGeoRouteRequest m_request;
93 QGeoRectangle m_bounds;
94 mutable QList<QGeoRouteSegment> m_routeSegments;
97 qreal m_distance = 0.0;
99 QGeoRouteRequest::TravelMode m_travelMode;
101 QList<QGeoCoordinate> m_path;
102 QList<QGeoRoute> m_legs;
103 QGeoRouteSegment m_firstSegment;
104 mutable int m_numSegments = -1;
105 std::unique_ptr<QGeoRoute> m_containingRoute;
106 QVariantMap m_extendedAttributes;