Iterator for the neighborhood of the cell structures. More...
Iterator for the neighborhood of the cell structures.
In general you never create it directly but you get it from the CellList structures
It iterate across all the element of the selected cell and the near cells accordingly yo the symmetric scheme
dim | dimensionality of the space where the cell live |
Cell | cell type on which the iterator is working |
NNc_size | neighborhood size |
impl | implementation specific options NO_CHECK do not do check on access, SAFE do check on access |
Definition at line 31 of file CellNNIteratorM.hpp.
#include <CellNNIteratorM.hpp>
Public Member Functions | |
CellNNIteratorSymM (size_t cell, size_t pp, size_t p, const NNc_array< dim, NNc_size > &NNc, Cell &cl, const typename Cell::internal_vector_pos_type &pos, const typename openfpm::vector< pos_v< typename Cell::internal_vector_pos_type > > &ps) | |
Cell NN iterator. | |
size_t | getP () |
Get the value of the cell. | |
size_t | getV () |
Get the value of the cell. | |
CellNNIteratorSymM< dim, Cell, sh_byte, NNc_size, impl > & | operator++ () |
take the next element | |
Public Member Functions inherited from CellNNIterator< dim, Cell, NNc_size, impl > | |
__attribute__ ((always_inline)) inline CellNNIterator(size_t cell | |
Cell NN iterator. | |
const NNc_array< dim, NNc_size > Cell | cell (cell) |
const NNc_array< dim, NNc_size > Cell | cell_id (NNc[NNc_id]+cell) |
const NNc_array< dim, NNc_size > Cell | cl (cl) |
const NNc_array< dim, NNc_size > Cell | NNc (NNc) |
__attribute__ ((always_inline)) inline bool isNext() | |
Check if there is the next element. | |
__attribute__ ((always_inline)) inline CellNNIterator &operator++() | |
take the next element | |
__attribute__ ((always_inline)) inline const typename Cell | |
Get the value of the cell. | |
Private Types | |
typedef boost::low_bits_mask_t< sizeof(size_t) *8-sh_byte > | mask_low |
Private Member Functions | |
void | selectValid () |
Private Attributes | |
size_t | pp |
phase of particle p | |
size_t | p |
index of the particle p | |
const Cell::internal_vector_pos_type & | pos |
Position of the particles p. | |
const openfpm::vector< pos_v< typename Cell::internal_vector_pos_type > > & | ps |
Position of the particle p. | |
Additional Inherited Members | |
Data Fields inherited from CellNNIterator< dim, Cell, NNc_size, impl > | |
const NNc_array< dim, NNc_size > Cell & | cl:NNc_id(0) |
Protected Member Functions inherited from CellNNIterator< dim, Cell, NNc_size, impl > | |
__attribute__ ((always_inline)) inline void selectValid() | |
Select non-empty cell. | |
Protected Attributes inherited from CellNNIterator< dim, Cell, NNc_size, impl > | |
const Cell::Mem_type_type::local_index_type * | start_id |
actual element id | |
const Cell::Mem_type_type::local_index_type * | stop_id |
stop id to read the end of the cell | |
size_t | NNc_id |
Actual NNc_id;. | |
const long int | cell |
Center cell, or cell for witch we are searching the NN-cell. | |
size_t | cell_id |
actual cell id = NNc[NNc_id]+cell stored for performance reason | |
Cell & | cl |
Cell list. | |
const NNc_array< dim, NNc_size > & | NNc |
NN cell id. | |
|
private |
Definition at line 33 of file CellNNIteratorM.hpp.
|
inline |
Cell NN iterator.
cell | Cell id |
NNc | Cell neighborhood indexes (relative) |
cl | Cell structure |
Definition at line 89 of file CellNNIteratorM.hpp.
|
inline |
Get the value of the cell.
Definition at line 107 of file CellNNIteratorM.hpp.
|
inline |
Get the value of the cell.
Definition at line 117 of file CellNNIteratorM.hpp.
|
inline |
|
inlineprivate |
Select the next valid element
Definition at line 50 of file CellNNIteratorM.hpp.
|
private |
index of the particle p
Definition at line 39 of file CellNNIteratorM.hpp.
|
private |
Position of the particles p.
Definition at line 42 of file CellNNIteratorM.hpp.
|
private |
phase of particle p
Definition at line 36 of file CellNNIteratorM.hpp.
|
private |
Position of the particle p.
Definition at line 45 of file CellNNIteratorM.hpp.