namosim.mapgen package

Submodules

namosim.mapgen.connected_components module

class namosim.mapgen.connected_components.ConnectedComponents(map: ndarray[Any, dtype[Any]], component_cell_types: Set[Literal[0, 1, 2]] | None = None)[source]

Bases: object

compute_components(map: ndarray[Any, dtype[Any]])[source]
find_nearest_neighbor(component_idx: int) Tuple[int | None, List[Tuple[int, int]]][source]
get_accessible_cells(start: Tuple[int, int], map: ndarray[Any, dtype[Any]]) Set[Tuple[int, int]][source]
get_neighbors(cell: Tuple[int, int], map: ndarray[Any, dtype[Any]], include_walls: bool = False) Iterable[Tuple[int, int]][source]
get_smallest_component() Tuple[int, Set[Tuple[int, int]]][source]

namosim.mapgen.main module

namosim.mapgen.mapgen module

namosim.mapgen.svg_utils module

namosim.mapgen.svg_utils.perturb_polygon(polygon: Polygon, bounds: Tuple[float, float, float, float], sigma: float = 2) Polygon[source]

Perturb the vertices of a Shapely polygon randomly.

Parameters: - polygon: Shapely Polygon object - sigma: Standard deviation of the random perturbations

Returns: - perturbed_polygon: Perturbed Shapely Polygon object

namosim.mapgen.svg_utils.polygon_to_svg_path(polygon: Polygon) Element[source]

namosim.mapgen.types module

namosim.mapgen.utils module

namosim.mapgen.utils.is_empty(r: int, c: int, map: ndarray[Any, dtype[Any]], empty_cell_types: Set[Literal[0, 1, 2]]) bool[source]
namosim.mapgen.utils.is_in_map(r: int, c: int, map: ndarray[Any, dtype[Any]]) bool[source]

Module contents