[][src]Function building_blocks_search::find_surface_points

pub fn find_surface_points<M, N, T>(
    map: &M,
    extent: &ExtentN<N>
) -> (Vec<PointN<N>>, Vec<Stride>) where
    M: Array<N> + ForEach<N, (PointN<N>, Stride), Data = T> + GetUncheckedRelease<Stride, T>,
    T: IsEmpty,
    PointN<N>: IntegerPoint,
    ExtentN<N>: IntegerExtent<N>, 

Returns the "surface points" i.e. those points that are non-empty and Von-Neumann-adjacent to an empty point. Since this algorithm does adjacency checks for all points in extent, you must ensure that those points are within the bounds of map.