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 db74856f0956a8f7169c81131a4701848e53f7bf
parent 24b9f4959426e61397367d7363f3184fb37af734
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Thu,  7 Feb 2019 11:32:25 +0100

BugFix: reverse some flag on a special case

Diffstat:
Msrc/senc_scene_analyze.c | 12++++++++++++
1 file changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/senc_scene_analyze.c b/src/senc_scene_analyze.c @@ -326,6 +326,18 @@ extract_connex_components * associated with neighbour's medium). */ component_canceled = 1; darray_side_id_clear(&stack); + /* Reverse the used flag for sides in cancelled component */ + sz = darray_side_id_size_get(&current_component); + FOR_EACH(ii, 0, sz) { + enum side_id_t used_side + = darray_side_id_cdata_get(&current_component)[ii]; + trg_id_t used_trg_id = TRGSIDE_2_TRG(used_side); + enum side_flag used_side_flag + = TRGSIDE_2_SIDEFLAG(used_side); + unsigned char* used = processed + used_trg_id; + ASSERT(*used & (unsigned char)used_side_flag); + *used &= ~(unsigned char)used_side_flag; + } goto canceled; } /* Mark neighbour as processed and stack it */