template <class T, int N>
class vtb::core::Grid

A region defined by start and end index and lower and upper bound for each dimension.

T
length type.

N
no. of dimensions.

Types
  • using rect_domain_type = blitz::RectDomain< N >
  • using int_n = blitz::TinyVector< int, N >
  • using vec = blitz::TinyVector< T, N >
Methods
  • empty() const -> bool
  • near(const Grid & rhs, T eps) -> bool
  • template <class ... Args>
    contains(const vec & x, const Args &... tail) const -> bool
  • contains(const vec & x) const -> bool
  • within_bounds(T x, int dim) const -> bool
  • clear() -> void
  • template <class ... Tail>
    select(int head, Tail ... tail) const -> auto
  • template <class ... Tail>
    operator()(const blitz::Range & head, const Tail &... tail) const -> Grid< T, N >
  • operator()(const blitz::RectDomain< N > & domain) const -> Grid< T, N >
  • index(T x, const int dim) const -> const T
  • index(const vec & x) const -> const vec
  • operator!=(const Grid & rhs) const -> bool
  • operator==(const Grid & rhs) const -> bool
  • operator()(const int i, const int dim) const -> const T
  • operator()(const int_n & i, const vec & delta) const -> const vec

    Point inside the region specified by index i and delta.

  • operator()(const int_n & i) const -> const vec

    Point inside the region specified by index i.

  • delta() const -> vec

    The size of the patch (interval) for all dimensions.

  • delta(int i) const -> const T

    The size of the patch (interval) for dimension i.

  • num_elements() const -> size_t

    Total number of grid points.

  • length(int i) const -> const T

    The size of the region for dimension i.

  • size() const -> const vec

    The size of the region.

  • num_patches() const -> const int_n

    The number of patches (intervals) for all dimensions.

  • num_patches(int i) const -> int

    The number of patches (intervals) for dimension i.

  • max(int i) -> T &
  • max(int i) const -> T
  • max() -> vec &
  • ubound(int i) -> T &
  • ubound(int i) const -> T
  • ubound() -> vec &

    Upper bound of the region.

  • ubound() const -> const vec &

    Upper bound of the region.

  • min(int i) -> T &
  • min(int i) const -> T
  • min() -> vec &
  • lbound(int i) -> T &
  • lbound(int i) const -> T
  • lbound() -> vec &

    Lower bound of the region.

  • lbound() const -> const vec &

    Lower bound of the region.

  • domain() const -> rect_domain_type
  • shape(int i) -> int &
  • shape(int i) const -> int
  • extent(int i) const -> int

    The number of points for dimension i.

  • shape() -> int_n &
  • shape() const -> const int_n

    The number of points for all dimensions.

  • template <class ... Tail>
    Grid(const Grid< T, 1 > & head, const Tail &... tail)explicit
  • Grid(const int_n & shape)explicit
  • Grid(const vec & ubound, const int_n & shape)
  • Grid(const vec & lbound, const vec & ubound, const int_n & shape)
  • template <class X>
    Grid(const Grid< X, N > & rhs)explicit
  • operator=(Grid &&) -> Grid &
  • Grid(Grid &&)
  • operator=(const Grid &) -> Grid &
  • Grid(const Grid &)
  • ~Grid()
  • Grid()
Friends
  • operator<<
  • operator>>
  • operator<<
template <class T, int N, class Function>
generate(const Grid< T, N > & grid, Function func) -> blitz::Array< T, N >
template <class T>
generate(const Grid< T, 1 > & grid) -> blitz::Array< T, 1 >
template <class T, int N, class Function>
generate(const Grid< T, N > & grid, blitz::Array< T, N > & result, Function func) -> void
template <class T, int N>
clamp(const blitz::TinyVector< T, N > x, const Grid< T, N > & grid) -> blitz::TinyVector< T, N >