5 #include "cgmath/cgmath.h"
17 struct cmesh *mesh; /* no ownership */
18 struct frac_cell *cells; /* dynarr */
21 int frac_init(struct fracture *frac);
22 void frac_destroy(struct fracture *frac);
24 /* fracture does not take ownership of the mesh, and does not modify it */
25 void frac_mesh(struct fracture *frac, const struct cmesh *m);
27 int frac_point(struct fracture *frac, float x, float y, float z);
28 int frac_num_cells(struct fracture *frac);
30 /* add a bunch of random points in the bounding box of the mesh */
31 int frac_gen_points(struct fracture *frac, int num);
33 /* construct the voronoi cells */
34 int frac_build_cells(struct fracture *frac);
35 /* generate the polygons for the outer shell of each cell */
36 int frac_build_shell(struct fracture *frac);
37 /* generate the polygons for the inner walls of the cells */
38 int frac_build_walls(struct fracture *frac);
40 /* perform all the steps in order */
41 int frac_build(struct fracture *frac);