Pyrogenesis  trunk
Classes | Macros | Functions
LongPathfinder.cpp File Reference
#include "precompiled.h"
#include "LongPathfinder.h"
#include "lib/bits.h"
#include "ps/Profile.h"
#include "Geometry.h"
Include dependency graph for LongPathfinder.cpp:

Classes

class  JumpPointCache
 Jump point cache. More...
 
struct  JumpPointCache::RowRaw
 Simple space-inefficient row storage. More...
 
struct  JumpPointCache::RowTree
 
struct  JumpPointCache::RowTree::Interval
 Represents an interval [u15 x0, u16 x1) with a boolean obstruction flag, packed into a single u32. More...
 

Macros

#define TERRAIN_IS_PASSABLE(i, j)
 
#define PASSABLE(i, j)   IS_PASSABLE(state.terrain->get(i, j), state.passClass)
 

Functions

bool OnTheWay (int i, int j, int di, int dj, const PathGoal &goal)
 
bool InRegion (u16 i, u16 j, CircularRegion region)
 

Macro Definition Documentation

#define PASSABLE (   i,
 
)    IS_PASSABLE(state.terrain->get(i, j), state.passClass)
#define TERRAIN_IS_PASSABLE (   i,
 
)
Value:
mirror \
? (transpose ? terrain.get((j), w-1-(i)) : terrain.get(w-1-(i), (j))) \
: (transpose ? terrain.get((j), (i)) : terrain.get((i), (j))) \
, passClass)
#define IS_PASSABLE(item, classmask)
Definition: Pathfinding.h:101

Function Documentation

bool InRegion ( u16  i,
u16  j,
CircularRegion  region 
)
inline
bool OnTheWay ( int  i,
int  j,
int  di,
int  dj,
const PathGoal goal 
)
inline