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 9de9cb0db670dbf069ca5111b9859ae95c184d6a
parent 478a65339f787d29f0942f25e842cf349dc75882
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Tue,  6 Nov 2018 14:13:26 +0100

Merge branch 'release_0.2.1'

Diffstat:
MREADME.md | 4++++
Mcmake/CMakeLists.txt | 2+-
Msrc/senc_device.c | 1-
Msrc/senc_scene_analyze.c | 7++++---
Msrc/senc_scene_analyze_c.h | 6+++---
5 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md @@ -39,6 +39,10 @@ variable the install directories of its dependencies. Release notes ------------- +### Version 0.2.1 + +- BugFix: needed data cleaning on computation canceling. + ### Version 0.2 - Add the support of enclosures with multiple media. diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -48,7 +48,7 @@ endif() ################################################################################ set(VERSION_MAJOR 0) set(VERSION_MINOR 2) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}) set(SENC_FILES_SRC diff --git a/src/senc_device.c b/src/senc_device.c @@ -88,7 +88,6 @@ senc_device_create struct senc_device* dev = NULL; struct mem_allocator* allocator = NULL; res_T res = RES_OK; - (void)nthreads_hint; /* Unused */ if(nthreads_hint == 0 || !out_dev) return RES_BAD_ARG; log = logger ? logger : LOGGER_DEFAULT; diff --git a/src/senc_scene_analyze.c b/src/senc_scene_analyze.c @@ -324,6 +324,7 @@ extract_connex_components * component is to be processed by another thread (possibly the one * associated with neighbour's medium). */ component_canceled = 1; + darray_side_id_clear(&stack); goto canceled; } /* Mark neighbour as processed and stack it */ @@ -791,13 +792,13 @@ collect_and_link_neighbours if(neighbour_info->angle <= PI / 4) { ASSERT(n.pos.y); neighbour_info->normal_toward_next_neighbour = (n.pos.y > 0); - } else if (neighbour_info->angle <= 3 * PI / 4) { + } else if(neighbour_info->angle <= 3 * PI / 4) { ASSERT(n.pos.x); neighbour_info->normal_toward_next_neighbour = (n.pos.x < 0); - } else if (neighbour_info->angle <= 5 * PI / 4) { + } else if(neighbour_info->angle <= 5 * PI / 4) { ASSERT(n.pos.y); neighbour_info->normal_toward_next_neighbour = (n.pos.y < 0); - } else if (neighbour_info->angle <= 7 * PI / 4) { + } else if(neighbour_info->angle <= 7 * PI / 4) { ASSERT(n.pos.x); neighbour_info->normal_toward_next_neighbour = (n.pos.x > 0); } else { diff --git a/src/senc_scene_analyze_c.h b/src/senc_scene_analyze_c.h @@ -28,7 +28,7 @@ struct trg_edge { vrtx_id_t vrtx0, vrtx1; }; -FINLINE int +static FINLINE int edge_ok(const struct trg_edge* edge) { return(edge && edge->vrtx0 <= VRTX_MAX__ @@ -36,7 +36,7 @@ edge_ok(const struct trg_edge* edge) { && edge->vrtx0 < edge->vrtx1); } -FINLINE void +static FINLINE void set_edge (const vrtx_id_t vrtx0, const vrtx_id_t vrtx1, @@ -57,7 +57,7 @@ set_edge ASSERT(edge_ok(edge)); } -FINLINE int +static FINLINE int edge_eq(const struct trg_edge* e1, const struct trg_edge* e2) { ASSERT(edge_ok(e1) && edge_ok(e2));