OpenFPM_pdata  1.1.0
Project that contain the implementation of distributed structures
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Friends Pages
PointIteratorSkin< dim, T, Decomposition > Class Template Reference

this class draw particles on subset of grid-like position More...

Detailed Description

template<unsigned int dim, typename T, typename Decomposition>
class PointIteratorSkin< dim, T, Decomposition >

this class draw particles on subset of grid-like position

             (Box B)
                |                    (0.6,0.6)
  +   +   +   + | +   +   +   +   +
    +---+-------+---+
  + | * | +   + | * | +   +   +   +
    |   |       |
  + | * | +   + | * | +   +   +   +
    |   |       |   |
  + | * | +   + | * | +   +   +   +
    |   |       |   |
  + | * | +   + | * | +   +   +   +
    |   |       |   |
  + | * | +   + | * | +   +   +   +
    |   |       |   |
  + | * | +   + | * | +   +   +   +
    |   +-------+   |
  + | *   *   *   * | +   +   +   +
    +---------------+
  +   +   +   +   + | +   +   +   +
(-1.0,-1.0)         |
                    |
                 (Box A)
Suppose we have a grid 9x9 from (-1.0,-1.0 to 0.6,0.6)

Defined a Box A (-0.9,-0.9 to -0.1,0.5) and a box B (-0.7, -0.7 to -0.3,0.5)

This class will return the points indicated with *

Definition at line 54 of file PointIteratorSkin.hpp.

#include <PointIteratorSkin.hpp>

+ Inheritance diagram for PointIteratorSkin< dim, T, Decomposition >:

Public Member Functions

 PointIteratorSkin (Decomposition &dec, size_t(&sz)[dim], const Box< dim, T > &domain, const Box< dim, T > &sub_A, const Box< dim, T > &sub_B, size_t(&bc)[dim])
 Draw Particles. More...
 
Point< dim, T > & get ()
 
PointIteratorSkinoperator++ ()
 Next point. More...
 
bool isNext ()
 
PointIteratorSkin< dim, T,
Decomposition > & 
operator= (PointIteratorSkin< dim, T, Decomposition > &p)
 
void addBoxA (const Box< dim, double > &BoxA)
 

Private Member Functions

void calculateAp ()
 
bool isValidPoint ()
 

Static Private Member Functions

static Box< dim, long int > getAB (size_t(&gs)[dim], const Box< dim, T > &dom, const Box< dim, T > &sub_domA, const Box< dim, T > &sub_domB, T(&sp)[dim], size_t AB)
 

Private Attributes

Point< dim, T > ap
 Actual point.
 
openfpm::vector< Box< dim, T > > sub_domainA
 sub_domain (required to filter out points)
 
Box< dim, T > domain
 domain
 
sp [dim]
 Spacing.
 

Additional Inherited Members

- Protected Member Functions inherited from grid_dist_id_iterator_dec_skin< Decomposition >
 grid_dist_id_iterator_dec_skin (const grid_dist_id_iterator_dec_skin< Decomposition > &tmp)
 Copy constructor. More...
 
 grid_dist_id_iterator_dec_skin (grid_dist_id_iterator_dec_skin< Decomposition > &&tmp)
 Copy constructor. More...
 
 grid_dist_id_iterator_dec_skin (Decomposition &dec, const grid_sm< Decomposition::dims, void > &g_sm, const Box< Decomposition::dims, size_t > &A, const Box< Decomposition::dims, size_t > &B, const size_t(&bc)[Decomposition::dims])
 Constructor of the distributed grid iterator. More...
 
 ~grid_dist_id_iterator_dec_skin ()
 Destructor.
 
grid_dist_id_iterator_dec_skin
< Decomposition > & 
operator++ ()
 Get the next element. More...
 
bool isNext ()
 Check if there is the next element. More...
 
Decomposition::stype getSpacing (size_t i)
 Get the spacing of the grid. More...
 
grid_key_dx< Decomposition::dims > get ()
 Get the actual global key of the grid. More...
 
grid_dist_id_iterator_dec_skin
< Decomposition > & 
operator= (const grid_dist_id_iterator_dec_skin< Decomposition > &tmp)
 Copy operator=. More...
 
grid_dist_id_iterator_dec_skin
< Decomposition > & 
operator= (grid_dist_id_iterator_dec_skin< Decomposition > &&tmp)
 Copy operator=. More...
 
- Protected Member Functions inherited from grid_skin_iterator_bc< Decomposition::dims >
 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> More...
 
grid_skin_iterator_bc< dim > & operator++ ()
 Get the next element. More...
 
bool isNext ()
 Check if there is the next element. More...
 
grid_key_dx< dim > get () const
 Get the actual key. More...
 
void reset ()
 Reset the iterator (it restart from the beginning) More...
 
- Protected Attributes inherited from grid_skin_iterator_bc< Decomposition::dims >
grid_key_dx_iterator_sub_bc< dim > sub_it [2 *dim]
 Internal iterator for each faces.
 

Constructor & Destructor Documentation

template<unsigned int dim, typename T, typename Decomposition>
PointIteratorSkin< dim, T, Decomposition >::PointIteratorSkin ( Decomposition dec,
size_t(&)  sz[dim],
const Box< dim, T > &  domain,
const Box< dim, T > &  sub_A,
const Box< dim, T > &  sub_B,
size_t(&)  bc[dim] 
)
inline

Draw Particles.

Parameters
spgrid spacing

Definition at line 139 of file PointIteratorSkin.hpp.

Member Function Documentation

template<unsigned int dim, typename T, typename Decomposition>
Point<dim,T>& PointIteratorSkin< dim, T, Decomposition >::get ( )
inline

the actual point

Returns
the actual point

Definition at line 158 of file PointIteratorSkin.hpp.

template<unsigned int dim, typename T, typename Decomposition>
bool PointIteratorSkin< dim, T, Decomposition >::isValidPoint ( )
inlineprivate

it check that the actual point is not inside B

Returns
true if the point is not inside B

Definition at line 119 of file PointIteratorSkin.hpp.

template<unsigned int dim, typename T, typename Decomposition>
PointIteratorSkin& PointIteratorSkin< dim, T, Decomposition >::operator++ ( )
inline

Next point.

Returns
itself

Definition at line 168 of file PointIteratorSkin.hpp.


The documentation for this class was generated from the following file: