KOSMIndoorMap

routingjob.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_ROUTINGJOB_H
7#define KOSMINDOORROUTING_ROUTINGJOB_H
8
9#include "kosmindoorrouting_export.h"
10#include "navmeshtransform.h"
11
12#include <QObject>
13
14#include <memory>
15
16namespace KOSMIndoorRouting {
17
18class NavMesh;
19class Route;
20class RoutingJobPrivate;
21class RoutingProfile;
22
23/** Job for running a routing query on a compiled NavMesh instance. */
24class KOSMINDOORROUTING_EXPORT RoutingJob : public QObject
25{
26 Q_OBJECT
27public:
28 explicit RoutingJob(QObject *parent = nullptr);
30
31 void setNavMesh(const NavMesh &navMesh);
32
33 /// start/end position in nav coordinates
34 void setStart(rcVec3 startPos);
35 void setEnd(rcVec3 endPost);
36
37 /// routing profile
38 void setRoutingProfile(const RoutingProfile &profile);
39
40 void start();
41
42 [[nodiscard]] Route route() const;
43
44Q_SIGNALS:
45 void finished();
46
47private:
48 std::unique_ptr<RoutingJobPrivate> d;
49};
50}
51
52#endif
Compiled nav mesh for routing.
Definition navmesh.h:22
Job for running a routing query on a compiled NavMesh instance.
Definition routingjob.h:25
Q_SCRIPTABLE Q_NOREPLY void start()
3D vector type compatible with the Recast API.
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.