star-3daw

Create star-3d geometries from OBJ files
git clone git://git.meso-star.fr/star-3daw.git
Log | Files | Refs | README | LICENSE

commit 736c73c78fe7ddb9bc30ff3acc754db6ee7d49fc
parent f81164c51be1cdf0c2ca5190235f566aff9a41a4
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Thu, 14 Apr 2016 11:59:21 +0200

Add and test the s3daw_get_s3d_device function

Diffstat:
Msrc/s3daw.c | 8++++++++
Msrc/s3daw.h | 7+++++++
Msrc/test_s3daw.c | 7+++++++
3 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/s3daw.c b/src/s3daw.c @@ -520,6 +520,14 @@ s3daw_get_loaders(struct s3daw* s3daw, struct aw_obj** obj, struct aw_mtl** mtl) } res_T +s3daw_get_s3d_device(struct s3daw* s3daw, struct s3d_device** s3d) +{ + if(!s3daw || !s3d) return RES_BAD_ARG; + *s3d = s3daw->s3d; + return RES_OK; +} + +res_T s3daw_load(struct s3daw* s3daw, const char* filename) { res_T res; diff --git a/src/s3daw.h b/src/s3daw.h @@ -90,6 +90,13 @@ s3daw_get_loaders struct aw_obj** obj, /* May be NULL <=> Do not get the obj loader */ struct aw_mtl** mtl); /* May be NULL <=> Do not get the mtl loader */ +/* Return the internally used Star-3D device. Note that the reference counter + * of device is not incremented. */ +S3DAW_API res_T +s3daw_get_s3d_device + (struct s3daw* s3daw, + struct s3d_device** device); + S3DAW_API res_T s3daw_load (struct s3daw* s3daw, diff --git a/src/test_s3daw.c b/src/test_s3daw.c @@ -195,6 +195,7 @@ main(int argc, char** argv) struct aw_obj* aw_obj; struct s3daw* s3daw; struct s3d_device* s3d; + struct s3d_device* s3d_tmp; (void)argc, (void)argv; mem_init_proxy_allocator(&allocator_proxy, &mem_default_allocator); @@ -230,6 +231,12 @@ main(int argc, char** argv) CHECK(s3daw_get_loaders(NULL, &aw_obj, &aw_mtl), RES_BAD_ARG); CHECK(s3daw_get_loaders(s3daw, &aw_obj, &aw_mtl), RES_OK); + CHECK(s3daw_get_s3d_device(NULL, NULL), RES_BAD_ARG); + CHECK(s3daw_get_s3d_device(s3daw, NULL), RES_BAD_ARG); + CHECK(s3daw_get_s3d_device(NULL, &s3d_tmp), RES_BAD_ARG); + CHECK(s3daw_get_s3d_device(s3daw, &s3d_tmp), RES_OK); + CHECK(s3d_tmp, s3d); + test_cbox(s3daw); CHECK(s3daw_ref_put(s3daw), RES_OK);