Voro++
Public Member Functions | Friends
voro::voronoicell Class Reference

Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information. More...

#include <cell.hh>

+ Inheritance diagram for voro::voronoicell:

Public Member Functions

void operator= (voronoicell &c)
 
bool nplane (double x, double y, double z, double rsq, int p_id)
 
bool nplane (double x, double y, double z, int p_id)
 
bool plane (double x, double y, double z, double rsq)
 
bool plane (double x, double y, double z)
 
void init (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
 
void init_octahedron (double l)
 
void init_tetrahedron (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
 
- Public Member Functions inherited from voro::voronoicell_base
 voronoicell_base ()
 
 ~voronoicell_base ()
 
void init_base (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
 
void init_octahedron_base (double l)
 
void init_tetrahedron_base (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)
 
void translate (double x, double y, double z)
 
void draw_pov (double x, double y, double z, FILE *fp=stdout)
 
void draw_pov (double x, double y, double z, const char *filename)
 
void draw_pov_mesh (double x, double y, double z, FILE *fp=stdout)
 
void draw_pov_mesh (double x, double y, double z, const char *filename)
 
void draw_gnuplot (double x, double y, double z, FILE *fp=stdout)
 
void draw_gnuplot (double x, double y, double z, const char *filename)
 
double volume ()
 
double max_radius_squared ()
 
double total_edge_distance ()
 
double surface_area ()
 
void centroid (double &cx, double &cy, double &cz)
 
int number_of_faces ()
 
int number_of_edges ()
 
void vertex_orders (std::vector< int > &v)
 
void output_vertex_orders (FILE *fp=stdout)
 
void vertices (std::vector< double > &v)
 
void output_vertices (FILE *fp=stdout)
 
void vertices (double x, double y, double z, std::vector< double > &v)
 
void output_vertices (double x, double y, double z, FILE *fp=stdout)
 
void face_areas (std::vector< double > &v)
 
void output_face_areas (FILE *fp=stdout)
 
void face_orders (std::vector< int > &v)
 
void output_face_orders (FILE *fp=stdout)
 
void face_freq_table (std::vector< int > &v)
 
void output_face_freq_table (FILE *fp=stdout)
 
void face_vertices (std::vector< int > &v)
 
void output_face_vertices (FILE *fp=stdout)
 
void face_perimeters (std::vector< double > &v)
 
void output_face_perimeters (FILE *fp=stdout)
 
void normals (std::vector< double > &v)
 
void output_normals (FILE *fp=stdout)
 
void output_custom (const char *format, FILE *fp=stdout)
 
void output_custom (const char *format, int i, double x, double y, double z, double r, FILE *fp=stdout)
 
template<class vc_class >
bool nplane (vc_class &vc, double x, double y, double z, double rsq, int p_id)
 
bool plane_intersects (double x, double y, double z, double rsq)
 
bool plane_intersects_guess (double x, double y, double z, double rsq)
 
void construct_relations ()
 
void check_relations ()
 
void check_duplicates ()
 
void print_edges ()
 
virtual void neighbors (std::vector< int > &v)
 
virtual void output_neighbors (FILE *fp=stdout)
 
virtual void print_edges_neighbors (int i)
 
int cycle_up (int a, int p)
 
int cycle_down (int a, int p)
 

Friends

class voronoicell_base
 

Additional Inherited Members

- Data Fields inherited from voro::voronoicell_base
int current_vertices
 
int current_vertex_order
 
int current_delete_size
 
int current_delete2_size
 
int p
 
int up
 
int ** ed
 
int * nu
 
double * pts
 
- Protected Member Functions inherited from voro::voronoicell_base
void reset_edges ()
 
template<class vc_class >
void check_memory_for_copy (vc_class &vc, voronoicell_base *vb)
 
void copy (voronoicell_base *vb)
 
- Protected Attributes inherited from voro::voronoicell_base
int * mem
 
int * mec
 
int ** mep
 

Detailed Description

This class is an extension of the voronoicell_base class, in cases when is not necessary to track the IDs of neighboring particles associated with each face of the Voronoi cell.

Definition at line 300 of file cell.hh.

Member Function Documentation

void voro::voronoicell::init ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax 
)
inline

Initializes the Voronoi cell to be rectangular box with the given dimensions.

Parameters
[in](xmin,xmax)the minimum and maximum x coordinates.
[in](ymin,ymax)the minimum and maximum y coordinates.
[in](zmin,zmax)the minimum and maximum z coordinates.

Definition at line 355 of file cell.hh.

void voro::voronoicell::init_octahedron ( double  l)
inline

Initializes the cell to be an octahedron with vertices at (l,0,0), (-l,0,0), (0,l,0), (0,-l,0), (0,0,l), and (0,0,-l).

Parameters
[in]la parameter setting the size of the octahedron.

Definition at line 362 of file cell.hh.

void voro::voronoicell::init_tetrahedron ( double  x0,
double  y0,
double  z0,
double  x1,
double  y1,
double  z1,
double  x2,
double  y2,
double  z2,
double  x3,
double  y3,
double  z3 
)
inline

Initializes the cell to be a tetrahedron.

Parameters
[in](x0,y0,z0)the coordinates of the first vertex.
[in](x1,y1,z1)the coordinates of the second vertex.
[in](x2,y2,z2)the coordinates of the third vertex.
[in](x3,y3,z3)the coordinates of the fourth vertex.

Definition at line 371 of file cell.hh.

bool voro::voronoicell::nplane ( double  x,
double  y,
double  z,
double  rsq,
int  p_id 
)
inline

Cuts a Voronoi cell using by the plane corresponding to the perpendicular bisector of a particle.

Parameters
[in](x,y,z)the position of the particle.
[in]rsqthe modulus squared of the vector.
[in]p_idthe plane ID, ignored for this case where no neighbor tracking is enabled.
Returns
False if the plane cut deleted the cell entirely, true otherwise.

Definition at line 318 of file cell.hh.

bool voro::voronoicell::nplane ( double  x,
double  y,
double  z,
int  p_id 
)
inline

Cuts a Voronoi cell using by the plane corresponding to the perpendicular bisector of a particle.

Parameters
[in](x,y,z)the position of the particle.
[in]p_idthe plane ID, ignored for this case where no neighbor tracking is enabled.
Returns
False if the plane cut deleted the cell entirely, true otherwise.

Definition at line 328 of file cell.hh.

void voro::voronoicell::operator= ( voronoicell c)
inline

Copies the information from another voronoicell class into this class, extending memory allocation if necessary.

Parameters
[in]cthe class to copy.

Definition at line 306 of file cell.hh.

bool voro::voronoicell::plane ( double  x,
double  y,
double  z,
double  rsq 
)
inline

Cuts a Voronoi cell using by the plane corresponding to the perpendicular bisector of a particle.

Parameters
[in](x,y,z)the position of the particle.
[in]rsqthe modulus squared of the vector.
Returns
False if the plane cut deleted the cell entirely, true otherwise.

Definition at line 338 of file cell.hh.

bool voro::voronoicell::plane ( double  x,
double  y,
double  z 
)
inline

Cuts a Voronoi cell using by the plane corresponding to the perpendicular bisector of a particle.

Parameters
[in](x,y,z)the position of the particle.
Returns
False if the plane cut deleted the cell entirely, true otherwise.

Definition at line 346 of file cell.hh.


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