Page MenuHomec4science

classvoro_1_1voronoicell__base.html
No OneTemporary

File Metadata

Created
Sat, Jul 13, 06:18

classvoro_1_1voronoicell__base.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Voro++: voro::voronoicell_base Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Voro++
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>voro</b></li><li class="navelem"><a class="el" href="classvoro_1_1voronoicell__base.html">voronoicell_base</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">voro::voronoicell_base Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A class representing a single Voronoi cell.
<a href="classvoro_1_1voronoicell__base.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="cell_8hh_source.html">cell.hh</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for voro::voronoicell_base:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center">
<img src="classvoro_1_1voronoicell__base.png" usemap="#voro::voronoicell_base_map" alt=""/>
<map id="voro::voronoicell_base_map" name="voro::voronoicell_base_map">
<area href="classvoro_1_1voronoicell.html" title="Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information..." alt="voro::voronoicell" shape="rect" coords="0,56,164,80"/>
<area href="classvoro_1_1voronoicell__neighbor.html" title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information..." alt="voro::voronoicell_neighbor" shape="rect" coords="174,56,338,80"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a83d13bf519c98bf0ea5804763ffc967d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a83d13bf519c98bf0ea5804763ffc967d">voronoicell_base</a> ()</td></tr>
<tr class="memitem:ac959634a1ae2e3201e96624f44e7e71e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ac959634a1ae2e3201e96624f44e7e71e">~voronoicell_base</a> ()</td></tr>
<tr class="memitem:a4c7f5406ba3beb1aa0d047592316c68d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a4c7f5406ba3beb1aa0d047592316c68d">init_base</a> (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)</td></tr>
<tr class="memitem:aab954caa57c67a26c03b0377f5778bb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aab954caa57c67a26c03b0377f5778bb1">init_octahedron_base</a> (double l)</td></tr>
<tr class="memitem:ae71280e1c36c5f840f870d55e91c027b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ae71280e1c36c5f840f870d55e91c027b">init_tetrahedron_base</a> (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3)</td></tr>
<tr class="memitem:ab2c8534b380907975eb60f3441d50e1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ab2c8534b380907975eb60f3441d50e1e">translate</a> (double x, double y, double z)</td></tr>
<tr class="memitem:a923ffa62bd5d62070cd29e01f3a1327a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a923ffa62bd5d62070cd29e01f3a1327a">draw_pov</a> (double x, double y, double z, FILE *fp=stdout)</td></tr>
<tr class="memitem:a8138dc62fc6288c772b0483d0eb4eb96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a8138dc62fc6288c772b0483d0eb4eb96">draw_pov</a> (double x, double y, double z, const char *filename)</td></tr>
<tr class="memitem:a1b52986eadcea3b6b230626a6dbddc40"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a1b52986eadcea3b6b230626a6dbddc40">draw_pov_mesh</a> (double x, double y, double z, FILE *fp=stdout)</td></tr>
<tr class="memitem:ac572b3e8ed428c12f38243b48bf39099"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ac572b3e8ed428c12f38243b48bf39099">draw_pov_mesh</a> (double x, double y, double z, const char *filename)</td></tr>
<tr class="memitem:a1c0657c1d89313089bbd437170c97d46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a1c0657c1d89313089bbd437170c97d46">draw_gnuplot</a> (double x, double y, double z, FILE *fp=stdout)</td></tr>
<tr class="memitem:ac7cb75aa645c98107c9c0162fabf698e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ac7cb75aa645c98107c9c0162fabf698e">draw_gnuplot</a> (double x, double y, double z, const char *filename)</td></tr>
<tr class="memitem:a92f69986a6f78e7b8b6d9f5778ed99ba"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a92f69986a6f78e7b8b6d9f5778ed99ba">volume</a> ()</td></tr>
<tr class="memitem:a6a29a361a158db038a5c4c8e47322bd5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a6a29a361a158db038a5c4c8e47322bd5">max_radius_squared</a> ()</td></tr>
<tr class="memitem:a94fc0aba05c11fba465449bc1c4217e9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a94fc0aba05c11fba465449bc1c4217e9">total_edge_distance</a> ()</td></tr>
<tr class="memitem:af1a68eea414a0a52b072005af7bd710a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af1a68eea414a0a52b072005af7bd710a">surface_area</a> ()</td></tr>
<tr class="memitem:a7ea57c92bba3110da745381c5877cec3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a7ea57c92bba3110da745381c5877cec3">centroid</a> (double &amp;cx, double &amp;cy, double &amp;cz)</td></tr>
<tr class="memitem:a56b835abe6d47cb67b206202125eb406"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a56b835abe6d47cb67b206202125eb406">number_of_faces</a> ()</td></tr>
<tr class="memitem:a5dbd3cd4e9e9a41744e1a2a4c8f550c0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a5dbd3cd4e9e9a41744e1a2a4c8f550c0">number_of_edges</a> ()</td></tr>
<tr class="memitem:adfed605232f7e6d1b52276010facbf08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#adfed605232f7e6d1b52276010facbf08">vertex_orders</a> (std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="memitem:af92d19d0e7fc07006bcd8ea30c9df447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af92d19d0e7fc07006bcd8ea30c9df447">output_vertex_orders</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:ab6b1755fb46b262df8f8bc2980c7470a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ab6b1755fb46b262df8f8bc2980c7470a">vertices</a> (std::vector&lt; double &gt; &amp;v)</td></tr>
<tr class="memitem:aee879731b1f4feb9f630d9b7f9c0062f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aee879731b1f4feb9f630d9b7f9c0062f">output_vertices</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:a4345486c4a2039f523d42fc670943fab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a4345486c4a2039f523d42fc670943fab">vertices</a> (double x, double y, double z, std::vector&lt; double &gt; &amp;v)</td></tr>
<tr class="memitem:aec32739bb3f9393f4ddc33d90796d494"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aec32739bb3f9393f4ddc33d90796d494">output_vertices</a> (double x, double y, double z, FILE *fp=stdout)</td></tr>
<tr class="memitem:a4e6698c49580b3a64046230e02f0f8ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a4e6698c49580b3a64046230e02f0f8ea">face_areas</a> (std::vector&lt; double &gt; &amp;v)</td></tr>
<tr class="memitem:a0492ecd057449172ca6d3993cb0661e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a0492ecd057449172ca6d3993cb0661e4">output_face_areas</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:af9bad3fddace8e63ac4c0a5874aee7c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af9bad3fddace8e63ac4c0a5874aee7c5">face_orders</a> (std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="memitem:ad14069d3bebcda9353b07488f512800d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ad14069d3bebcda9353b07488f512800d">output_face_orders</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:a9df53445116446fafea8ffc4ee1afa76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a9df53445116446fafea8ffc4ee1afa76">face_freq_table</a> (std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="memitem:a38929ec0787bb1acac5f1f7b9ec7cadf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a38929ec0787bb1acac5f1f7b9ec7cadf">output_face_freq_table</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:a83e74ffece2b313f6691f467769a16f5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a83e74ffece2b313f6691f467769a16f5">face_vertices</a> (std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="memitem:a67d6682dd62b76162f83822a17de6fe5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a67d6682dd62b76162f83822a17de6fe5">output_face_vertices</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:a335daba5a84e43c278384cae6ecefff3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a335daba5a84e43c278384cae6ecefff3">face_perimeters</a> (std::vector&lt; double &gt; &amp;v)</td></tr>
<tr class="memitem:a5dc3ae580a5f25424d50d4015aa878ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a5dc3ae580a5f25424d50d4015aa878ba">output_face_perimeters</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:aebbbd4815cfbbe5cb1c71a682872664d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aebbbd4815cfbbe5cb1c71a682872664d">normals</a> (std::vector&lt; double &gt; &amp;v)</td></tr>
<tr class="memitem:aae096d26d957c3e5b0f02b20d493a3ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aae096d26d957c3e5b0f02b20d493a3ff">output_normals</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:a095c6bfc1b9b7a087d0b35b443e5c023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a095c6bfc1b9b7a087d0b35b443e5c023">output_custom</a> (const char *format, FILE *fp=stdout)</td></tr>
<tr class="memitem:ab6b8ff237f7b3e318c3756cd38586ec4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ab6b8ff237f7b3e318c3756cd38586ec4">output_custom</a> (const char *format, int i, double x, double y, double z, double r, FILE *fp=stdout)</td></tr>
<tr class="memitem:a33184cd45a3090291a080c4aff08a2fd"><td class="memTemplParams" colspan="2">template&lt;class vc_class &gt; </td></tr>
<tr class="memitem:a33184cd45a3090291a080c4aff08a2fd"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a33184cd45a3090291a080c4aff08a2fd">nplane</a> (vc_class &amp;vc, double x, double y, double z, double rsq, int p_id)</td></tr>
<tr class="memitem:af6fd00a511226fd8dc4f27e34f002fc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af6fd00a511226fd8dc4f27e34f002fc1">plane_intersects</a> (double x, double y, double z, double rsq)</td></tr>
<tr class="memitem:afe3d860ac52be1326e69ba8c0750530d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#afe3d860ac52be1326e69ba8c0750530d">plane_intersects_guess</a> (double x, double y, double z, double rsq)</td></tr>
<tr class="memitem:af49d85cd2a3daf84d623ab09ab7037cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af49d85cd2a3daf84d623ab09ab7037cf">construct_relations</a> ()</td></tr>
<tr class="memitem:ae7bb21f644a45946001beef598a1da1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ae7bb21f644a45946001beef598a1da1f">check_relations</a> ()</td></tr>
<tr class="memitem:a3f6c0b98feb914c324248cd3d3baf43d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a3f6c0b98feb914c324248cd3d3baf43d">check_duplicates</a> ()</td></tr>
<tr class="memitem:a8a7e29d041abbd58406e2c05a9a6248a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a8a7e29d041abbd58406e2c05a9a6248a">print_edges</a> ()</td></tr>
<tr class="memitem:a59dd181ccbcc66370ef8b5c4bf250843"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a59dd181ccbcc66370ef8b5c4bf250843">neighbors</a> (std::vector&lt; int &gt; &amp;v)</td></tr>
<tr class="memitem:a99837f8d963c57c2c244518ba0ae4b8f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a99837f8d963c57c2c244518ba0ae4b8f">output_neighbors</a> (FILE *fp=stdout)</td></tr>
<tr class="memitem:ac164b3767ce186360fb3308e349e058c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ac164b3767ce186360fb3308e349e058c">print_edges_neighbors</a> (int i)</td></tr>
<tr class="memitem:a1d86762311d8860960a45cc409b14f0f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a1d86762311d8860960a45cc409b14f0f">cycle_up</a> (int a, int <a class="el" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>)</td></tr>
<tr class="memitem:adfccfa7dce395277535f61f780d87c8b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#adfccfa7dce395277535f61f780d87c8b">cycle_down</a> (int a, int <a class="el" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a>)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:ab0b624e4e72fca14c99bf1c41c430614"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#ab0b624e4e72fca14c99bf1c41c430614">current_vertices</a></td></tr>
<tr class="memitem:a14c97918200da778388673728da29274"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a14c97918200da778388673728da29274">current_vertex_order</a></td></tr>
<tr class="memitem:a7dbec3b0b6ea24e22e651cf76f06dc04"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a7dbec3b0b6ea24e22e651cf76f06dc04">current_delete_size</a></td></tr>
<tr class="memitem:a2a238c710c2e91045ef9deae0faf8dc9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a2a238c710c2e91045ef9deae0faf8dc9">current_delete2_size</a></td></tr>
<tr class="memitem:a7e69469f95464afbeb9feec927507243"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a7e69469f95464afbeb9feec927507243">p</a></td></tr>
<tr class="memitem:a7746d94ae036439d60c3e4a9e37f6d15"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a7746d94ae036439d60c3e4a9e37f6d15">up</a></td></tr>
<tr class="memitem:a85fec05865342d7efca9d9fd11b60342"><td class="memItemLeft" align="right" valign="top">int **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a85fec05865342d7efca9d9fd11b60342">ed</a></td></tr>
<tr class="memitem:abc7ec6777725e0ddffbbe2ecbe81c6a1"><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#abc7ec6777725e0ddffbbe2ecbe81c6a1">nu</a></td></tr>
<tr class="memitem:aa4e3f22d4ff450097571e95caeda1b3d"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aa4e3f22d4ff450097571e95caeda1b3d">pts</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a5d09c9e36ad159fcd23cfef8855cae61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a5d09c9e36ad159fcd23cfef8855cae61">reset_edges</a> ()</td></tr>
<tr class="memitem:af2c9d916f946ba8d9c7e4c0a7e65215b"><td class="memTemplParams" colspan="2">template&lt;class vc_class &gt; </td></tr>
<tr class="memitem:af2c9d916f946ba8d9c7e4c0a7e65215b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#af2c9d916f946ba8d9c7e4c0a7e65215b">check_memory_for_copy</a> (vc_class &amp;vc, <a class="el" href="classvoro_1_1voronoicell__base.html">voronoicell_base</a> *vb)</td></tr>
<tr class="memitem:a47d450e9b9be0fab103f401ddcaeefac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a47d450e9b9be0fab103f401ddcaeefac">copy</a> (<a class="el" href="classvoro_1_1voronoicell__base.html">voronoicell_base</a> *vb)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aafad86ca11af64de2788637b466479f6"><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#aafad86ca11af64de2788637b466479f6">mem</a></td></tr>
<tr class="memitem:accebb51f721d72fc6d460f1368180571"><td class="memItemLeft" align="right" valign="top">int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#accebb51f721d72fc6d460f1368180571">mec</a></td></tr>
<tr class="memitem:a2b115cbde725e468000a1da234b2fc66"><td class="memItemLeft" align="right" valign="top">int **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1voronoicell__base.html#a2b115cbde725e468000a1da234b2fc66">mep</a></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a85309950568779a7e68089f34fdace12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85309950568779a7e68089f34fdace12"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>voronoicell</b></td></tr>
<tr class="memitem:acf08adbb46393002b1d9c817131de822"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf08adbb46393002b1d9c817131de822"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>voronoicell_neighbor</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This class represents a single Voronoi cell, as a collection of vertices that are connected by edges. The class contains routines for initializing the Voronoi cell to be simple shapes such as a box, tetrahedron, or octahedron. It the contains routines for recomputing the cell based on cutting it by a plane, which forms the key routine for the Voronoi cell computation. It contains numerous routine for computing statistics about the Voronoi cell, and it can output the cell in several formats.</p>
<p>This class is not intended for direct use, but forms the base of the voronoicell and <a class="el" href="classvoro_1_1voronoicell__neighbor.html" title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a> classes, which extend it based on whether neighboring particle ID information needs to be tracked. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00033">33</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a83d13bf519c98bf0ea5804763ffc967d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">voro::voronoicell_base::voronoicell_base </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs a Voronoi cell and sets up the initial memory. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00020">20</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ac959634a1ae2e3201e96624f44e7e71e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">voro::voronoicell_base::~voronoicell_base </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The voronoicell destructor deallocates all the dynamic memory. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00043">43</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a7ea57c92bba3110da745381c5877cec3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::centroid </td>
<td>(</td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>cx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>cy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double &amp;&#160;</td>
<td class="paramname"><em>cz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the centroid of the Voronoi cell, by decomposing the cell into tetrahedra extending outward from the zeroth vertex. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">(cx,cy,cz)</td><td>references to floating point numbers in which to pass back the centroid vector. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01408">1408</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a3f6c0b98feb914c324248cd3d3baf43d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::check_duplicates </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This routine checks for any two vertices that are connected by more than one edge. The plane algorithm is designed so that this should not happen, so any occurrences are most likely errors. Note that the routine is O(p), so running it every time the plane routine is called will result in a significant slowdown. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00342">342</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="af2c9d916f946ba8d9c7e4c0a7e65215b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class vc_class &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">template void voro::voronoicell_base::check_memory_for_copy </td>
<td>(</td>
<td class="paramtype">vc_class &amp;&#160;</td>
<td class="paramname"><em>vc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classvoro_1_1voronoicell__base.html">voronoicell_base</a> *&#160;</td>
<td class="paramname"><em>vb</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Ensures that enough memory is allocated prior to carrying out a copy. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vc</td><td>a reference to the specialized version of the calling class. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">vb</td><td>a pointered to the class to be copied. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00056">56</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ae7bb21f644a45946001beef598a1da1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::check_relations </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks that the relational table of the Voronoi cell is accurate, and prints out any errors. This algorithm is O(p), so running it every time the plane routine is called will result in a significant slowdown. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00331">331</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="af49d85cd2a3daf84d623ab09ab7037cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::construct_relations </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs the relational table if the edges have been specified. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00349">349</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a47d450e9b9be0fab103f401ddcaeefac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::copy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classvoro_1_1voronoicell__base.html">voronoicell_base</a> *&#160;</td>
<td class="paramname"><em>vb</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copies the vertex and edge information from another class. The routine assumes that enough memory is available for the copy. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vb</td><td>a pointer to the class to copy. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00065">65</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="adfccfa7dce395277535f61f780d87c8b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::cycle_down </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a simple inline function for picking out the index of the next edge clockwise from the current vertex. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>the index of an edge of the current vertex. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>the number of the vertex. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>nu[p]-1 if a=0, or a-1 otherwise. </dd></dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00221">221</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a1d86762311d8860960a45cc409b14f0f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::cycle_up </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a simple inline function for picking out the index of the next edge counterclockwise at the current vertex. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>the index of an edge of the current vertex. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p</td><td>the number of the vertex. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>0 if a=nu[p]-1, or a+1 otherwise. </dd></dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00215">215</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a1c0657c1d89313089bbd437170c97d46"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_gnuplot </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the edges of the Voronoi cell in gnuplot format to an output stream. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement vector to be added to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01507">1507</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ac7cb75aa645c98107c9c0162fabf698e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_gnuplot </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the cell in Gnuplot format a given file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement to add to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00119">119</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a923ffa62bd5d62070cd29e01f3a1327a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_pov </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the edges of the Voronoi cell in POV-Ray format to an open file stream, displacing the cell by given vector. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement vector to be added to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01487">1487</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a8138dc62fc6288c772b0483d0eb4eb96"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_pov </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the cell in POV-Ray format, using cylinders for edges and spheres for vertices, to a given file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement to add to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00098">98</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a1b52986eadcea3b6b230626a6dbddc40"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_pov_mesh </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the Voronoi cell in the POV mesh2 format, described in section 1.3.2.2 of the POV-Ray documentation. The mesh2 output consists of a list of vertex vectors, followed by a list of triangular faces. The routine also makes use of the optional inside_vector specification, which makes the mesh object solid, so the the POV-Ray Constructive Solid Geometry (CSG) can be applied. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement vector to be added to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>a file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01542">1542</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ac572b3e8ed428c12f38243b48bf39099"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::draw_pov_mesh </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>filename</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the cell in POV-Ray format as a mesh2 object to a given file. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>a displacement to add to the cell's position. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00109">109</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a4e6698c49580b3a64046230e02f0f8ea"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::face_areas </td>
<td>(</td>
<td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the areas of each face of the Voronoi cell and prints the results to an output stream. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01336">1336</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a9df53445116446fafea8ffc4ee1afa76"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::face_freq_table </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the number of edges that each face has and outputs a frequency table of the results. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01891">1891</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="af9bad3fddace8e63ac4c0a5874aee7c5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::face_orders </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a list of the number of edges in each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01866">1866</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a335daba5a84e43c278384cae6ecefff3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::face_perimeters </td>
<td>(</td>
<td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This routine returns the perimeters of each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01807">1807</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a83e74ffece2b313f6691f467769a16f5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::face_vertices </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>For each face, this routine outputs a bracketed sequence of numbers containing a list of all the vertices that make up that face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01839">1839</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a4c7f5406ba3beb1aa0d047592316c68d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::init_base </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>xmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>xmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>ymin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>ymax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>zmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>zmax</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a Voronoi cell as a rectangular box with the given dimensions. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(xmin,xmax)</td><td>the minimum and maximum x coordinates. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(ymin,ymax)</td><td>the minimum and maximum y coordinates. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(zmin,zmax)</td><td>the minimum and maximum z coordinates. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00257">257</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="aab954caa57c67a26c03b0377f5778bb1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::init_octahedron_base </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>l</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a Voronoi cell as a regular octahedron. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">l</td><td>The distance from the octahedron center to a vertex. Six vertices are initialized at (-l,0,0), (l,0,0), (0,-l,0), (0,l,0), (0,0,-l), and (0,0,l). </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00286">286</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ae71280e1c36c5f840f870d55e91c027b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::init_tetrahedron_base </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z3</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a Voronoi cell as a tetrahedron. It assumes that the normal to the face for the first three vertices points inside. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramname">(x0,y0,z0)</td><td>a position vector for the first vertex. </td></tr>
<tr><td class="paramname">(x1,y1,z1)</td><td>a position vector for the second vertex. </td></tr>
<tr><td class="paramname">(x2,y2,z2)</td><td>a position vector for the third vertex. </td></tr>
<tr><td class="paramname">(x3,y3,z3)</td><td>a position vector for the fourth vertex. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00312">312</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a6a29a361a158db038a5c4c8e47322bd5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double voro::voronoicell_base::max_radius_squared </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the maximum radius squared of a vertex from the center of the cell. It can be used to determine when enough particles have been testing an all planes that could cut the cell have been considered. </p>
<dl class="section return"><dt>Returns:</dt><dd>The maximum radius squared of a vertex. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01454">1454</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a59dd181ccbcc66370ef8b5c4bf250843"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void voro::voronoicell_base::neighbors </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a list of IDs of neighboring particles corresponding to each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>a reference to a vector in which to return the results. If no neighbor information is available, a blank vector is returned. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a1b18405092d2229e1001933925f403ca">voro::voronoicell_neighbor</a>.</p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00197">197</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="aebbbd4815cfbbe5cb1c71a682872664d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::normals </td>
<td>(</td>
<td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>For each face of the Voronoi cell, this routine prints the out the normal vector of the face, and scales it to the distance from the cell center to that plane. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01639">1639</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a33184cd45a3090291a080c4aff08a2fd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class vc_class &gt; </div>
<table class="memname">
<tr>
<td class="memname">template bool voro::voronoicell_base::nplane </td>
<td>(</td>
<td class="paramtype">vc_class &amp;&#160;</td>
<td class="paramname"><em>vc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rsq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>p_id</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Cuts the Voronoi cell by a particle whose center is at a separation of (x,y,z) from the cell center. The value of rsq should be initially set to <img class="formulaInl" alt="$x^2+y^2+z^2$" src="form_0.png"/>. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vc</td><td>a reference to the specialized version of the calling class. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the normal vector to the plane. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rsq</td><td>the distance along this vector of the plane. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">p_id</td><td>the plane ID (for neighbor tracking only). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>False if the plane cut deleted the cell entirely, true otherwise. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00404">404</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a5dbd3cd4e9e9a41744e1a2a4c8f550c0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::number_of_edges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Counts the number of edges of the Voronoi cell. </p>
<dl class="section return"><dt>Returns:</dt><dd>the number of edges. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l02007">2007</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a56b835abe6d47cb67b206202125eb406"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::number_of_faces </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of faces of a computed Voronoi cell. </p>
<dl class="section return"><dt>Returns:</dt><dd>The number of faces. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01721">1721</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a095c6bfc1b9b7a087d0b35b443e5c023"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_custom </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a custom string of information about the Voronoi cell to a file. It assumes the cell is at (0,0,0) and has a the default_radius associated with it. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>the custom format string to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00182">182</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="ab6b8ff237f7b3e318c3756cd38586ec4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_custom </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a custom string of information about the Voronoi cell. The string of information follows a similar style as the C printf command, and detailed information about its format is available at <a href="http://math.lbl.gov/voro++/doc/custom.html">http://math.lbl.gov/voro++/doc/custom.html</a>. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>the custom string to print. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>the ID of the particle associated with this Voronoi cell. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position of the particle associated with this Voronoi cell. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>a radius associated with the particle. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l02023">2023</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a0492ecd057449172ca6d3993cb0661e4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_face_areas </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the areas of the faces. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00140">140</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a38929ec0787bb1acac5f1f7b9ec7cadf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_face_freq_table </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00153">153</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="ad14069d3bebcda9353b07488f512800d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_face_orders </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a list of the number of sides of each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00147">147</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a5dc3ae580a5f25424d50d4015aa878ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_face_perimeters </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a list of the perimeters of each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00166">166</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a67d6682dd62b76162f83822a17de6fe5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_face_vertices </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00159">159</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a99837f8d963c57c2c244518ba0ae4b8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void voro::voronoicell_base::output_neighbors </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a virtual function that is overridden by a routine to print a list of IDs of neighboring particles corresponding to each face. By default, when no neighbor information is available, the routine does nothing. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a2b212f8abaf92200e8ee4b5eee0e60d1">voro::voronoicell_neighbor</a>.</p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00203">203</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="aae096d26d957c3e5b0f02b20d493a3ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_normals </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs a list of the perimeters of each face. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00173">173</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="af92d19d0e7fc07006bcd8ea30c9df447"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_vertex_orders </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the vertex orders. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01751">1751</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="aee879731b1f4feb9f630d9b7f9c0062f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_vertices </td>
<td>(</td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the vertex vectors using the local coordinate system. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01772">1772</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="aec32739bb3f9393f4ddc33d90796d494"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::output_vertices </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>fp</em> = <code>stdout</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Outputs the vertex vectors using the global coordinate system. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">fp</td><td>the file handle to write to. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the particle in the global coordinate system. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01798">1798</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="af6fd00a511226fd8dc4f27e34f002fc1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool voro::voronoicell_base::plane_intersects </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rsq</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This routine tests to see whether the cell intersects a plane by starting from the guess point up. If up intersects, then it immediately returns true. Otherwise, it calls the plane_intersects_track() routine. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the normal vector to the plane. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rsq</td><td>the distance along this vector of the plane. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>False if the plane does not intersect the plane, true if it does. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01920">1920</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="afe3d860ac52be1326e69ba8c0750530d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool voro::voronoicell_base::plane_intersects_guess </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>rsq</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This routine tests to see if a cell intersects a plane. It first tests a random sample of approximately sqrt(p)/4 points. If any of those are intersect, then it immediately returns true. Otherwise, it takes the closest point and passes that to plane_intersect_track() routine. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the normal vector to the plane. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rsq</td><td>the distance along this vector of the plane. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>False if the plane does not intersect the plane, true if it does. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01933">1933</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a8a7e29d041abbd58406e2c05a9a6248a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::print_edges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Prints the vertices, their edges, the relation table, and also notifies if any memory errors are visible. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l02220">2220</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ac164b3767ce186360fb3308e349e058c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void voro::voronoicell_base::print_edges_neighbors </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This a virtual function that is overridden by a routine to print the neighboring particle IDs for a given vertex. By default, when no neighbor information is available, the routine does nothing. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>the vertex to consider. </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classvoro_1_1voronoicell__neighbor.html#a868581daaec73455618629e668c92d38">voro::voronoicell_neighbor</a>.</p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00209">209</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a5d09c9e36ad159fcd23cfef8855cae61"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::reset_edges </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Several routines in the class that gather cell-based statistics internally track their progress by flipping edges to negative so that they know what parts of the cell have already been tested. This function resets them back to positive. When it is called, it assumes that every edge in the routine should have already been flipped to negative, and it bails out with an internal error if it encounters a positive edge. </p>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01572">1572</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="af1a68eea414a0a52b072005af7bd710a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double voro::voronoicell_base::surface_area </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the total surface area of the Voronoi cell. </p>
<dl class="section return"><dt>Returns:</dt><dd>The computed area. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01372">1372</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a94fc0aba05c11fba465449bc1c4217e9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double voro::voronoicell_base::total_edge_distance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the total edge distance of the Voronoi cell. </p>
<dl class="section return"><dt>Returns:</dt><dd>A floating point number holding the calculated distance. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01468">1468</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ab2c8534b380907975eb60f3441d50e1e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::translate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Translates the vertices of the Voronoi cell by a given vector. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the coordinates of the vector. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l00105">105</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="adfed605232f7e6d1b52276010facbf08"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::vertex_orders </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a vector of the vertex orders. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01744">1744</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="ab6b1755fb46b262df8f8bc2980c7470a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::vertices </td>
<td>(</td>
<td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a vector of the vertex vectors using the local coordinate system. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01760">1760</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a4345486c4a2039f523d42fc670943fab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void voro::voronoicell_base::vertices </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; double &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a vector of the vertex vectors in the global coordinate system. </p>
<dl class="params"><dt>Parameters:</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>the vector to store the results in. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the particle in the global coordinate system. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01784">1784</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<a class="anchor" id="a92f69986a6f78e7b8b6d9f5778ed99ba"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double voro::voronoicell_base::volume </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calculates the volume of the Voronoi cell, by decomposing the cell into tetrahedra extending outward from the zeroth vertex, whose volumes are evaluated using a scalar triple product. </p>
<dl class="section return"><dt>Returns:</dt><dd>A floating point number holding the calculated volume. </dd></dl>
<p>Definition at line <a class="el" href="cell_8cc_source.html#l01299">1299</a> of file <a class="el" href="cell_8cc_source.html">cell.cc</a>.</p>
</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="a2a238c710c2e91045ef9deae0faf8dc9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::current_delete2_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>This sets the size of the auxiliary delete stack. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00049">49</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a7dbec3b0b6ea24e22e651cf76f06dc04"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::current_delete_size</td>
</tr>
</table>
</div><div class="memdoc">
<p>This sets the size of the main delete stack. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00047">47</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a14c97918200da778388673728da29274"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::current_vertex_order</td>
</tr>
</table>
</div><div class="memdoc">
<p>This holds the current maximum allowed order of a vertex, which sets the size of the mem, mep, and mec arrays. If a vertex is created with more vertices than this, the arrays are dynamically extended using the add_memory_vorder routine. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00045">45</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="ab0b624e4e72fca14c99bf1c41c430614"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::current_vertices</td>
</tr>
</table>
</div><div class="memdoc">
<p>This holds the current size of the arrays ed and nu, which hold the vertex information. If more vertices are created than can fit in this array, then it is dynamically extended using the add_memory_vertices routine. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00039">39</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a85fec05865342d7efca9d9fd11b60342"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int** voro::voronoicell_base::ed</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a two dimensional array that holds information about the edge connections of the vertices that make up the cell. The two dimensional array is not allocated in the usual method. To account for the fact the different vertices have different orders, and thus require different amounts of storage, the elements of ed[i] point to one-dimensional arrays in the mep[] array of different sizes.</p>
<p>More specifically, if vertex i has order m, then ed[i] points to a one-dimensional array in mep[m] that has 2*m+1 entries. The first m elements hold the neighboring edges, so that the jth edge of vertex i is held in ed[i][j]. The next m elements hold a table of relations which is redundant but helps speed up the computation. It satisfies the relation ed[ed[i][j]][ed[i][m+j]]=i. The final entry holds a back pointer, so that ed[i+2*m]=i. The back pointers are used when rearranging the memory. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00078">78</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="accebb51f721d72fc6d460f1368180571"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int* voro::voronoicell_base::mec</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a one dimensional array that holds the current number of vertices of order p that are stored in the mep[p] array. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00229">229</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="aafad86ca11af64de2788637b466479f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int* voro::voronoicell_base::mem</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This a one dimensional array that holds the current sizes of the memory allocations for them mep array. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00225">225</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a2b115cbde725e468000a1da234b2fc66"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int** voro::voronoicell_base::mep</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This is a two dimensional array for holding the information about the edges of the Voronoi cell. mep[p] is a one-dimensional array for holding the edge information about all vertices of order p, with each vertex holding 2*p+1 integers of information. The total number of vertices held on mep[p] is stored in mem[p]. If the space runs out, the code allocates more using the add_memory() routine. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00237">237</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="abc7ec6777725e0ddffbbe2ecbe81c6a1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int* voro::voronoicell_base::nu</td>
</tr>
</table>
</div><div class="memdoc">
<p>This array holds the order of the vertices in the Voronoi cell. This array is dynamically allocated, with its current size held by current_vertices. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00082">82</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a7e69469f95464afbeb9feec927507243"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::p</td>
</tr>
</table>
</div><div class="memdoc">
<p>This sets the total number of vertices in the current cell. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00052">52</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="aa4e3f22d4ff450097571e95caeda1b3d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* voro::voronoicell_base::pts</td>
</tr>
</table>
</div><div class="memdoc">
<p>This in an array with size 3*current_vertices for holding the positions of the vertices. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00085">85</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<a class="anchor" id="a7746d94ae036439d60c3e4a9e37f6d15"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int voro::voronoicell_base::up</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the index of particular point in the cell, which is used to start the tracing routines for plane intersection and cutting. These routines will work starting from any point, but it's often most efficient to start from the last point considered, since in many cases, the cell construction algorithm may consider many planes with similar vectors concurrently. </p>
<p>Definition at line <a class="el" href="cell_8hh_source.html#l00060">60</a> of file <a class="el" href="cell_8hh_source.html">cell.hh</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="cell_8hh_source.html">cell.hh</a></li>
<li><a class="el" href="cell_8cc_source.html">cell.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jul 27 2012 21:53:31 for Voro++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>

Event Timeline