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 40d4d707200359000fdd1ee5e05cf55d6a597236
parent 31f5a4c86245f4c9446190fd7a2f71fe4a57014a
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Fri, 20 Apr 2018 14:47:35 +0200

Add an API call to get max medium rank.

Diffstat:
Msrc/senc2d.h | 5+++++
Msrc/senc2d_descriptor.c | 10++++++++++
Msrc/test_senc2d_descriptor.c | 7+++++++
3 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/senc2d.h b/src/senc2d.h @@ -161,6 +161,11 @@ senc2d_scene_ref_put * StarEnclosures2D descriptor. It is an handle toward an analyze result. ******************************************************************************/ SENC2D_API res_T +senc2d_descriptor_get_max_medium + (const struct senc2d_descriptor* descriptor, + unsigned* rank); + +SENC2D_API res_T senc2d_descriptor_get_enclosure_count (const struct senc2d_descriptor* descriptor, unsigned* count); diff --git a/src/senc2d_descriptor.c b/src/senc2d_descriptor.c @@ -84,6 +84,16 @@ struct mem_allocator* * Exported functions ******************************************************************************/ res_T +senc2d_descriptor_get_max_medium + (const struct senc2d_descriptor* desc, unsigned* rank) +{ + if(!desc || !rank) return RES_BAD_ARG; + ASSERT(desc->scene->nmeds < UINT_MAX); /* API type */ + *rank = (unsigned)desc->scene->nmeds; + return RES_OK; +} + +res_T senc2d_descriptor_get_enclosure_count (const struct senc2d_descriptor* desc, unsigned* count) { diff --git a/src/test_senc2d_descriptor.c b/src/test_senc2d_descriptor.c @@ -63,6 +63,13 @@ main(int argc, char** argv) CHK(senc2d_descriptor_ref_put(NULL) == RES_BAD_ARG); CHK(senc2d_descriptor_ref_put(desc) == RES_OK); + CHK(senc2d_descriptor_get_max_medium(NULL, &count) == RES_BAD_ARG); + CHK(senc2d_descriptor_get_max_medium(desc, NULL) == RES_BAD_ARG); + CHK(senc2d_descriptor_get_enclosure_count(NULL, NULL) == RES_BAD_ARG); + CHK(senc2d_descriptor_get_max_medium(desc, &count) == RES_OK); + + CHK(count == 2); + CHK(senc2d_descriptor_get_enclosure_count(NULL, &count) == RES_BAD_ARG); CHK(senc2d_descriptor_get_enclosure_count(desc, NULL) == RES_BAD_ARG); CHK(senc2d_descriptor_get_enclosure_count(NULL, NULL) == RES_BAD_ARG);