35 #ifndef DLUX_GLOBAL_PLANNER_KERNEL_FUNCTION_H    36 #define DLUX_GLOBAL_PLANNER_KERNEL_FUNCTION_H    65   return (static_cast<int>(a) & static_cast<int>(b)) > 0;
    89   float north_p = y < potential_grid.getHeight() - 1 ? potential_grid(x, y + 1) : 
HIGH_POTENTIAL;
    91   float east_p =  x < potential_grid.getWidth() - 1  ? potential_grid(x + 1, y) : 
HIGH_POTENTIAL;
    98   if (north_p < south_p)
   155     float dx = dc / cost;
   156     float v = -0.2301 * dx * dx + 0.5307 * dx + 0.7040;
   158       *upstream = xdir + ydir;
   159     return pa + cost * v;
   166 #endif  // DLUX_GLOBAL_PLANNER_KERNEL_FUNCTION_H 
bool operator&(CardinalDirection a, CardinalDirection b)
const float HIGH_POTENTIAL
CardinalDirection operator+(CardinalDirection a, CardinalDirection b)
static float calculateKernel(const PotentialGrid &potential_grid, unsigned char cost, unsigned int x, unsigned int y, CardinalDirection *upstream=nullptr)
potential calculation that uses multiple values of the neighboring cells