KOSMIndoorMap

route.h
1/*
2 SPDX-FileCopyrightText: 2024 Volker Krause <vkrause@kde.org>
3 SPDX-License-Identifier: LGPL-2.0-or-later
4*/
5
6#ifndef KOSMINDOORROUTING_ROUTE_H
7#define KOSMINDOORROUTING_ROUTE_H
8
9#include "kosmindoorrouting_export.h"
10
11#include <KOSM/Datatypes>
12
13#include <QExplicitlySharedDataPointer>
14
15#include <vector>
16
17namespace KOSMIndoorRouting {
18
19class RouteStep {
20public:
21 OSM::Coordinate coordinate;
22 int floorLevel = 0;
23 // TODO instructiosn/area types
24};
25
26class RoutePrivate;
27
28class KOSMINDOORROUTING_EXPORT Route
29{
30public:
31 explicit Route();
32 Route(const Route &);
33 Route(Route &&) noexcept;
34 ~Route();
35 Route& operator=(const Route &);
36 Route& operator=(Route &&) noexcept;
37
38 [[nodiscard]] const std::vector<RouteStep>& steps() const;
39 void setSteps(std::vector<RouteStep> &&steps);
40
41private:
42 QExplicitlySharedDataPointer<RoutePrivate> d;
43};
44
45}
46
47#endif
Coordinate, stored as 1e7 * degree to avoid floating point precision issues, and offset to unsigned v...
Definition datatypes.h:37
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:06:15 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.