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 8d5a26d2b313200478b1fce1cbf5d2bf3963f85b
parent 815f406e05ef6099a854ecf610a07c30b07f9e40
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Wed, 14 Feb 2018 10:36:14 +0100

BugFix: got global data when enclosure data was needed.

Diffstat:
Msrc/senc_enclosure.c | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/senc_enclosure.c b/src/senc_enclosure.c @@ -84,6 +84,8 @@ senc_enclosure_get_indices if(!enclosure || !indices || itri >= enclosure->data->header.triangle_count) return RES_BAD_ARG; + ASSERT(darray_triangle_in_size_get(&enclosure->data->sides) + == enclosure->data->header.triangle_count); triangle = darray_triangle_in_cdata_get(&enclosure->data->sides) + itri; FOR_EACH(i, 0, 3) { ASSERT(triangle->vertice_id[i] < UINT_MAX); @@ -98,14 +100,14 @@ senc_enclosure_get_vertices const unsigned ivert, double coord[3]) { - const struct senc_scene* scene; + const union double3* positions; if(!enclosure || !coord || ivert >= enclosure->data->header.vertices_count) return RES_BAD_ARG; - scene = enclosure->desc->scene; - ASSERT(darray_position_size_get(&scene->vertices) + ASSERT(darray_position_size_get(&enclosure->data->vertices) == enclosure->data->header.vertices_count); - d3_set(coord, darray_position_cdata_get(&scene->vertices)[ivert].vec); + positions = darray_position_cdata_get(&enclosure->data->vertices); + d3_set(coord, positions[ivert].vec); return RES_OK; } @@ -120,6 +122,8 @@ senc_enclosure_get_mediums if(!enclosure || !medium || itri >= enclosure->data->header.triangle_count) return RES_BAD_ARG; + ASSERT(darray_triangle_in_size_get(&enclosure->data->sides) + == enclosure->data->header.triangle_count); triangle = darray_triangle_in_cdata_get(&enclosure->data->sides) + itri; FOR_EACH(i, 0, 2) { ASSERT(triangle->medium[i] < UINT_MAX);