4#include <QGraphicsScene>
10#include <QGraphicsTextItem>
11#include <QXmlStreamReader>
55 void loadMapFromXml(
const QString& fileName, QGraphicsScene* scene);
70 double distance(QPointF* current, QPointF* neighbor);
80 int heuristic(
int x1,
int y1,
int x2,
int y2);
Класс, представляющий препятствие на карте.
Definition obstacle.h:16
Класс для построения оптимального маршрута.
Definition route.h:41
double distance(QPointF *current, QPointF *neighbor)
Вычисляет расстояние между двумя точками.
Definition route.cpp:196
QPolygonF Polygon
Definition route.h:45
std::vector< Node > aStar(Node start, Node goal, int n)
Выполняет поиск оптимального маршрута с использованием алгоритма A*.
Definition route.cpp:120
std::vector< Node > getNeighbors(Node *node, Node *goal, int n)
Возвращает соседние узлы для заданного узла.
Definition route.cpp:205
int heuristic(int x1, int y1, int x2, int y2)
Вычисляет эвристическую оценку расстояния между двумя точками.
Definition route.cpp:88
Obstacle obstacle
Definition route.h:48
int flag
Definition route.h:46
std::vector< Node > WayPoints
Definition route.h:44
void loadMapFromXml(const QString &fileName, QGraphicsScene *scene)
Загружает карту из XML-файла.
Definition route.cpp:5
std::vector< QPolygonF > Polygons
Definition route.h:43
void findOptimalRoute(QPointF *start, QPointF *finish)
Находит оптимальный маршрут между двумя точками на карте.
bool searchPoint(QPointF)
Проверяет, содержит ли сцена точку.
Definition route.cpp:71
int findCost(Node *current, Node *goal)
Находит стоимость прохода от текущей точки к цели.
Definition route.cpp:97
Структура, представляющая узел в графе маршрута.
Definition route.h:19
double cost
Definition route.h:21
Node(int x, int y, double cost, int heuristic, Node *p=nullptr)
Конструктор для создания узла.
Definition route.h:33
Node * parent
Definition route.h:23
QPointF Point
Definition route.h:20
int heuristic
Definition route.h:22