Pyrogenesis trunk
Classes | Namespaces | Macros | Functions | Variables
LongPathfinder.cpp File Reference
#include "precompiled.h"
#include "LongPathfinder.h"
#include "lib/bits.h"
#include "ps/Profile.h"
#include "Geometry.h"
#include "HierarchicalPathfinder.h"
#include <mutex>
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...
 
class  LongOverlay
 Terrain overlay for pathfinder debugging. More...
 

Namespaces

namespace  anonymous_namespace{LongPathfinder.cpp}
 

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, int iGoal, int jGoal)
 
bool InRegion (u16 i, u16 j, CircularRegion region)
 

Variables

static std::mutex anonymous_namespace{LongPathfinder.cpp}::g_DebugMutex
 

Macro Definition Documentation

◆ PASSABLE

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

◆ TERRAIN_IS_PASSABLE

#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:127

Function Documentation

◆ InRegion()

bool InRegion ( u16  i,
u16  j,
CircularRegion  region 
)
inline

◆ OnTheWay()

bool OnTheWay ( int  i,
int  j,
int  di,
int  dj,
int  iGoal,
int  jGoal 
)
inline