commit 702181ede1b14fdf97e3755a31af4c97cec5e94e
parent 5691d33aa902c7e8ffbada35d0529c02ae84eb96
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Wed, 18 Apr 2018 18:25:34 +0200
Use a distorded square in tests when possible.
This causes some tests to fail and reveal a bug!
Diffstat:
8 files changed, 128 insertions(+), 118 deletions(-)
diff --git a/src/test_senc2d_descriptor.c b/src/test_senc2d_descriptor.c
@@ -44,8 +44,8 @@ main(int argc, char** argv)
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
/* A 2D square */
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -53,8 +53,8 @@ main(int argc, char** argv)
ctx.front_media = medium0;
ctx.back_media = medium1;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
@@ -112,30 +112,30 @@ main(int argc, char** argv)
CHK(senc2d_descriptor_get_global_vertices_count(NULL, &count) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_vertices_count(desc, NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_vertices_count(desc, &count) == RES_OK);
- CHK(count == square_nvertices);
+ CHK(count == nvertices);
CHK(senc2d_descriptor_get_global_segments_count(NULL, &count) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segments_count(desc, NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segments_count(desc, &count) == RES_OK);
- CHK(count == square_nsegments);
+ CHK(count == nsegments);
CHK(senc2d_descriptor_get_global_segment(NULL, 0, indices) == RES_BAD_ARG);
- CHK(senc2d_descriptor_get_global_segment(NULL, square_nsegments, indices)
+ CHK(senc2d_descriptor_get_global_segment(NULL, nsegments, indices)
== RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment(desc, 0, NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment(desc, 0, indices) == RES_OK);
- CHK(indices[0] == square_indices[0] && indices[1] == square_indices[1]);
+ CHK(indices[0] == box_indices[0] && indices[1] == box_indices[1]);
CHK(senc2d_descriptor_get_global_vertex(NULL, 0, coord) == RES_BAD_ARG);
- CHK(senc2d_descriptor_get_global_vertex(NULL, square_nvertices, coord)
+ CHK(senc2d_descriptor_get_global_vertex(NULL, nvertices, coord)
== RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_vertex(desc, 0, NULL) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_vertex(desc, 0, coord) == RES_OK);
- CHK(coord[0] == square_vertices[0] && coord[1] == square_vertices[1]);
+ CHK(coord[0] == box_vertices[0] && coord[1] == box_vertices[1]);
CHK(senc2d_descriptor_get_global_segment_media(NULL, 0, media)
== RES_BAD_ARG);
- CHK(senc2d_descriptor_get_global_segment_media(NULL, square_nvertices, media)
+ CHK(senc2d_descriptor_get_global_segment_media(NULL, nvertices, media)
== RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment_media(desc, 0, NULL)
== RES_BAD_ARG);
@@ -145,7 +145,7 @@ main(int argc, char** argv)
CHK(senc2d_descriptor_get_global_segment_enclosures(
NULL, 0, enclosures) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment_enclosures(
- NULL, square_nvertices, enclosures) == RES_BAD_ARG);
+ NULL, nvertices, enclosures) == RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment_enclosures(desc, 0, NULL)
== RES_BAD_ARG);
CHK(senc2d_descriptor_get_global_segment_enclosures(desc, 0, enclosures)
@@ -155,25 +155,25 @@ main(int argc, char** argv)
/* Add valid duplicate geometry */
CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
desc = NULL;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
CHK(senc2d_descriptor_get_global_vertices_count(desc, &count) == RES_OK);
/* Duplicate vertices have been replaced */
- CHK(count == square_nvertices);
+ CHK(count == nvertices);
CHK(senc2d_descriptor_get_global_segments_count(desc, &count) == RES_OK);
/* Duplicate segments have been replaced */
- CHK(count == square_nsegments);
+ CHK(count == nsegments);
/* Add invalid duplicate geometry */
CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
desc = NULL;
ctx.front_media = medium1;
ctx.back_media = medium0;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_BAD_ARG);
CHK(senc2d_scene_ref_put(scn) == RES_OK);
CHK(senc2d_device_ref_put(dev) == RES_OK);
diff --git a/src/test_senc2d_enclosure.c b/src/test_senc2d_enclosure.c
@@ -17,7 +17,6 @@
#include "senc2d_s2d_wrapper.h"
#include "test_senc2d_utils.h"
-#include <rsys/float2.h>
#include <rsys/double2.h>
#include <star/s2d.h>
@@ -61,8 +60,8 @@ main(int argc, char** argv)
/* A 2D square.
* 2 enclosures (inside, outside) sharing the same segments,
* but opposite sides */
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -70,8 +69,8 @@ main(int argc, char** argv)
ctx.front_media = medium0;
ctx.back_media = medium1;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
@@ -85,52 +84,52 @@ main(int argc, char** argv)
CHK(senc2d_enclosure_ref_put(enclosure) == RES_OK);
CHK(senc2d_enclosure_get_segment(NULL, 0, indices[0]) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment(enclosure, square_nsegments, indices[0])
+ CHK(senc2d_enclosure_get_segment(enclosure, nsegments, indices[0])
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment(enclosure, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment(NULL, square_nsegments, indices[0])
+ CHK(senc2d_enclosure_get_segment(NULL, nsegments, indices[0])
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment(NULL, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment(enclosure, square_nsegments, NULL)
+ CHK(senc2d_enclosure_get_segment(enclosure, nsegments, NULL)
== RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment(NULL, square_nsegments, NULL) == RES_BAD_ARG);
+ CHK(senc2d_enclosure_get_segment(NULL, nsegments, NULL) == RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment(enclosure, 0, indices[0]) == RES_OK);
CHK(senc2d_enclosure_get_vertex(NULL, 0, vrtx) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_vertex(enclosure, square_nvertices, vrtx)
+ CHK(senc2d_enclosure_get_vertex(enclosure, nvertices, vrtx)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_vertex(enclosure, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_vertex(NULL, square_nvertices, vrtx) == RES_BAD_ARG);
+ CHK(senc2d_enclosure_get_vertex(NULL, nvertices, vrtx) == RES_BAD_ARG);
CHK(senc2d_enclosure_get_vertex(NULL, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_vertex(enclosure, square_nvertices, NULL)
+ CHK(senc2d_enclosure_get_vertex(enclosure, nvertices, NULL)
== RES_BAD_ARG);
- CHK(senc2d_enclosure_get_vertex(NULL, square_nvertices, NULL) == RES_BAD_ARG);
+ CHK(senc2d_enclosure_get_vertex(NULL, nvertices, NULL) == RES_BAD_ARG);
CHK(senc2d_enclosure_get_vertex(enclosure, 0, vrtx) == RES_OK);
CHK(senc2d_enclosure_get_segment_media(NULL, 0, medium) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_media(enclosure, square_nsegments, medium)
+ CHK(senc2d_enclosure_get_segment_media(enclosure, nsegments, medium)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_media(enclosure, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_media(NULL, square_nsegments, medium)
+ CHK(senc2d_enclosure_get_segment_media(NULL, nsegments, medium)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_media(NULL, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_media(enclosure, square_nsegments, NULL)
+ CHK(senc2d_enclosure_get_segment_media(enclosure, nsegments, NULL)
== RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_media(NULL, square_nsegments, NULL)
+ CHK(senc2d_enclosure_get_segment_media(NULL, nsegments, NULL)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_media(enclosure, 0, medium) == RES_OK);
CHK(senc2d_enclosure_get_segment_global_id(NULL, 0, &gid) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_global_id(enclosure, square_nsegments, &gid)
+ CHK(senc2d_enclosure_get_segment_global_id(enclosure, nsegments, &gid)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_global_id(enclosure, 0, NULL)
== RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_global_id(NULL, square_nsegments, &gid)
+ CHK(senc2d_enclosure_get_segment_global_id(NULL, nsegments, &gid)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_global_id(NULL, 0, NULL) == RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_global_id(enclosure, square_nsegments, NULL)
+ CHK(senc2d_enclosure_get_segment_global_id(enclosure, nsegments, NULL)
== RES_BAD_ARG);
- CHK(senc2d_enclosure_get_segment_global_id(NULL, square_nsegments, NULL)
+ CHK(senc2d_enclosure_get_segment_global_id(NULL, nsegments, NULL)
== RES_BAD_ARG);
CHK(senc2d_enclosure_get_segment_global_id(enclosure, 0, &gid) == RES_OK);
@@ -146,9 +145,9 @@ main(int argc, char** argv)
CHK(header.enclosure_id == i);
CHK(header.enclosed_medium == (i == 0 ? 0U : 1U));
- CHK(header.segment_count == square_nsegments);
- CHK(header.unique_segment_count == square_nsegments);
- CHK(header.vertices_count == square_nvertices);
+ CHK(header.segment_count == nsegments);
+ CHK(header.unique_segment_count == nsegments);
+ CHK(header.vertices_count == nvertices);
CHK(header.is_infinite == (i == 0));
FOR_EACH(t, 0, header.segment_count) {
@@ -161,7 +160,7 @@ main(int argc, char** argv)
FOR_EACH(i, 0, 2)
CHK(senc2d_descriptor_get_enclosure(desc, i, enclosures + i) == RES_OK);
- FOR_EACH(n, 0, square_nsegments) {
+ FOR_EACH(n, 0, nsegments) {
/* Read same segments in both enclosures */
FOR_EACH(i, 0, 2)
CHK(senc2d_enclosure_get_segment(enclosures[i], n, indices[i]) == RES_OK);
@@ -180,15 +179,15 @@ main(int argc, char** argv)
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
d2(ctx.offset, 0, 0);
ctx.front_media = medium0;
ctx.back_media = medium0;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments - 1, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments - 1, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
@@ -207,8 +206,8 @@ main(int argc, char** argv)
CHK(header.enclosure_id == 0);
CHK(header.enclosed_medium == 0);
CHK(header.segment_count == 2 * header.unique_segment_count);
- CHK(header.unique_segment_count == square_nsegments - 1);
- CHK(header.vertices_count == square_nvertices);
+ CHK(header.unique_segment_count == nsegments - 1);
+ CHK(header.vertices_count == nvertices);
CHK(header.is_infinite == 1);
FOR_EACH(t, 0, header.unique_segment_count) {
diff --git a/src/test_senc2d_sample_enclosure.c b/src/test_senc2d_sample_enclosure.c
@@ -61,8 +61,8 @@ main(int argc, char** argv)
/* A 2D square, but with a hole (incomplete).
* 1 single enclosure including both sides of segments */
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = square_vertices; /* Need a true square */
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -70,8 +70,8 @@ main(int argc, char** argv)
ctx.front_media = medium0;
ctx.back_media = medium0;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments - 1, get_indices,
- get_media, NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments - 1, get_indices,
+ get_media, NULL, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
diff --git a/src/test_senc2d_scene.c b/src/test_senc2d_scene.c
@@ -66,8 +66,8 @@ main(int argc, char** argv)
CHK(count == 0);
/* A 2D square */
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -76,29 +76,29 @@ main(int argc, char** argv)
ctx.back_media = medium1;
ctx.global_ids = gid_face;
- CHK(senc2d_scene_add_geometry(NULL, square_nsegments, get_indices, get_media,
- get_global_id, square_nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(NULL, nsegments, get_indices, get_media,
+ get_global_id, nvertices, get_position, &ctx) == RES_BAD_ARG);
CHK(senc2d_scene_add_geometry(scn, 0, get_indices, get_media, get_global_id,
- square_nvertices, get_position, &ctx) == RES_BAD_ARG);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, NULL, get_media,
- get_global_id, square_nvertices, get_position, &ctx) == RES_BAD_ARG);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, NULL,
- get_global_id, square_nvertices, get_position, &ctx) == RES_BAD_ARG);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
+ nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, NULL, get_media,
+ get_global_id, nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, NULL,
+ get_global_id, nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
get_global_id, 0, get_position, &ctx) == RES_BAD_ARG);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- get_global_id, square_nvertices, NULL, &ctx) == RES_BAD_ARG);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- get_global_id, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ get_global_id, nvertices, NULL, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ get_global_id, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_get_segments_count(scn, &count) == RES_OK);
- CHK(count == square_nsegments);
+ CHK(count == nsegments);
CHK(senc2d_scene_get_unique_segments_count(scn, &count) == RES_OK);
- CHK(count == square_nsegments);
+ CHK(count == nsegments);
CHK(senc2d_scene_get_vertices_count(scn, &count) == RES_OK);
- CHK(count == square_nvertices);
+ CHK(count == nvertices);
CHK(senc2d_scene_get_unique_vertices_count(scn, &count) == RES_OK);
- CHK(count == square_nvertices);
+ CHK(count == nvertices);
CHK(senc2d_scene_analyze(NULL, NULL) == RES_BAD_ARG);
CHK(senc2d_scene_analyze(scn, NULL) == RES_BAD_ARG);
@@ -114,11 +114,11 @@ main(int argc, char** argv)
CHK(senc2d_scene_ref_put(scn) == RES_OK);
CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- get_global_id, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ get_global_id, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
- FOR_EACH(i, 0, square_nsegments) {
+ FOR_EACH(i, 0, nsegments) {
unsigned gid;
CHK(senc2d_descriptor_get_global_segment_global_id(desc, i, &gid) == RES_OK);
/* gid has been set to gid_face. */
@@ -128,11 +128,11 @@ main(int argc, char** argv)
CHK(senc2d_scene_ref_put(scn) == RES_OK);
CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
- FOR_EACH(i, 0, square_nsegments) {
+ FOR_EACH(i, 0, nsegments) {
unsigned gid;
CHK(senc2d_descriptor_get_global_segment_global_id(desc, i, &gid) == RES_OK);
/* Default gid: segments rank. */
@@ -140,36 +140,36 @@ main(int argc, char** argv)
}
/* Invalid vertex ID */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices - 1, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices - 1, get_position, &ctx) == RES_BAD_ARG);
/* Incoherent medium on a duplicate segment */
ctx.back_media = medium1_3;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_BAD_ARG);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_BAD_ARG);
/* It is OK dd geometry after a failed add */
ctx.back_media = medium1;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
/* Coherent medium on duplicate segment */
ctx.back_media = medium1;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
/* Coherent medium on duplicate segment V2 */
ctx.reverse_med = 1;
ctx.front_media = medium1;
ctx.back_media = medium0;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
/* Coherent medium on duplicate segment V3 */
ctx.reverse_med = 0;
ctx.reverse_vrtx = 1;
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_ref_put(scn) == RES_OK);
CHK(senc2d_device_ref_put(dev) == RES_OK);
diff --git a/src/test_senc2d_square_behind_square.c b/src/test_senc2d_square_behind_square.c
@@ -35,8 +35,8 @@ main(int argc, char** argv)
/* Create the scene */
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -45,8 +45,8 @@ main(int argc, char** argv)
ctx.back_media = medium1;
/* First square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
/* +Y from the first square,
* big enough to prevent rays from the first square to miss this one */
@@ -54,8 +54,8 @@ main(int argc, char** argv)
ctx.scale = 5;
/* Second square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
@@ -66,8 +66,8 @@ main(int argc, char** argv)
ctx.back_media = medium0;
/* Third square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
if(desc) CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
desc = NULL;
diff --git a/src/test_senc2d_square_in_square.c b/src/test_senc2d_square_in_square.c
@@ -35,8 +35,8 @@ main(int argc, char** argv)
/* Create the scene */
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = box_vertices;
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -47,8 +47,8 @@ main(int argc, char** argv)
ctx.back_media = medium1;
/* First square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
d2(ctx.offset, -1, -1);
ctx.scale = 3;
@@ -57,8 +57,8 @@ main(int argc, char** argv)
ctx.reverse_vrtx = 1;
/* Second square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
@@ -72,8 +72,8 @@ main(int argc, char** argv)
ctx.back_media = medium0; /* mismatch with square 2 */
/* Third square */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media, NULL,
- square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media, NULL,
+ nvertices, get_position, &ctx) == RES_OK);
if(desc) CHK(senc2d_descriptor_ref_put(desc) == RES_OK);
desc = NULL;
diff --git a/src/test_senc2d_square_on_square.c b/src/test_senc2d_square_on_square.c
@@ -54,13 +54,13 @@ main(int argc, char** argv)
CHK(mem_init_proxy_allocator(&allocator, &mem_default_allocator) == RES_OK);
CHK(senc2d_device_create
- (NULL, &allocator, SENC2D_NTHREADS_DEFAULT, 1, &dev) == RES_OK);
+ (NULL, &allocator, 1/*SENC2D_NTHREADS_DEFAULT*/, 1, &dev) == RES_OK);
/* Create the scene */
CHK(senc2d_scene_create(dev, &scn) == RES_OK);
- ctx.positions = square_vertices;
- ctx.indices = square_indices;
+ ctx.positions = square_vertices; /* Need true squares for squares #1 and #2 */
+ ctx.indices = box_indices;
ctx.scale = 1;
ctx.reverse_vrtx = 0;
ctx.reverse_med = 0;
@@ -72,8 +72,8 @@ main(int argc, char** argv)
ctx.back_media = medium0;
/* Add square #1 */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
d2(ctx.offset, 1, 2);
ctx.scale = 1;
@@ -84,9 +84,10 @@ main(int argc, char** argv)
ctx.back_media = medium0;
/* Add square #2 (has a duplicate face with square #1) */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
+ ctx.positions = box_vertices; /* Can use distorded square for square #3 */
d2(ctx.offset, 0, 0);
ctx.scale = 4;
ctx.reverse_vrtx = 1;
@@ -97,8 +98,8 @@ main(int argc, char** argv)
ctx.back_media = medium1;
/* Add square #3 */
- CHK(senc2d_scene_add_geometry(scn, square_nsegments, get_indices, get_media,
- NULL, square_nvertices, get_position, &ctx) == RES_OK);
+ CHK(senc2d_scene_add_geometry(scn, nsegments, get_indices, get_media,
+ NULL, nvertices, get_position, &ctx) == RES_OK);
CHK(senc2d_scene_analyze(scn, &desc) == RES_OK);
diff --git a/src/test_senc2d_utils.h b/src/test_senc2d_utils.h
@@ -25,14 +25,24 @@
/*******************************************************************************
* Geometry
******************************************************************************/
-static double square_vertices[4/*#vertices*/*2/*#coords per vertex*/] = {
+ /* Distorded square */
+static double box_vertices[4/*#vertices*/*2/*#coords per vertex*/] = {
+ 0.1, 0.0,
+ 1.0, 0.0,
+ 0.0, 1.1,
+ 1.0, 1.0
+};
+/* Need a true square for some tests */
+static double square_vertices[4/*#vertices*/ * 2/*#coords per vertex*/] = {
0.0, 0.0,
1.0, 0.0,
0.0, 1.0,
1.0, 1.0
};
static const unsigned
-square_nvertices = sizeof(square_vertices) / (2 * sizeof(*square_vertices));
+nvertices = sizeof(box_vertices) / (2 * sizeof(*box_vertices));
+STATIC_ASSERT(sizeof(box_vertices) == sizeof(square_vertices),
+ The_2_geometries_must_have_the_same_number_of_vertices);
/* The following array lists the indices toward the 2D vertices of each
* segment.
@@ -43,14 +53,14 @@ square_nvertices = sizeof(square_vertices) / (2 * sizeof(*square_vertices));
* 0----1
*/
static unsigned
-square_indices[4/*#segments*/*2/*#indices per segment*/] = {
+box_indices[4/*#segments*/*2/*#indices per segment*/] = {
0, 2,
2, 3,
3, 1,
1, 0
};
static const unsigned
-square_nsegments = sizeof(square_indices) / (2 * sizeof(*square_indices));
+nsegments = sizeof(box_indices) / (2 * sizeof(*box_indices));
struct context {
double* positions;