#include "voro++.hh"
using namespace voro;
const double x_min=-1,x_max=1;
const double y_min=-1,y_max=1;
const double z_min=-1,z_max=1;
const double cvol=(x_max-x_min)*(y_max-y_min)*(z_max-z_min);
const int n_x=6,n_y=6,n_z=6;
const int particles=20;
double rnd() {return double(rand())/RAND_MAX;}
int main() {
int i;
double x,y,z;
container con(x_min,x_max,y_min,y_max,z_min,z_max,n_x,n_y,n_z,
false,false,false,8);
for(i=0;i<particles;i++) {
x=x_min+rnd()*(x_max-x_min);
y=y_min+rnd()*(y_max-y_min);
z=z_min+rnd()*(z_max-z_min);
con.put(i,x,y,z);
}
double vvol=con.sum_cell_volumes();
printf("Container volume : %g\n"
"Voronoi volume : %g\n"
"Difference : %g\n",cvol,vvol,vvol-cvol);
con.draw_particles("random_points_p.gnu");
con.draw_cells_gnuplot("random_points_v.gnu");
}