Symmetric iterator for the neighborhood of the cell structures. More...
Symmetric 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.
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 85 of file CellNNIteratorRuntimeM.hpp.
#include <CellNNIteratorRuntimeM.hpp>
Public Member Functions | |
CellNNIteratorSymM (size_t cell, size_t pp, size_t p, const long int *NNc, size_t NNc_size, Cell &cl, const typename Cell::internal_vector_pos_type &pos, const 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, RUNTIME, impl > & | operator++ () |
take the next element | |
Public Member Functions inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
__attribute__ ((always_inline)) inline CellNNIterator(size_t cell | |
Cell NN iterator. | |
const long int size_t Cell | NNc_size (NNc_size) |
const long int size_t Cell | cell (cell) |
const long int size_t Cell | cell_id (NNc[NNc_id]+cell) |
const long int size_t Cell | cl (cl) |
const long int size_t 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 the particle p | |
size_t | p |
index of the particle p | |
const Cell::internal_vector_pos_type & | pos |
const openfpm::vector< pos_v< typename Cell::internal_vector_pos_type > > & | ps |
Position of the particles in the phases. | |
Additional Inherited Members | |
Data Fields inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
const long int size_t | NNc_size |
const long int size_t Cell & | cl:NNc_id(0) |
Protected Member Functions inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
__attribute__ ((always_inline)) inline void selectValid() | |
Select non-empty cell. | |
Protected Attributes inherited from CellNNIterator< dim, Cell, RUNTIME, impl > | |
const Cell::Mem_type_type::loc_index * | start_id |
actual element id | |
const Cell::Mem_type_type::loc_index * | stop_id |
stop id to read the end of the cell | |
size_t | NNc_id |
Actual NNc_id;. | |
size_t | NNc_size |
Size of the neighboring cells. | |
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 long int * | NNc |
NN cell id. | |
|
private |
Definition at line 87 of file CellNNIteratorRuntimeM.hpp.
|
inline |
Cell NN iterator.
cell | Cell id |
NNc | Cell neighborhood indexes (relative) |
cl | Cell structure |
Definition at line 142 of file CellNNIteratorRuntimeM.hpp.
|
inline |
Get the value of the cell.
Definition at line 159 of file CellNNIteratorRuntimeM.hpp.
|
inline |
Get the value of the cell.
Definition at line 169 of file CellNNIteratorRuntimeM.hpp.
|
inline |
|
inlineprivate |
Select the next valid element
Definition at line 103 of file CellNNIteratorRuntimeM.hpp.
|
private |
index of the particle p
Definition at line 93 of file CellNNIteratorRuntimeM.hpp.
|
private |
Definition at line 95 of file CellNNIteratorRuntimeM.hpp.
|
private |
phase of the particle p
Definition at line 90 of file CellNNIteratorRuntimeM.hpp.
|
private |
Position of the particles in the phases.
Definition at line 98 of file CellNNIteratorRuntimeM.hpp.