int generate_cell_triangles(triangle *triangles, cell c, unsigned char isovalue) { int tri_num = 0; tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 1, 3, 7); tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 2, 6, 7); tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 4, 5, 7); tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 1, 5, 7); tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 2, 3, 7); tri_num += generate_tetrahedron_triangles(&triangles[tri_num], isovalue, c, 0, 4, 6, 7); return tri_num; }
int generate_cell_triangles(triangle *triangles, cell c, unsigned char isovalue) { // keep track of the triangles entered so far to give as offset to the array int num_triangles = 0; // add each tetrahedron num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 1, 3, 7); num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 2, 6, 7); num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 1, 5, 7); num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 2, 3, 7); num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 4, 5, 7); num_triangles += generate_tetrahedron_triangles(triangles + num_triangles, isovalue, c, 0, 4, 6, 7); return num_triangles; }