Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}