|
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 | |
Public Member Functions inherited from UniformGrid< value_tt, interleave, index_t, data_structure_t > | |
| 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 | |
Protected Member Functions inherited from UniformGrid< value_tt, interleave, index_t, data_structure_t > | |
| 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. | |
Protected Attributes inherited from UniformGrid< value_tt, interleave, index_t, data_structure_t > | |
| 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.