18 return (x-xc)*(x-xc)+(y-yc)*(y-yc)+(z-zc)*(z-zc)<rc*rc;
28 template<
class v_cell>
30 double xd=x-xc,yd=y-yc,zd=z-zc,dq=xd*xd+yd*yd+zd*zd;
32 dq=2*(sqrt(dq)*rc-dq);
33 return c.nplane(xd,yd,zd,dq,w_id);
42 return x*xc+y*yc+z*zc<ac;
49 template<
class v_cell>
51 double dq=2*(ac-x*xc-y*yc-z*zc);
52 return c.nplane(xc,yc,zc,dq,w_id);
59 double xd=x-xc,yd=y-yc,zd=z-zc;
60 double pa=(xd*xa+yd*ya+zd*za)*asi;
61 xd-=xa*pa;yd-=ya*pa;zd-=za*pa;
62 return xd*xd+yd*yd+zd*zd<rc*rc;
73 template<
class v_cell>
75 double xd=x-xc,yd=y-yc,zd=z-zc,pa=(xd*xa+yd*ya+zd*za)*asi;
76 xd-=xa*pa;yd-=ya*pa;zd-=za*pa;
79 pa=2*(sqrt(pa)*rc-pa);
80 return c.nplane(xd,yd,zd,pa,w_id);
89 double xd=x-xc,yd=y-yc,zd=z-zc,pa=(xd*xa+yd*ya+zd*za)*asi;
90 xd-=xa*pa;yd-=ya*pa;zd-=za*pa;
92 if (pa<0)
return false;
94 return xd*xd+yd*yd+zd*zd<pa;
105 template<
class v_cell>
107 double xd=x-xc,yd=y-yc,zd=z-zc,xf,yf,zf,q,pa=(xd*xa+yd*ya+zd*za)*asi;
108 xd-=xa*pa;yd-=ya*pa;zd-=za*pa;
109 pa=xd*xd+yd*yd+zd*zd;
113 xf=-sang*q*xa+cang*pa*xd;
114 yf=-sang*q*ya+cang*pa*yd;
115 zf=-sang*q*za+cang*pa*zd;
116 pa=2*(xf*(xc-x)+yf*(yc-y)+zf*(zc-z));
117 return c.nplane(xf,yf,zf,pa,w_id);
Extension of the voronoicell_base class to represent a Voronoi cell with neighbor information...
bool point_inside(double x, double y, double z)
Header file for the derived wall classes.
bool cut_cell_base(v_cell &c, double x, double y, double z)
bool cut_cell_base(v_cell &c, double x, double y, double z)
bool cut_cell_base(v_cell &c, double x, double y, double z)
bool point_inside(double x, double y, double z)
bool cut_cell_base(v_cell &c, double x, double y, double z)
bool point_inside(double x, double y, double z)
bool point_inside(double x, double y, double z)
Extension of the voronoicell_base class to represent a Voronoi cell without neighbor information...