star-enclosures-2d

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

commit 28bf62d7315fae68cad10591e627cf03643d0432
parent 9b1dbfed0b7e5be2f6cbfab6a6cd4bf703d187e4
Author: christophe coustet <christophe.coustet@meso-star.com>
Date:   Wed, 22 Aug 2018 15:34:00 +0200

Linux build

Diffstat:
Msrc/senc2d_enclosure_data.h | 4++--
Msrc/senc2d_scene_analyze.c | 13++++++++++---
2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/senc2d_enclosure_data.h b/src/senc2d_enclosure_data.h @@ -50,9 +50,9 @@ htable_media_merge struct htable_media* src) { res_T res = RES_OK; - ASSERT(src && dst); struct htable_media_iterator it, end; char one = 1; + ASSERT(src && dst); htable_media_begin(src, &it); htable_media_end(src, &end); @@ -78,8 +78,8 @@ htable_media_to_darray_media struct htable_media* src) { res_T res = RES_OK; - ASSERT(src && dst); struct htable_media_iterator it, end; + ASSERT(src && dst); darray_media_clear(dst); res = darray_media_reserve(dst, htable_media_size_get(src)); diff --git a/src/senc2d_scene_analyze.c b/src/senc2d_scene_analyze.c @@ -38,7 +38,14 @@ CC_ID_NONE, CC_GROUP_ROOT_NONE, ENCLOSURE_NULL__,\ { SEG_NULL__, 0}\ } +#ifdef COMPILER_GCC + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif const struct cc_descriptor CC_DESCRIPTOR_NULL = CC_DESCRIPTOR_NULL__; +#ifdef COMPILER_GCC + #pragma GCC diagnostic pop +#endif #define DARRAY_NAME component_id #define DARRAY_DATA component_id_t @@ -287,7 +294,7 @@ extract_connex_components /* Record crt_side both as component and segment level */ if((*seg_used & crt_side_flag) == 0) { OK2(darray_side_id_push_back(&current_component, &crt_side_id)); - *seg_used |= crt_side_flag; + *seg_used |= (unsigned char)crt_side_flag; } /* Store neighbours' sides in a stack */ @@ -307,7 +314,7 @@ extract_connex_components goto canceled; } /* Mark neighbour as processed and stack it */ - *nbour_used |= nbour_side_id; + *nbour_used |= (unsigned char)nbour_side_id; OK2(darray_side_id_push_back(&stack, &neighbour_id)); OK2(darray_side_id_push_back(&current_component, &neighbour_id)); if(neighbour->medium != m) /* Can be a new medium */ @@ -344,7 +351,7 @@ canceled: /* Write component membership in the global structure * No need for sync here as an unique thread write a given side */ - static_assert(sizeof(cc->cc_id) >= 4, "Cannot write IDs sync-free"); + STATIC_ASSERT(sizeof(cc->cc_id) >= 4, Cannot_write_IDs_sync_free); ASSERT(IS_ALIGNED(segments_comp->component, sizeof(cc->cc_id))); FOR_EACH(ii, 0, sz) { const side_id_t s = darray_side_id_cdata_get(&current_component)[ii];