KOSMIndoorMap

navmeshbuilder.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_NAVMESHBUILDER_H
7#define KOSMINDOORROUTING_NAVMESHBUILDER_H
8
9#include "kosmindoorrouting_export.h"
10
11#include <QObject>
12
13#include <memory>
14
15namespace KOSMIndoorMap {
16class AbstractOverlaySource;
17class MapData;
18}
19
20namespace KOSMIndoorRouting {
21
22class NavMesh;
23class NavMeshBuilderPrivate;
24
25/** Job for building a navigation mesh for the given building. */
26class KOSMINDOORROUTING_EXPORT NavMeshBuilder : public QObject
27{
28 Q_OBJECT
29public:
30 explicit NavMeshBuilder(QObject *parent = nullptr);
32
33 void setMapData(const KOSMIndoorMap::MapData &mapData);
34 void setEquipmentModel(KOSMIndoorMap::AbstractOverlaySource *equipmentModel);
35
36 void writeDebugNavMesh(const QString &gsetFile, const QString &objFile);
37
38 void start();
39
40 [[nodiscard]] NavMesh navMesh() const;
41
42Q_SIGNALS:
43 void finished();
44
45private:
46 std::unique_ptr<NavMeshBuilderPrivate> d;
47};
48}
49
50#endif
A source for overlay elements, drawn on top of the static map data.
Raw OSM map data, separated by levels.
Definition mapdata.h:60
Job for building a navigation mesh for the given building.
Compiled nav mesh for routing.
Definition navmesh.h:22
Q_SCRIPTABLE Q_NOREPLY void start()
OSM-based multi-floor indoor maps for buildings.
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.