#include <ParticleLocalityGrid.h>
Inheritance diagram for ParticleLocalityGrid:


This structure is useful for finding the neighbors of a particle without interrogating all particles in the system.
Definition at line 57 of file ParticleLocalityGrid.h.
Public Member Functions | |
| MAKE_PARTICLESTUFF_NAME () | |
| ParticleLocalityGrid (Particles *ps=NULL, gmVector3 go=gmVector3(-10.0,-10.0,-10.0), gmVector3 gs=gmVector3(20.0, 20.0, 20.0), int x=5, int y=5, int z=5, std::string name=std::string("ParticleLocalityGrid")) | |
| Constructor. | |
| ~ParticleLocalityGrid () | |
| Destructor. | |
| void | clear () |
| virtual void | particleAdded (unsigned int i) |
| Callback for particle addition. | |
| virtual void | particleRemoved (unsigned int i) |
| Callback for particle removal. | |
| virtual void | update () |
| Updates the grid. | |
| virtual void | getNeighbors (unsigned int i, std::vector< unsigned int > &neighbors) |
| Fills a vector with neighbor candidates. | |
Private Member Functions | |
| ParticleLocalityCell * | findCell (unsigned int) |
| Finds the appropriate cell for a particle. | |
Private Attributes | |
| int | cell_x |
| Holds cell X index after call to findCell. | |
| int | cell_y |
| Holds cell Y index after call to findCell. | |
| int | cell_z |
| Holds cell Z index after call to findCell. | |
| std::map< unsigned int, ParticleLocalityCell * > | ptoc_map |
| Mapping from particles to grid cells. | |
| ParticleLocalityCell *** | grid |
| The grid of cells. | |
| gmVector3 | cell_dim |
| Dimensions of one cell. | |
| gmVector3 | grid_origin |
| Origin of the grid. | |
| gmVector3 | grid_size |
| Overall size of the grid. | |
| int | grid_x |
| Dimension of grid in X. | |
| int | grid_y |
| Dimension of grid in Y. | |
| int | grid_z |
| Dimension of grid in Z. | |
|
||||||||||||||||||||||||||||||||
|
Constructor.
Definition at line 19 of file ParticleLocalityGrid.cpp. |
|
|
Destructor.
Definition at line 48 of file ParticleLocalityGrid.cpp. |
|
|
Reimplemented from ParticleLocality. Definition at line 62 of file ParticleLocalityGrid.cpp. References ParticleLocalityCell::clear(), grid, grid_x, grid_y, and grid_z. |
|
|
Finds the appropriate cell for a particle. The result is stored in private member variables cell_x, cell_y, cell_z. Definition at line 214 of file ParticleLocalityGrid.cpp. References cell_dim, cell_x, cell_y, cell_z, clampInt(), ParticlePosition::getPosition(), grid, grid_origin, grid_x, grid_y, and grid_z. Referenced by getNeighbors(), particleAdded(), and update(). |
|
||||||||||||
|
Fills a vector with neighbor candidates.
Definition at line 111 of file ParticleLocalityGrid.cpp. References cell_dim, cell_x, cell_y, cell_z, ParticleLocalityCell::fillVector(), findCell(), grid, grid_x, grid_y, grid_z, and ParticleLocality::r. |
|
|
Reimplemented from ParticleLocality. |
|
|
Callback for particle addition.
Reimplemented from ParticleStuff. Definition at line 75 of file ParticleLocalityGrid.cpp. References findCell(), ParticleLocalityCell::particleAdded(), and ptoc_map. |
|
|
Callback for particle removal.
Reimplemented from ParticleStuff. Definition at line 93 of file ParticleLocalityGrid.cpp. References ptoc_map. |
|
|
Updates the grid.
Reimplemented from ParticleLocality. Definition at line 159 of file ParticleLocalityGrid.cpp. References findCell(), ParticleLocalityCell::particleAdded(), ptoc_map, and ParticleLocalityCell::removeIndex(). |
|
|
Dimensions of one cell.
Definition at line 73 of file ParticleLocalityGrid.h. Referenced by findCell(), and getNeighbors(). |
|
|
Holds cell X index after call to findCell.
Definition at line 64 of file ParticleLocalityGrid.h. Referenced by findCell(), and getNeighbors(). |
|
|
Holds cell Y index after call to findCell.
Definition at line 65 of file ParticleLocalityGrid.h. Referenced by findCell(), and getNeighbors(). |
|
|
Holds cell Z index after call to findCell.
Definition at line 66 of file ParticleLocalityGrid.h. Referenced by findCell(), and getNeighbors(). |
|
|
The grid of cells.
Definition at line 71 of file ParticleLocalityGrid.h. Referenced by clear(), findCell(), getNeighbors(), and ~ParticleLocalityGrid(). |
|
|
Origin of the grid.
Definition at line 74 of file ParticleLocalityGrid.h. Referenced by findCell(). |
|
|
Overall size of the grid.
Definition at line 75 of file ParticleLocalityGrid.h. |
|
|
Dimension of grid in X.
Definition at line 77 of file ParticleLocalityGrid.h. Referenced by clear(), findCell(), getNeighbors(), and ~ParticleLocalityGrid(). |
|
|
Dimension of grid in Y.
Definition at line 78 of file ParticleLocalityGrid.h. Referenced by clear(), findCell(), getNeighbors(), and ~ParticleLocalityGrid(). |
|
|
Dimension of grid in Z.
Definition at line 79 of file ParticleLocalityGrid.h. Referenced by clear(), findCell(), and getNeighbors(). |
|
|
Mapping from particles to grid cells.
Definition at line 69 of file ParticleLocalityGrid.h. Referenced by particleAdded(), particleRemoved(), and update(). |
1.3.4