star-2d

Contour structuring for efficient 2D geometric queries
git clone git://git.meso-star.fr/star-2d.git
Log | Files | Refs | README | LICENSE

commit 9a7d6c5b62a82cf41de2965f36a00d0cfe1f2c58
parent a95760c2f6253f5c40f3180b4ac4c723a8e1c8ff
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 12 Jan 2018 14:20:13 +0100

Upd the primitive tests to use the scene view

Diffstat:
Mcmake/CMakeLists.txt | 2+-
Msrc/test_s2d_primitive.c | 36++++++++++++++++--------------------
2 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -130,9 +130,9 @@ if(NOT NO_TEST) endfunction() new_test(test_s2d_device) + new_test(test_s2d_primitive) new_test(test_s2d_scene) new_test(test_s2d_scene_view) -# new_test(test_s2d_primitive) # new_test(test_s2d_sample) # new_test(test_s2d_session_advanced) # new_test(test_s2d_shape) diff --git a/src/test_s2d_primitive.c b/src/test_s2d_primitive.c @@ -42,9 +42,10 @@ main(int argc, char** argv) struct s2d_vertex_data vdata; struct s2d_device* dev; struct s2d_scene* scn; + struct s2d_scene_view* scnview; struct s2d_shape* shape; size_t nprims; - unsigned box_id; + unsigned square_id; float tmp[2]; float length; float s; @@ -56,19 +57,19 @@ main(int argc, char** argv) CHK(s2d_device_create(NULL, &allocator, 1, &dev) == RES_OK); CHK(s2d_scene_create(dev, &scn) == RES_OK); CHK(s2d_shape_create_line_segments(dev, &shape) == RES_OK); - CHK(s2d_shape_get_id(shape, &box_id) == RES_OK); + CHK(s2d_shape_get_id(shape, &square_id) == RES_OK); CHK(s2d_scene_attach_shape(scn, shape) == RES_OK); vdata.usage = S2D_POSITION; vdata.type = S2D_FLOAT2; vdata.get = line_segments_get_position; - CHECK(s2d_line_segments_setup_indexed_vertices - (shape, box_nsegs, line_segments_get_ids, box_nverts, &vdata, 1, - (void*)&box_desc), RES_OK); + CHK(s2d_line_segments_setup_indexed_vertices + (shape, square_nsegs, line_segments_get_ids, square_nverts, &vdata, 1, + (void*)&square_desc) == RES_OK); - CHK(s2d_scene_begin_session(scn, S2D_SAMPLE) == RES_OK); - CHK(s2d_scene_sample(scn, 0, 0, &prim, &s) == RES_OK); - CHK(s2d_scene_end_session(scn) == RES_OK); + CHK(s2d_scene_view_create(scn, S2D_SAMPLE, &scnview) == RES_OK); + CHK(s2d_scene_view_sample(scnview, 0, 0, &prim, &s) == RES_OK); + CHK(s2d_scene_view_ref_put(scnview) == RES_OK); #define GET_ATTRIB s2d_primitive_get_attrib CHK(GET_ATTRIB(NULL, S2D_ATTRIBS_COUNT__, 2, NULL) == RES_BAD_ARG); @@ -100,19 +101,14 @@ main(int argc, char** argv) default: CHK(0 == 1); /* Invalid primitive id */ } - CHK(GET_ATTRIB(&S2D_PRIMITIVE_NULL, S2D_GEOMETRY_NORMAL, s == &attr), - RES_BAD_ARG); + CHK(GET_ATTRIB(&S2D_PRIMITIVE_NULL, S2D_GEOMETRY_NORMAL, s, &attr) + == RES_BAD_ARG); #undef GET_ATTRIB - CHK(s2d_scene_begin_session(scn, S2D_GET_PRIMITIVE) == RES_OK); - CHK(s2d_scene_primitives_count(scn, &nprims) == RES_OK); + CHK(s2d_scene_view_create(scn, S2D_GET_PRIMITIVE, &scnview) == RES_OK); + CHK(s2d_scene_view_primitives_count(scnview, &nprims) == RES_OK); CHK(nprims == 4); - CHK(s2d_scene_end_session(scn) == RES_OK); - - CHK(s2d_scene_begin_session(scn, S2D_TRACE) == RES_OK); - CHK(s2d_scene_primitives_count(scn, &nprims) == RES_OK); - CHK(nprims == 4); - CHK(s2d_scene_end_session(scn) == RES_OK); + CHK(s2d_scene_view_ref_put(scnview) == RES_OK); CHK(s2d_primitive_compute_length(NULL, NULL) == RES_BAD_ARG); CHK(s2d_primitive_compute_length(&prim, NULL) == RES_BAD_ARG); @@ -132,8 +128,8 @@ main(int argc, char** argv) FOR_EACH(i, 0, NSAMPS) { CHK(s2d_primitive_sample(&prim, rand_canonic(), &s) == RES_OK); - CHK(s >= 0.f == 1); - CHK(s <= 1.f == 1); + CHK(s >= 0.f); + CHK(s <= 1.f); } CHK(s2d_device_ref_put(dev) == RES_OK);