ivutils
|
Z-ordered vector-packed grid. More...
#include <zgrid.h>
Public Member Functions | |
iterator | get_same (const iterator &it) const |
returns iterator with the same indicies but this parent grid | |
![]() | |
iterator | get_same (const iterator &it) const |
returns iterator with the same indicies but this parent grid | |
template<class T , size_t il> | |
UniformGrid (const UniformGrid< T, il, index_t, data_structure_t > &other) | |
constructs grid with the same geometrical layout | |
template<class T , size_t il> | |
void | init (const UniformGrid< T, il, index_t, data_structure_t > &other) |
initializes grid with the same geometrical layout as the other | |
void | init (const Vector_3 &v1, const Vector_3 &v2, const int dir, const index_t *sz, const index_t *start=NULL, const index_t *end=NULL) |
v1, v2 are opposite points of the box which confines the grid sz is array form 3 numbers specifying grid nodes numbers along 3 directions dir is wierd construction. | |
void | SetIteratorRange (const index_t *start=NULL, const index_t *end=NULL) |
sets limits for iterator | |
void | SetInterpolationRange (const index_t *start=NULL, const index_t *end=NULL) |
sets limits for interpolation | |
void | SetMemoryRange (const index_t *start=NULL, const index_t *end=NULL) |
set memory block ranges to be addressed | |
size_t | msize (int dir=-1) const |
gets active array size in memory | |
size_t | size () const |
gets full size in memory (including auxilliary cells) | |
Vector_3 | get_total_surface () const |
get total grid surface, if grid is 2D in 3D space | |
Vector_3 | Position (index_t ix, index_t iy, index_t iz) const |
index_t | get_range1 (index_t shift) const |
gets the loop ranges for two loops: [0, range1) and [range1, nintz) which must be performed for each interleave bank for convolution with given positive shift returns: bank section point: range1 bank shift for the first loop (the other one is dbank0+1), shifts for the first and the second loop | |
bool | check_interpolation_ind (index_t ix, index_t iy, index_t iz) const |
validity check for interpolation index | |
bool | check_memory_ind (index_t ix, index_t iy, index_t iz) const |
validity check for memory index | |
bool | check_iterator_ind (index_t ix, index_t iy, index_t iz) const |
validity check for iterator index | |
template<typename iter_t > | |
bool | check_iterator_ind (const iter_t &it) const |
validity check for iterator index | |
bool | check_iterator_ind_comp (int comp, index_t ix) const |
validity check for memory index by component | |
int | GetCoeff (const Vector_3 &place, index_t *int_ind, vec_type *values, int force_external=0, std::vector< Vector_3 > *nonlocal=NULL, bool all_nonlocal=false) const |
Gets interpolation coefficients (int_ind - index ararys, values - coefficients in interpolation). | |
int | test_local (const Vector_3 &place) const |
if point indices are inside interpolation region | |
value_tt | Interpolate (const Vector_3 &place, int force_external=0) const |
interpolate value using array ptr | |
int | AddValue (const Vector_3 &place, value_tt value, int force_external=0) |
distributes the value being added between nearest grid points | |
Additional Inherited Members | |
![]() | |
void | set_range (index_t *st, index_t *en, index_t *gr, const index_t *start, const index_t *end) |
sets range to st, en and gr uses start and end for st and en, or nst and nen, if start = end = NULL | |
virtual void | get_1d_coeff (const Vector_3 &p, index_t *ind, vec_type *c, bool nonlocal=false) const |
gets 1d interpolation coefficiencts for projection on dir axis | |
template<typename descendant > | |
UniformGrid (descendant *des) | |
Constructor to be used in descendant classes. | |
![]() | |
Vector_3 | dx |
data array | |
Vector_3 | pref |
space step | |
Vector_3 | ds |
from where grid starts. wierd construction, delete it | |
Box | b |
surface area of one elementary cell | |
index_t | ngr [3] |
grid is confined within this box | |
index_t | igr [3] |
iterator settings. iterator starts, ends and moves correspondingly to this settings | |
index_t | mgr [3] |
memory settings | |
size_t | GSZ |
mgr[1]*mgr[2] | |
index_t | nintz |
total used memory size | |
Z-ordered vector-packed grid.