Euphoria
table_bool.cc File Reference
#include "core/table_bool.h"
#include "core/image_draw.h"
#include "assert/assert.h"
#include <cmath>

Go to the source code of this file.

Namespaces

 eu
 
 eu::core
 

Macros

#define CHECK_BORDER(b, p)
 

Functions

void eu::core::set_white_noise (BoolTable *world, Lrud< BorderSetupRule > border_control, std::function< bool()> rng)
 
int eu::core::count_walls_manhattan (const BoolTable &world, Lrud< OutsideRule > outside_rule, int cx, int cy, int step, bool include_self)
 
int eu::core::count_walls_plus (const BoolTable &world, Lrud< OutsideRule > outside_rule, int cx, int cy, int step, bool include_self)
 
int eu::core::count_walls_box (const BoolTable &world, Lrud< OutsideRule > outside_rule, int cx, int cy, int step, bool include_self)
 
void eu::core::make_smoother (BoolTable *world, Lrud< OutsideRule > outside_rule, std::function< std::optional< bool >(bool, const WallCounter &)> smooth_function)
 
std::vector< vec2i > eu::core::find_empty_blocks (const BoolTable &world)
 
std::vector< vec2i > eu::core::find_flood_fill_items (const BoolTable &world, const vec2i &start, bool allow_diagonals)
 
std::vector< std::vector< vec2i > > eu::core::find_empty_regions (const BoolTable &world, bool allow_diagonals)
 
Image eu::core::draw (const BoolTable &world, Rgbai wall_color, Rgbai space_color, int scale, std::optional< BorderSettings > border)
 

Macro Definition Documentation

◆ CHECK_BORDER

#define CHECK_BORDER (   b,
 
)
Value:
do \
{ \
if( b && border_control.p != BorderSetupRule::random) \
{ return border_control.p == BorderSetupRule::always_wall; } \
} while(false)