8 #ifndef OPENFPM_DATA_SRC_GRID_GRID_SKIN_ITERATOR_HPP_
9 #define OPENFPM_DATA_SRC_GRID_GRID_SKIN_ITERATOR_HPP_
11 #include "grid_key_dx_iterator_sub_bc.hpp"
53 template<
unsigned int dim>
78 for (
size_t i = 0 ; i < dim ; i++)
83 for (
size_t j = 0 ; j < dim ; j++)
108 sub_it[2*i].Initialize(g_sm,k1,k2,bc);
110 for (
size_t j = 0 ; j < dim ; j++)
135 if (bl.
isValid() ==
true && bl != br)
136 sub_it[2*i+1].Initialize(g_sm,k1,k2,bc);
199 for (
size_t i = 0 ; i < 2*dim ; i++)
grid_skin_iterator_bc< dim > & operator++()
Get the next element.
T getLow(int i) const
get the i-coordinate of the low bound interval of the box
bool isValid() const
Check if the Box is a valid box P2 >= P1.
grid_key_dx is the key to access any element in the grid
T getHigh(int i) const
get the high interval of the box
size_t act
Actual iterator.
grid_skin_iterator_bc(const grid_sm< dim, T > &g_sm, const Box< dim, size_t > &A, const Box< dim, size_t > &B, const size_t(&bc)[dim])
Constructor require a grid_sm<dim,T>
void reset()
Reset the iterator (it restart from the beginning)
grid_key_dx_iterator_sub_bc< dim > sub_it[2 *dim]
Internal iterator for each faces.
void reset()
Reset the iterator (it restart from the beginning)
const grid_key_dx< dim > get() const
Return the actual grid key iterator.
void set_d(size_t i, mem_id id)
Set the i index.
bool isNext()
Check if there is the next element.