Voro++
|
A class representing a cylindrical wall object. More...
#include <wall.hh>
Public Member Functions | |
wall_cylinder (double xc_, double yc_, double zc_, double xa_, double ya_, double za_, 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_cylinder::wall_cylinder | ( | double | xc_, |
double | yc_, | ||
double | zc_, | ||
double | xa_, | ||
double | ya_, | ||
double | za_, | ||
double | rc_, | ||
int | w_id_ = -99 |
||
) | [inline] |
Constructs a cylinder wall object.
[in] | (xc_,yc_,zc_) | a point on the axis of the cylinder. |
[in] | (xa_,ya_,za_) | a vector pointing along the direction of the cylinder. |
[in] | rc_ | the radius of the cylinder |
[in] | w_id_ | an ID number to associate with the wall for neighbor tracking. |
bool voro::wall_cylinder::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_cylinder::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_cylinder::cut_cell_base | ( | v_cell & | c, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Cuts a cell by the cylindrical wall object. The cylindrical wall is approximated by a single plane applied at the point on the cylinder 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_cylinder::point_inside | ( | double | x, |
double | y, | ||
double | z | ||
) | [virtual] |
Tests to see whether a point is inside the cylindrical wall object.
[in] | (x,y,z) | the vector to test. |
Implements voro::wall.