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 877eac8a73657472b82118e438f03eb8d1ad4938
parent fdb6da45dcdf8fadf5284c3e93fd51684f233392
Author: christophe coustet <christophe.coustet@meso-star.com>
Date:   Wed, 22 Aug 2018 15:19:46 +0200

Linux build

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

diff --git a/src/senc_enclosure_data.h b/src/senc_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/senc_scene_analyze.c b/src/senc_scene_analyze.c @@ -39,7 +39,14 @@ CC_ID_NONE, CC_GROUP_ROOT_NONE, ENCLOSURE_NULL__,\ { TRG_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 @@ -291,7 +298,7 @@ extract_connex_components /* Record crt_side both as component and triangle level */ if((*trg_used & crt_side_flag) == 0) { OK2(darray_side_id_push_back(&current_component, &crt_side_id)); - *trg_used |= crt_side_flag; + *trg_used |= (unsigned char)crt_side_flag; } /* Store neighbour' sides in a waiting stack */ @@ -311,7 +318,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 */ @@ -348,7 +355,7 @@ extract_connex_components /* 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(triangles_comp->component, sizeof(cc->cc_id))); FOR_EACH(ii, 0, sz) { const side_id_t s = darray_side_id_cdata_get(&current_component)[ii];