Voro++
|
A class representing a spherical wall object. More...
#include <wall.hh>
Public Member Functions | |
wall_sphere (double xc_, double yc_, double zc_, double rc_, int w_id_=-99) | |
bool | point_inside (double x, double y, double z) |
template<class v_cell > | |
bool | cut_cell_base (v_cell &c, double x, double y, double z) |
bool | cut_cell (voronoicell &c, double x, double y, double z) |
bool | cut_cell (voronoicell_neighbor &c, double x, double y, double z) |
voro::wall_sphere::wall_sphere | ( | double | xc_, |
double | yc_, | ||
double | zc_, | ||
double | rc_, | ||
int | w_id_ = -99 |
||
) | [inline] |
bool voro::wall_sphere::cut_cell | ( | voronoicell & | c, |
double | x, | ||
double | y, | ||
double | z | ||
) | [inline, virtual] |
A pure virtual function for cutting a cell without neighbor-tracking with a wall.
Implements voro::wall.
bool voro::wall_sphere::cut_cell | ( | voronoicell_neighbor & | c, |
double | x, | ||
double | y, | ||
double | z | ||
) | [inline, virtual] |
A pure virtual function for cutting a cell with neighbor-tracking enabled with a wall.
Implements voro::wall.
bool voro::wall_sphere::cut_cell_base | ( | v_cell & | c, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Cuts a cell by the sphere wall object. The spherical wall is approximated by a single plane applied at the point on the sphere which is closest to the center of the cell. This works well for particle arrangements that are packed against the wall, but loses accuracy for sparse particle distributions.
[in,out] | c | the Voronoi cell to be cut. |
[in] | (x,y,z) | the location of the Voronoi cell. |
bool voro::wall_sphere::point_inside | ( | double | x, |
double | y, | ||
double | z | ||
) | [virtual] |
Tests to see whether a point is inside the sphere wall object.
[in,out] | (x,y,z) | the vector to test. |
Implements voro::wall.