|
template<typename TILE_DATA , bool RESIZABLE, typename FUNC > |
void | apply_cellular_automata (grid< TILE_DATA, RESIZABLE > ¤t_iteration, irec2 const &rect, FUNC &&func) |
|
template<typename TILE_DATA , bool RESIZABLE, typename FUNC > |
void | apply_cellular_automata (grid< TILE_DATA, RESIZABLE > ¤t_iteration, FUNC &&func) |
|
template<typename TILE_DATA , bool RESIZABLE, change_tile_callback< TILE_DATA > FLOOD_FUNC, query_tile_callback< TILE_DATA > SHOULD_FLOOD_FUNC> |
void | flood_at (grid< TILE_DATA, RESIZABLE > &grid, glm::ivec2 start, FLOOD_FUNC &&flood, SHOULD_FLOOD_FUNC &&should_flood) |
|
template<typename TILE_DATA , bool RESIZABLE, change_tile_callback< TILE_DATA > FLOOD_FUNC> |
void | flood_at (grid< TILE_DATA, RESIZABLE > &grid, glm::ivec2 start, FLOOD_FUNC &&flood) |
|
template<typename TILE_DATA , bool RESIZABLE, query_tile_callback< TILE_DATA > SHOULD_FLOOD_FUNC> |
void | flood_at (grid< TILE_DATA, RESIZABLE > &grid, glm::ivec2 start, TILE_DATA const &replace_with, SHOULD_FLOOD_FUNC &&should_flood) |
|
template<typename TILE_DATA , bool RESIZABLE> |
void | flood_at (grid< TILE_DATA, RESIZABLE > &grid, glm::ivec2 start, TILE_DATA const &replace_with) |
|
constexpr bool | is_surrounding (glm::ivec2 a, glm::ivec2 b) |
| TODO: Should probably define the terms somewhere (surrounding, neighbor, adjacent, tile, world, etc)
|
|
constexpr bool | is_neighbor (glm::ivec2 a, glm::ivec2 b) |
|
constexpr bool | is_diagonal_neighbor (glm::ivec2 a, glm::ivec2 b) |
|
template<std::integral T> |
constexpr auto | manhattan_distance (glm::tvec2< T > a, glm::tvec2< T > b) |
|
template<std::integral T> |
constexpr auto | chebyshev_distance (glm::tvec2< T > a, glm::tvec2< T > b) |
|
constexpr glm::vec2 | tile_pos_to_world_pos (glm::ivec2 tile_pos, glm::vec2 tile_size) |
|
constexpr glm::vec2 | tile_pos_to_world_pos (glm::ivec2 tile_pos, float tile_size) |
|
constexpr rec2 | world_rect_for_tile (glm::ivec2 pos, glm::vec2 tile_size) |
|
constexpr rec2 | world_rect_for_tile (glm::ivec2 pos, float tile_size) |
|
glm::ivec2 | world_pos_to_tile_pos (glm::vec2 world_pos, glm::vec2 tile_size) |
|
glm::ivec2 | world_pos_to_tile_pos (glm::vec2 world_pos, float tile_size) |
|
irec2 | world_rect_to_tile_rect (rec2 const &world_rect, glm::vec2 tile_size) |
|
irec2 | world_rect_to_tile_rect (rec2 const &world_rect, float tile_size) |
|
glm::vec2 | snap_world_pos_to_tile_grid (glm::vec2 world_pos, glm::vec2 tile_size) |
|