<trclass="memitem:a4f268f7749e431df1a54b2dd17bb090f"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classvoro_1_1voro__compute.html#a4f268f7749e431df1a54b2dd17bb090f">voro_compute</a> (c_class &con_, int hx_, int hy_, int hz_)</td></tr>
<trclass="memitem:ab08b085875db63f46b0bcecd57bedea9"><tdclass="memTemplItemLeft"align="right"valign="top">bool </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="classvoro_1_1voro__compute.html#ab08b085875db63f46b0bcecd57bedea9">compute_cell</a> (v_cell &c, int ijk, int s, int ci, int cj, int ck)</td></tr>
<trclass="memitem:aa0b01474a0cf0b230b736e7352404d8d"><tdclass="memItemLeft"align="right"valign="top">void </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classvoro_1_1voro__compute.html#aa0b01474a0cf0b230b736e7352404d8d">find_voronoi_cell</a> (double x, double y, double z, int ci, int cj, int ck, int ijk, <aclass="el"href="structvoro_1_1particle__record.html">particle_record</a>&w, double &mrs)</td></tr>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00039">39</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
</div><hr/><h2>Constructor & Destructor Documentation</h2>
<p>The class constructor initializes constants from the container class, and sets up the mask and queue used for Voronoi computations. </p>
<dlclass="params"><dt>Parameters:</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">con_</td><td>a reference to the container class to use. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">(hx_,hy_,hz_)</td><td>the size of the mask to use. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <aclass="el"href="v__compute_8cc_source.html#l00023">23</a> of file <aclass="el"href="v__compute_8cc_source.html">v_compute.cc</a>.</p>
<p>The class destructor frees the dynamically allocated memory for the mask and queue. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00090">90</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>This routine computes a Voronoi cell for a single particle in the container. It can be called by the user, but is also forms the core part of several of the main functions, such as store_cell_volumes(), print_all(), and the drawing routines. The algorithm constructs the cell by testing over the neighbors of the particle, working outwards until it reaches those particles which could not possibly intersect the cell. For maximum efficiency, this algorithm is divided into three parts. In the first section, the algorithm tests over the blocks which are in the immediate vicinity of the particle, by making use of one of the precomputed worklists. The code then continues to test blocks on the worklist, but also begins to construct a list of neighboring blocks outside the worklist which may need to be test. In the third section, the routine starts testing these neighboring blocks, evaluating whether or not a particle in them could possibly intersect the cell. For blocks that intersect the cell, it tests the particles in that block, and then adds the block neighbors to the list of potential places to consider. </p>
<dlclass="params"><dt>Parameters:</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in,out]</td><tdclass="paramname">c</td><td>a reference to a voronoicell object. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">ijk</td><td>the index of the block that the test particle is in. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">s</td><td>the index of the particle within the test block. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">(ci,cj,ck)</td><td>the coordinates of the block that the test particle is in relative to the container data structure. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns:</dt><dd>False if the Voronoi cell was completely removed during the computation and has zero volume, true otherwise. </dd></dl>
<p>Definition at line <aclass="el"href="v__compute_8cc_source.html#l00291">291</a> of file <aclass="el"href="v__compute_8cc_source.html">v_compute.cc</a>.</p>
<p>Finds the Voronoi cell that given vector is within. For containers that are not radially dependent, this corresponds to findig the particle that is closest to the vector; for the radical tessellation containers, this corresponds to a finding the minimum weighted distance. </p>
<dlclass="params"><dt>Parameters:</dt><dd>
<tableclass="params">
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">(x,y,z)</td><td>the vector to consider. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">(ci,cj,ck)</td><td>the coordinates of the block that the test particle is in relative to the container data structure. </td></tr>
<tr><tdclass="paramdir">[in]</td><tdclass="paramname">ijk</td><td>the index of the block that the test particle is in. </td></tr>
<tr><tdclass="paramdir">[out]</td><tdclass="paramname">w</td><td>a reference to a particle record in which to store information about the particle whose Voronoi cell the vector is within. </td></tr>
<p>Definition at line <aclass="el"href="v__compute_8cc_source.html#l00071">71</a> of file <aclass="el"href="v__compute_8cc_source.html">v_compute.cc</a>.</p>
<p>The size of an internal computational block in the x direction. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00045">45</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>The size of an internal computational block in the y direction. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00048">48</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>The size of an internal computational block in the z direction. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00051">51</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>An array holding the number of particles within each computational box of the container. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00086">86</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>A reference to the container class on which to carry out </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00042">42</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::hx</td>
</tr>
</table>
</div><divclass="memdoc">
<p>The number of boxes in the x direction for the searching mask. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00062">62</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::hxy</td>
</tr>
</table>
</div><divclass="memdoc">
<p>A constant, set to the value of hx multiplied by hy, which is used in the routines which step through mask boxes in sequence. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00070">70</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::hxyz</td>
</tr>
</table>
</div><divclass="memdoc">
<p>A constant, set to the value of hx*hy*hz, which is used in the routines which step through mask boxes in sequence. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00073">73</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::hy</td>
</tr>
</table>
</div><divclass="memdoc">
<p>The number of boxes in the y direction for the searching mask. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00064">64</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::hz</td>
</tr>
</table>
</div><divclass="memdoc">
<p>The number of boxes in the z direction for the searching mask. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00066">66</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>This array holds the numerical IDs of each particle in each computational box. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00079">79</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>A two dimensional array holding particle positions. For the derived <aclass="el"href="classvoro_1_1container__poly.html"title="Extension of the container_base class for computing radical Voronoi tessellations.">container_poly</a> class, this also holds particle radii. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00083">83</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<tdclass="memname">const int <aclass="el"href="classvoro_1_1voro__compute.html">voro::voro_compute</a>< c_class >::ps</td>
</tr>
</table>
</div><divclass="memdoc">
<p>The number of floating point entries to store for each particle. </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00076">76</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>The inverse box length in the x direction, set to nx/(bx-ax). </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00054">54</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>The inverse box length in the y direction, set to ny/(by-ay). </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00057">57</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
<p>The inverse box length in the z direction, set to nz/(bz-az). </p>
<p>Definition at line <aclass="el"href="v__compute_8hh_source.html#l00060">60</a> of file <aclass="el"href="v__compute_8hh_source.html">v_compute.hh</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>