Route-Map
Loading...
Searching...
No Matches
Route Class Reference

Класс для построения оптимального маршрута. More...

#include <route.h>

Public Member Functions

void loadMapFromXml (const QString &fileName, QGraphicsScene *scene)
 Загружает карту из XML-файла.
 
void findOptimalRoute (QPointF *start, QPointF *finish)
 Находит оптимальный маршрут между двумя точками на карте.
 
double distance (QPointF *current, QPointF *neighbor)
 Вычисляет расстояние между двумя точками.
 
int heuristic (int x1, int y1, int x2, int y2)
 Вычисляет эвристическую оценку расстояния между двумя точками.
 
int findCost (Node *current, Node *goal)
 Находит стоимость прохода от текущей точки к цели.
 
std::vector< NodegetNeighbors (Node *node, Node *goal, int n)
 Возвращает соседние узлы для заданного узла.
 
bool searchPoint (QPointF)
 Проверяет, содержит ли сцена точку.
 
std::vector< NodeaStar (Node start, Node goal, int n)
 Выполняет поиск оптимального маршрута с использованием алгоритма A*.
 

Public Attributes

std::vector< QPolygonF > Polygons
 
std::vector< NodeWayPoints
 
QPolygonF Polygon
 
int flag = 1
 
Obstacle obstacle
 

Detailed Description

Класс для построения оптимального маршрута.

Member Function Documentation

◆ aStar()

std::vector< Node > Route::aStar ( Node start,
Node goal,
int n )

Выполняет поиск оптимального маршрута с использованием алгоритма A*.

Parameters
startНачальная точка маршрута.
goalКонечная точка маршрута.
nПараметр для определения соседей.
Returns
Вектор узлов оптимального маршрута.

◆ distance()

double Route::distance ( QPointF * current,
QPointF * neighbor )

Вычисляет расстояние между двумя точками.

Parameters
currentТекущая точка.
neighborСоседняя точка.
Returns
Расстояние между точками.

◆ findCost()

int Route::findCost ( Node * current,
Node * goal )

Находит стоимость прохода от текущей точки к цели.

Parameters
currentУказатель на текущий узел.
goalУказатель на целевой узел.
Returns
Стоимость прохода от текущей точки к цели.

◆ findOptimalRoute()

void Route::findOptimalRoute ( QPointF * start,
QPointF * finish )

Находит оптимальный маршрут между двумя точками на карте.

Parameters
startУказатель на начальную точку маршрута.
finishУказатель на конечную точку маршрута.

◆ getNeighbors()

std::vector< Node > Route::getNeighbors ( Node * node,
Node * goal,
int n )

Возвращает соседние узлы для заданного узла.

Parameters
nodeУказатель на текущий узел.
goalУказатель на целевой узел.
nПараметр для определения соседей.
Returns
Вектор соседних узлов.

◆ heuristic()

int Route::heuristic ( int x1,
int y1,
int x2,
int y2 )

Вычисляет эвристическую оценку расстояния между двумя точками.

Parameters
x1Координата x первой точки.
y1Координата y первой точки.
x2Координата x второй точки.
y2Координата y второй точки.
Returns
Эвристическая оценка расстояния.

◆ loadMapFromXml()

void Route::loadMapFromXml ( const QString & fileName,
QGraphicsScene * scene )

Загружает карту из XML-файла.

Parameters
fileNameПуть к XML-файлу.
sceneУказатель на графическую сцену.

◆ searchPoint()

bool Route::searchPoint ( QPointF pt)

Проверяет, содержит ли сцена точку.

Parameters
pointТочка, которую нужно проверить.
Returns
true, если точка содержится на сцене, в противном случае -
false

Member Data Documentation

◆ flag

int Route::flag = 1

Флаг для обозначения состояния.

◆ obstacle

Obstacle Route::obstacle

Препятствие.

◆ Polygon

QPolygonF Route::Polygon

Полигон маршрута.

◆ Polygons

std::vector<QPolygonF> Route::Polygons

Полигоны препятствий на карте.

◆ WayPoints

std::vector<Node> Route::WayPoints

Узлы пути маршрута.


The documentation for this class was generated from the following files: