<ahref="wall_8hh.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">// Voro++, a 3D cell-based Voronoi library</span></div>
<divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> <spanclass="preprocessor">#include "<aclass="code"href="cell_8hh.html"title="Header file for the voronoicell and related classes.">cell.hh</a>"</span></div>
<divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> <spanclass="preprocessor">#include "<aclass="code"href="container_8hh.html"title="Header file for the container_base and related classes.">container.hh</a>"</span></div>
<divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment">/** \brief A class representing a spherical wall object.</span></div>
<divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment"> * This class represents a spherical wall object. */</span></div>
<divclass="line"><aname="l00021"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__sphere.html"> 21</a></span> <spanclass="keyword">struct </span><aclass="code"href="structvoro_1_1wall__sphere.html"title="A class representing a spherical wall object.">wall_sphere</a> : <spanclass="keyword">public</span><aclass="code"href="classvoro_1_1wall.html"title="Pure virtual class from which wall objects are derived.">wall</a> {</div>
<divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="comment"> /** Constructs a spherical wall object.</span></div>
<divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="comment"> * \param[in] w_id_ an ID number to associate with the wall for</span></div>
<divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span> <spanclass="comment"> * \param[in] (xc_,yc_,zc_) a position vector for the sphere's</span></div>
<divclass="line"><aname="l00028"></a><spanclass="lineno"> 28</span> <spanclass="comment"> * \param[in] rc_ the radius of the sphere. */</span></div>
<divclass="line"><aname="l00034"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__sphere.html#a0ded43a5ed66e6099203c780e03e1fff"> 34</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__sphere.html#a0ded43a5ed66e6099203c780e03e1fff">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell.html"title="Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information...">voronoicell</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__sphere.html#a3779ab19fab2ed104f8a8c0bdb5773b4">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00035"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__sphere.html#a67f806cace710d4cbca901ef9228a197"> 35</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__sphere.html#a67f806cace710d4cbca901ef9228a197">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell__neighbor.html"title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__sphere.html#a3779ab19fab2ed104f8a8c0bdb5773b4">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00041"></a><spanclass="lineno"> 41</span> <spanclass="comment">/** \brief A class representing a plane wall object.</span></div>
<divclass="line"><aname="l00043"></a><spanclass="lineno"> 43</span> <spanclass="comment"> * This class represents a single plane wall object. */</span></div>
<divclass="line"><aname="l00044"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__plane.html"> 44</a></span> <spanclass="keyword">struct </span><aclass="code"href="structvoro_1_1wall__plane.html"title="A class representing a plane wall object.">wall_plane</a> : <spanclass="keyword">public</span><aclass="code"href="classvoro_1_1wall.html"title="Pure virtual class from which wall objects are derived.">wall</a> {</div>
<divclass="line"><aname="l00046"></a><spanclass="lineno"> 46</span> <spanclass="comment"> /** Constructs a plane wall object.</span></div>
<divclass="line"><aname="l00047"></a><spanclass="lineno"> 47</span> <spanclass="comment"> * \param[in] (xc_,yc_,zc_) a normal vector to the plane.</span></div>
<divclass="line"><aname="l00048"></a><spanclass="lineno"> 48</span> <spanclass="comment"> * \param[in] ac_ a displacement along the normal vector.</span></div>
<divclass="line"><aname="l00049"></a><spanclass="lineno"> 49</span> <spanclass="comment"> * \param[in] w_id_ an ID number to associate with the wall for</span></div>
<divclass="line"><aname="l00056"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__plane.html#a879c5551eb1d97677b0b0651b7da0ddd"> 56</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__plane.html#a879c5551eb1d97677b0b0651b7da0ddd">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell.html"title="Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information...">voronoicell</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__plane.html#a8d2515cef30dbd7594a4403d502b4fe5">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00057"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__plane.html#ae2103d51a50887cea07671b4e8a0b713"> 57</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__plane.html#ae2103d51a50887cea07671b4e8a0b713">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell__neighbor.html"title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__plane.html#a8d2515cef30dbd7594a4403d502b4fe5">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00063"></a><spanclass="lineno"> 63</span> <spanclass="comment">/** \brief A class representing a cylindrical wall object.</span></div>
<divclass="line"><aname="l00065"></a><spanclass="lineno"> 65</span> <spanclass="comment"> * This class represents a open cylinder wall object. */</span></div>
<divclass="line"><aname="l00066"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cylinder.html"> 66</a></span> <spanclass="keyword">struct </span><aclass="code"href="structvoro_1_1wall__cylinder.html"title="A class representing a cylindrical wall object.">wall_cylinder</a> : <spanclass="keyword">public</span><aclass="code"href="classvoro_1_1wall.html"title="Pure virtual class from which wall objects are derived.">wall</a> {</div>
<divclass="line"><aname="l00068"></a><spanclass="lineno"> 68</span> <spanclass="comment"> /** Constructs a cylinder wall object.</span></div>
<divclass="line"><aname="l00069"></a><spanclass="lineno"> 69</span> <spanclass="comment"> * \param[in] (xc_,yc_,zc_) a point on the axis of the</span></div>
<divclass="line"><aname="l00071"></a><spanclass="lineno"> 71</span> <spanclass="comment"> * \param[in] (xa_,ya_,za_) a vector pointing along the</span></div>
<divclass="line"><aname="l00072"></a><spanclass="lineno"> 72</span> <spanclass="comment"> * direction of the cylinder.</span></div>
<divclass="line"><aname="l00073"></a><spanclass="lineno"> 73</span> <spanclass="comment"> * \param[in] rc_ the radius of the cylinder</span></div>
<divclass="line"><aname="l00074"></a><spanclass="lineno"> 74</span> <spanclass="comment"> * \param[in] w_id_ an ID number to associate with the wall for</span></div>
<divclass="line"><aname="l00082"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cylinder.html#a8121adc120f17770099eadc73b5c4f99"> 82</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__cylinder.html#a8121adc120f17770099eadc73b5c4f99">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell.html"title="Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information...">voronoicell</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__cylinder.html#ada478166ad7607c53d691608c7806cca">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00083"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cylinder.html#af10e0a8cd87d46629b42b8443daf95cb"> 83</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__cylinder.html#af10e0a8cd87d46629b42b8443daf95cb">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell__neighbor.html"title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__cylinder.html#ada478166ad7607c53d691608c7806cca">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00090"></a><spanclass="lineno"> 90</span> <spanclass="comment">/** \brief A class representing a conical wall object.</span></div>
<divclass="line"><aname="l00092"></a><spanclass="lineno"> 92</span> <spanclass="comment"> * This class represents a cone wall object. */</span></div>
<divclass="line"><aname="l00093"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cone.html"> 93</a></span> <spanclass="keyword">struct </span><aclass="code"href="structvoro_1_1wall__cone.html"title="A class representing a conical wall object.">wall_cone</a> : <spanclass="keyword">public</span><aclass="code"href="classvoro_1_1wall.html"title="Pure virtual class from which wall objects are derived.">wall</a> {</div>
<divclass="line"><aname="l00095"></a><spanclass="lineno"> 95</span> <spanclass="comment"> /** Constructs a cone wall object.</span></div>
<divclass="line"><aname="l00096"></a><spanclass="lineno"> 96</span> <spanclass="comment"> * \param[in] (xc_,yc_,zc_) the apex of the cone.</span></div>
<divclass="line"><aname="l00097"></a><spanclass="lineno"> 97</span> <spanclass="comment"> * \param[in] (xa_,ya_,za_) a vector pointing along the axis of</span></div>
<divclass="line"><aname="l00098"></a><spanclass="lineno"> 98</span> <spanclass="comment"> * the cone.</span></div>
<divclass="line"><aname="l00099"></a><spanclass="lineno"> 99</span> <spanclass="comment"> * \param[in] ang the angle (in radians) of the cone, measured</span></div>
<divclass="line"><aname="l00100"></a><spanclass="lineno"> 100</span> <spanclass="comment"> * from the axis.</span></div>
<divclass="line"><aname="l00101"></a><spanclass="lineno"> 101</span> <spanclass="comment"> * \param[in] w_id_ an ID number to associate with the wall for</span></div>
<divclass="line"><aname="l00110"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cone.html#a2a007e376f93c3ae5608eb53e4a52261"> 110</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__cone.html#a2a007e376f93c3ae5608eb53e4a52261">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell.html"title="Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information...">voronoicell</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__cone.html#ad39d47ee5d007dab3728e45efdaf0db7">cut_cell_base</a>(c,x,y,z);}</div>
<divclass="line"><aname="l00111"></a><spanclass="lineno"><aclass="code"href="structvoro_1_1wall__cone.html#ab8ac7eb3a051ba3c3816dd941bdf4eeb"> 111</a></span> <spanclass="keywordtype">bool</span><aclass="code"href="structvoro_1_1wall__cone.html#ab8ac7eb3a051ba3c3816dd941bdf4eeb">cut_cell</a>(<aclass="code"href="classvoro_1_1voronoicell__neighbor.html"title="Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...">voronoicell_neighbor</a>&c,<spanclass="keywordtype">double</span> x,<spanclass="keywordtype">double</span> y,<spanclass="keywordtype">double</span> z) {<spanclass="keywordflow">return</span><aclass="code"href="structvoro_1_1wall__cone.html#ad39d47ee5d007dab3728e45efdaf0db7">cut_cell_base</a>(c,x,y,z);}</div>