Beluga named requirements: RegularGrid
Regular grids divide space in evenly sized portions or cells. A coordinate system over integers can thus be defined, in addition to that of the space in which the grid is embedded.
A type G
satisfies RegularGrid
requirements if given g
, a possibly const instance of G
:
g.resolution()
returns the side length of all grid N-dimensional cells as adouble
;given possibly const embedding space coordinates
x
of typeEigen::Vector<double, NDim>
,g.cell_at(x)
returns grid cell coordinates as anEigen::Vector<int, NDim1>
value;given possibly const embedding space coordinates
p
ofEigen::Vector<double, NDim>
type,g.cell_at(p)
returns grid cell coordinates as anEigen::Vector<int, NDim>
value;given possibly const grid cell coordinates
xi
of typeEigen::Vector<int, NDim>
,g.coordinates_at(xi)
returns embedding space coordinates as anEigen::Vector<double, NDim>
value;given a possibly const range
r
of grid cell coordinates ofEigen::Vector<int, NDim>
type,g.coordinates_for(r)
returns a range of embedding space coordinates asEigen::Vector<double, NDim>
values.