001package squidpony.squidgrid.zone; 002 003/** 004 * Created by Tommy Ettinger on 11/24/2016. 005 */ 006public interface MutableZone extends Zone { 007 008 /** 009 * Expands this Zone in the four cardinal directions, performing the expansion consecutively {@code distance} times. 010 * Modified this Zone in-place and returns it for chaining. 011 * @param distance the amount to expand outward using Manhattan distance (diamond shape) 012 * @return this for chaining, after being modified in-place 013 */ 014 Zone expand(int distance); 015 016 /** 017 * Expands this Zone in the four cardinal and four diagonal directions, performing the expansion consecutively 018 * {@code distance} times. Modified this Zone in-place and returns it for chaining. 019 * @param distance the amount to expand outward using Chebyshev distance (square shape) 020 * @return this for chaining, after being modified in-place 021 */ 022 Zone expand8way(int distance); 023}