3#include "RegularGridAdjacency2D.hpp"
5namespace mmcfilters::detail {
14class CommittedGridAccess {
23 [[nodiscard]]
static RegularGridAdjacency2D radiusAdjacency(
int rows,
int columns,
double radius) {
24 return RegularGridAdjacency2D(rows, columns, radius, RegularGridAdjacency2D::EstablishedRadiusTag{});
29 const int columns = adjacency.getNumColumns();
35 const int columns = adjacency.getNumColumns();
41 const int columns = adjacency.getNumColumns();
46 [[nodiscard]]
static bool isBoundary(
const RegularGridAdjacency2D& adjacency, PixelId pixel)
noexcept {
47 const int columns = adjacency.getNumColumns();
48 return adjacency.isGridBoundary(pixel / columns, pixel % columns);
GridIndexRangeT< false, 1 > NeighborIndexRange
Range over neighbouring indices excluding the origin.
GridIndexRangeT< true, 0 > ForwardNeighborIndexRange
Range over one directed half of the neighbouring indices.
GridIndexRangeT< false, 0 > AdjacentIndexRange
Range over adjacent indices including the origin.