#include <stddef.h>
#include <stdlib.h>
Go to the source code of this file.
|
| #define | JPS_NO_FLOAT |
| |
| #define | JPS_ASSERT(cond) |
| |
| #define | JPS_realloc(p, newsize, oldsize, user) realloc(p, newsize) |
| |
| #define | JPS_free(p, oldsize, user) free(p) |
| |
| #define | JPS_HEURISTIC_ACCURATE(a, b) (Heuristic::Chebyshev(a, b)) |
| |
| #define | JPS_HEURISTIC_ESTIMATE(a, b) (Heuristic::Manhattan(a, b)) |
| |
| #define | JPS_PLACEMENT_NEW(p) new(JPS__NewDummy(), p) |
| |
| #define | JPS_CHECKGRID(dx, dy) (grid(x+(dx), y+(dy))) |
| |
| #define | JPS_ADDPOS(dx, dy) do { *w++ = Pos(x+(dx), y+(dy)); } while(0) |
| |
| #define | JPS_ADDPOS_CHECK(dx, dy) do { if(JPS_CHECKGRID(dx, dy)) JPS_ADDPOS(dx, dy); } while(0) |
| |
| #define | JPS_ADDPOS_NO_TUNNEL(dx, dy) do { if(grid(x+(dx),y) || grid(x,y+(dy))) JPS_ADDPOS_CHECK(dx, dy); } while(0) |
| |
|
| void * | operator new (size_t, JPS__NewDummy, void *ptr) |
| |
| void | operator delete (void *, JPS__NewDummy, void *) |
| |
| ScoreType | JPS::Heuristic::Manhattan (const Position &a, const Position &b) |
| |
| ScoreType | JPS::Heuristic::Chebyshev (const Position &a, const Position &b) |
| |
| template<typename GRID , typename PV > |
| SizeT | JPS::findPath (PV &path, const GRID &grid, PosType startx, PosType starty, PosType endx, PosType endy, unsigned step=0, JPS_Flags flags=JPS_Flag_Default, void *user=0) |
| |
◆ JPS_ADDPOS
| #define JPS_ADDPOS |
( |
|
dx, |
|
|
|
dy |
|
) |
| do { *w++ = Pos(x+(dx), y+(dy)); } while(0) |
◆ JPS_ADDPOS_CHECK
◆ JPS_ADDPOS_NO_TUNNEL
| #define JPS_ADDPOS_NO_TUNNEL |
( |
|
dx, |
|
|
|
dy |
|
) |
| do { if(grid(x+(dx),y) || grid(x,y+(dy))) JPS_ADDPOS_CHECK(dx, dy); } while(0) |
◆ JPS_ASSERT
| #define JPS_ASSERT |
( |
|
cond | ) |
|
◆ JPS_CHECKGRID
| #define JPS_CHECKGRID |
( |
|
dx, |
|
|
|
dy |
|
) |
| (grid(x+(dx), y+(dy))) |
◆ JPS_free
| #define JPS_free |
( |
|
p, |
|
|
|
oldsize, |
|
|
|
user |
|
) |
| free(p) |
◆ JPS_HEURISTIC_ACCURATE
| #define JPS_HEURISTIC_ACCURATE |
( |
|
a, |
|
|
|
b |
|
) |
| (Heuristic::Chebyshev(a, b)) |
◆ JPS_HEURISTIC_ESTIMATE
| #define JPS_HEURISTIC_ESTIMATE |
( |
|
a, |
|
|
|
b |
|
) |
| (Heuristic::Manhattan(a, b)) |
◆ JPS_NO_FLOAT
◆ JPS_PLACEMENT_NEW
◆ JPS_realloc
| #define JPS_realloc |
( |
|
p, |
|
|
|
newsize, |
|
|
|
oldsize, |
|
|
|
user |
|
) |
| realloc(p, newsize) |
◆ JPS_Flags
◆ JPS_Flags_
| Enumerator |
|---|
| JPS_Flag_Default | |
| JPS_Flag_NoGreedy | |
| JPS_Flag_AStarOnly | |
| JPS_Flag_NoStartCheck | |
| JPS_Flag_NoEndCheck | |
◆ JPS_Result
| Enumerator |
|---|
| JPS_NO_PATH | |
| JPS_FOUND_PATH | |
| JPS_NEED_MORE_STEPS | |
| JPS_EMPTY_PATH | |
| JPS_OUT_OF_MEMORY | |
◆ operator delete()
◆ operator new()