commit 2fe944daf1941595fa28c1b787d59a0c5bbea7bc
parent 6b86b78bc7b1e448fea439c3788ae4d4db89a2fc
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Thu, 7 Feb 2019 11:33:19 +0100
Add some debug code
Diffstat:
2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/src/senc2d_scene_analyze.c b/src/senc2d_scene_analyze.c
@@ -376,6 +376,7 @@ canceled:
/* Compute the normal at the max_y vertex. */
max_ny = 0;
sz = darray_side_id_size_get(&ids_of_sides_around_max_y_vertex);
+ ASSERT(sz > 0);
FOR_EACH(ii, 0, sz) {
const side_id_t side_id =
darray_side_id_cdata_get(&ids_of_sides_around_max_y_vertex)[ii];
@@ -841,9 +842,15 @@ collect_and_link_neighbours
}
a = current->angle;
/* Link sides */
+ ASSERT(p_crt_side->facing_side_id[crt_end] == SIDE_NULL__);
+ ASSERT(p_ccw_side->facing_side_id[ccw_end] == SIDE_NULL__);
p_crt_side->facing_side_id[crt_end] = ccw_side_idx;
p_ccw_side->facing_side_id[ccw_end] = crt_side_idx;
/* Record media */
+ ASSERT(p_crt_side->medium == MEDIUM_NULL__
+ || p_crt_side->medium == segments_in[crt_id].medium[crt_side]);
+ ASSERT(p_ccw_side->medium == MEDIUM_NULL__
+ || p_ccw_side->medium == segments_in[ccw_id].medium[ccw_side]);
p_crt_side->medium = segments_in[crt_id].medium[crt_side];
p_ccw_side->medium = segments_in[ccw_id].medium[ccw_side];
ASSERT(p_crt_side->medium < scn->nmeds);
@@ -1113,6 +1120,15 @@ senc2d_scene_analyze
res = RES_MEM_ERR;
goto error;
}
+#ifndef NDEBUG
+ else {
+ /* Initialise trgsides to allow assert code */
+ size_t i;
+ FOR_EACH(i, 0, 2 * scn->nusegs)
+ init_segside(scn->dev->allocator, segsides + i);
+ }
+#endif
+
/* We create a neighbourhood for every single unique vertex,
* regardless the fact it is used by a segment.
diff --git a/src/senc2d_scene_analyze_c.h b/src/senc2d_scene_analyze_c.h
@@ -37,6 +37,15 @@ struct segside {
* front(seg_0), back(seg_0), front(seg_1), back(seg_1), ... */
};
+static FINLINE void
+init_segside(struct mem_allocator* alloc, struct segside* data)
+{
+ int i;
+ ASSERT(data); (void)alloc;
+ FOR_EACH(i, 0, 3) data->facing_side_id[i] = SIDE_NULL__;
+ data->medium = MEDIUM_NULL__;
+}
+
#define DARRAY_NAME side_id
#define DARRAY_DATA side_id_t
#include <rsys/dynamic_array.h>