|
| | ContinuousPathFinder (const std::shared_ptr< bmpf::Scene > &scene, bool showTrace, unsigned int maxOpenSetSize, int gridSize, unsigned int maxNodeCnt, int checkCnt, int threadCnt=1) |
| |
| void | paint (const std::vector< double > &state, bool onlyRobot) override |
| |
| bool | findTick (std::vector< double > &state) override |
| |
| void | prepare (const std::vector< double > &startState, const std::vector< double > &endState) override |
| |
| void | buildPath () override |
| |
| std::vector< std::vector< double > > | checkTask (const std::vector< double > &startState, const std::vector< double > &endState, double opacity) |
| | проверка задания проверка задания, возвращает пустой вектор, если маршрут можно строить штатным образом, в противном случае сохраняет в _buildedPath готовый маршрут (из стартового и конечного положений) и возвращает его More...
|
| |
| | PathFinder (const std::shared_ptr< bmpf::Scene > &scene, bool showTrace, int threadCnt=1) |
| |
| std::vector< std::vector< double > > | findPath (const std::vector< double > &startState, const std::vector< double > &endState, int &errorCode) |
| |
| void | updateCollider () |
| |
| bool | divideCheckPathSegment (const std::vector< double > &prevPoint, std::vector< double > nextPoint, int checkCnt) |
| |
| int | divideCheckPath (std::vector< std::vector< double >> path, int checkCnt) |
| |
| bool | simpleCheckPath (const std::vector< std::vector< double >> &path, double maxDist) |
| |
| bool | checkState (const std::vector< double > &state) |
| | проверяет доступность состояния Проверяет доступность углов, после проверяет состояние на коллизии More...
|
| |
| std::vector< double > | getRandomState () |
| |
| std::vector< double > | getPathStateFromTM (double tm) |
| | получить состояние по времени две соседние точки считаются разделёнными единичным временным интервалом. More...
|
| |
| bool | checkCollision (const std::vector< double > &state) |
| |
| void | addObjectToScene (std::string path) |
| |
| void | deleteObjectFromScene (long robotNum) |
| |
| double | getPathLength () const |
| |
| bool | isReady () const |
| |
| bool | getThreadCnt () const |
| |
| void | setReady (bool ready) |
| |
| std::vector< double > & | getStartState () |
| |
| std::vector< double > & | getEndState () |
| |
| int | getErrorCode () const |
| |
| const std::vector< std::vector< double > > & | getBuildedPath () const |
| |
| const std::shared_ptr< bmpf::Scene > & | getScene () const |
| |
| const std::shared_ptr< bmpf::Collider > & | getCollider () const |
| |
| double | getCalculationTimeInSeconds () const |
| |
|
| static void | infoPath (const std::vector< std::vector< double >> &path) |
| |
| static Json::Value | getJSONPath (std::vector< std::vector< double >> path) |
| |
| static std::vector< std::vector< double > > | getPathFromJSON (const Json::Value &json) |
| |
| static void | savePathToFile (std::vector< std::vector< double >> path, const std::string &filename) |
| |
| static std::vector< std::vector< double > > | loadPathFromFile (const std::string &filename, std::string &scenePath) |
| |
| static std::vector< std::vector< std::vector< double > > > | loadPathsFromFile (const std::string &filename, std::string &scenePath) |
| |
| static std::vector< std::vector< double > > | splitPath (std::vector< std::vector< double >> path, unsigned long partCnt) |
| |
| static std::vector< double > | getPathStateFromTM (std::vector< std::vector< double >> &path, double tm) |
| | получить состояние по времени две соседние точки считаются разделёнными единичным временным интервалом. More...
|
| |
| static double | calculatePathLength (std::vector< std::vector< double >> path) |
| |
| static const int | NO_ERROR = -1 |
| |
| static const int | ERROR_CAN_NOT_FIND_PATH = 1 |
| |
Базовы1 класс для всех склеивающих планировщиков по тому или иному условию он определяет участки пути которые не соответствуют тем или иным требованиям и планирует новую траекторию между началом недоступного участков пути и концом, потом склеивает полученные части пути
Логика работы планировщика следующая: 1) подготовка к тактам поиска пути 2) выполнение тактов поиска пути с попутным заполнением тех или иных структур 3) если путь найден из этих структур собирается путь и сохраняется в переменную _buildedPath