Minetest 5.9.0-dev
 
Loading...
Searching...
No Matches
pathfinder.h
Go to the documentation of this file.
1/*
2Minetest
3Copyright (C) 2013 sapier, sapier at gmx dot net
4
5This program is free software; you can redistribute it and/or modify
6it under the terms of the GNU Lesser General Public License as published by
7the Free Software Foundation; either version 2.1 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU Lesser General Public License for more details.
14
15You should have received a copy of the GNU Lesser General Public License along
16with this program; if not, write to the Free Software Foundation, Inc.,
1751 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18*/
19
20#pragma once
21
22/******************************************************************************/
23/* Includes */
24/******************************************************************************/
25#include <vector>
26#include "irr_v3d.h"
27
28/******************************************************************************/
29/* Forward declarations */
30/******************************************************************************/
31
32class NodeDefManager;
33class Map;
34
35/******************************************************************************/
36/* Typedefs and macros */
37/******************************************************************************/
38
39typedef enum {
43 DIR_ZM
45
47typedef enum {
52
53/******************************************************************************/
54/* declarations */
55/******************************************************************************/
56
58std::vector<v3s16> get_path(Map *map, const NodeDefManager *ndef,
59 v3s16 source,
60 v3s16 destination,
61 unsigned int searchdistance,
62 unsigned int max_jump,
63 unsigned int max_drop,
64 PathAlgorithm algo);
Definition: map.h:116
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:556
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
PathAlgorithm
List of supported algorithms.
Definition: pathfinder.h:47
@ PA_PLAIN
A* algorithm using heuristics to find a path.
Definition: pathfinder.h:49
@ PA_DIJKSTRA
Dijkstra shortest path algorithm
Definition: pathfinder.h:48
@ PA_PLAIN_NP
A* algorithm without prefetching of map data.
Definition: pathfinder.h:50
std::vector< v3s16 > get_path(Map *map, const NodeDefManager *ndef, v3s16 source, v3s16 destination, unsigned int searchdistance, unsigned int max_jump, unsigned int max_drop, PathAlgorithm algo)
c wrapper function to use from scriptapi
Definition: pathfinder.cpp:409
PathDirections
Definition: pathfinder.h:39
@ DIR_XM
Definition: pathfinder.h:41
@ DIR_ZM
Definition: pathfinder.h:43
@ DIR_ZP
Definition: pathfinder.h:42
@ DIR_XP
Definition: pathfinder.h:40