star-enclosures-3d

Extract enclosures from 3D geometry
git clone git://git.meso-star.fr/star-enclosures-3d.git
Log | Files | Refs | README | LICENSE

commit 3546aba57689b7d9fdc4f2083c8b52e50edcbe89
parent 0ae0361fb73338bfe75d74b7f474b6378c2deb18
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 22 Nov 2019 16:44:59 +0100

BugFix: wrong management of add callback returning an error

Diffstat:
Msrc/senc_scene.c | 9++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/senc_scene.c b/src/senc_scene.c @@ -294,17 +294,16 @@ senc_scene_add_geometry } else { /* New triangle */ trg_id_t u = scn->nutris + actual_nutris; - ASSERT(u == htable_trg_size_get(&scn->unique_triangles)); - OK(htable_trg_set(&scn->unique_triangles, &trg_key, &u)); + if (add_triangle) + OK(add_triangle(tmp.global_id, i, ctx)); OK(darray_triangle_in_push_back(&scn->triangles_in, &tmp)); range_adjust_ptr = darray_triangle_in_data_get(&scn->triangles_in) + u; FOR_EACH(j, 0, 2) { if(tmp.medium[j] != SENC_UNDEFINED_MEDIUM) scn->sides_with_defined_medium_count++; } - if(add_triangle) { - OK(add_triangle(tmp.global_id, i, ctx)); - } + ASSERT(u == htable_trg_size_get(&scn->unique_triangles)); + OK(htable_trg_set(&scn->unique_triangles, &trg_key, &u)); ++actual_nutris; } if(range_adjust_ptr) {