Voro++: voro::voronoicell Class Reference

Voro++

- Main Page
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

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] | l | a 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] | rsq | the modulus squared of the vector.
  [in] | p_id | the 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_id | the 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] | c | the 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] | rsq | the 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:

- cell.hh