commit 243b7b0254a38b411d4a61b952bed9b585b0da6e
parent 8b0fe9974f30c26caa8deecb12412e80f13d7ce7
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Thu, 22 Sep 2016 16:22:40 +0200
Clean some asserts.
Diffstat:
3 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/src/ssol_c.h b/src/ssol_c.h
@@ -54,5 +54,7 @@ hit_filter_function
#define ASSERT_NAN(x, sz)
#endif
+#define NON_BOOL 99
+
#endif /* SSOL_C_H */
diff --git a/src/ssol_scene.c b/src/ssol_scene.c
@@ -333,7 +333,7 @@ hit_filter_function
ASSERT_NAN(seg->org, 3);
ASSERT_NAN(&seg->tmin, 1);
ASSERT(seg->self_instance);
- NCHECK(seg->self_front, 99);
+ ASSERT(seg->self_front != NON_BOOL);
/* need to reject identical hits on triangle's edges */
if (hit->distance <= seg->tmin) {
diff --git a/src/ssol_solver.c b/src/ssol_solver.c
@@ -197,13 +197,13 @@ check_fst_segment(const struct segment* seg)
ASSERT(seg);
ASSERT_NAN(seg->dir, 3);
/* hit is not checked and can be used only for debugging purpose */
- NCHECK(seg->hit_front, 99);
+ ASSERT(seg->hit_front != NON_BOOL);
ASSERT(seg->hit_instance);
ASSERT(seg->hit_material);
ASSERT_NAN(seg->hit_normal, 3);
ASSERT_NAN(seg->hit_pos, 3);
if (seg->on_punched) ASSERT_NAN(seg->hit_pos_local, 3);
- NCHECK(seg->on_punched, 99);
+ ASSERT(seg->on_punched != NON_BOOL);
ASSERT_NAN(seg->org, 3);
ASSERT_NAN(&seg->tmin, 1);
ASSERT(seg->weight > 0);
@@ -215,7 +215,7 @@ check_segment(const struct segment* seg)
check_fst_segment(seg);
ASSERT_NAN(&seg->hit_distance, 1);
ASSERT(seg->self_instance);
- NCHECK(seg->self_front, 99);
+ ASSERT(seg->self_front != NON_BOOL);
/* hit filter is supposed to work properly */
ASSERT(seg->self_instance != seg->hit_instance
|| seg->self_front != seg->hit_front);
@@ -272,16 +272,16 @@ reset_segment(struct segment* seg)
d3_splat(seg->dir, NAN);
seg->hit = S3D_HIT_NULL;
seg->hit_distance = NAN;
- seg->hit_front = 99;
+ seg->hit_front = NON_BOOL;
seg->hit_instance = NULL;
seg->hit_material = NULL;
d3_splat(seg->hit_normal, NAN);
d3_splat(seg->hit_pos, NAN);
d3_splat(seg->hit_pos_local, NAN);
- seg->on_punched = 99;
+ seg->on_punched = NON_BOOL;
d3_splat(seg->org, NAN);
seg->self_instance = NULL;
- seg->self_front = 99;
+ seg->self_front = NON_BOOL;
seg->weight = NAN;
seg->tmin = NAN;
#else
@@ -295,12 +295,12 @@ reset_starting_point(struct starting_point* start)
ASSERT(start);
#ifndef NDEBUG
start->cos_sun = NAN;
- start->front_exposed = 99;
+ start->front_exposed = NON_BOOL;
start->instance = NULL;
start->material = NULL;
d3_splat(start->rt_normal, NAN);
d3_splat(start->sampl_normal, NAN);
- start->on_punched = 99;
+ start->on_punched = NON_BOOL;
d3_splat(start->pos, NAN);
d3_splat(start->pos_local, NAN);
start->sampl_primitive = S3D_PRIMITIVE_NULL;
@@ -316,12 +316,12 @@ check_starting_point(const struct starting_point* start)
{
ASSERT(start);
ASSERT(start->cos_sun > 0); /* normal is flipped facing in_dir */
- NCHECK(start->front_exposed, 99);
+ ASSERT(start->front_exposed != NON_BOOL);
ASSERT(start->instance);
ASSERT(start->material);
ASSERT_NAN(start->rt_normal, 3);
ASSERT_NAN(start->sampl_normal, 3);
- NCHECK(start->on_punched, 99);
+ ASSERT(start->on_punched != NON_BOOL);
ASSERT_NAN(start->pos, 3);
if(start->on_punched) ASSERT_NAN(start->pos_local, 3);
ASSERT(!S3D_PRIMITIVE_EQ(&start->sampl_primitive, &S3D_PRIMITIVE_NULL));
@@ -412,7 +412,7 @@ sample_point_on_primary_mirror(struct realisation* rs)
r3 = ssp_rng_canonical_float(data->rng);
S3D(scene_view_sample(data->view_samp, r1, r2, r3, &sampl_prim, start->uv));
S3D(primitive_get_attrib(&sampl_prim, S3D_POSITION, start->uv, &attrib));
- CHECK(attrib.type, S3D_FLOAT3);
+ ASSERT(attrib.type == S3D_FLOAT3);
d3_set_f3(start->pos, attrib.value);
/* find the solstice shape and project the sampled point on the mirror */
@@ -423,7 +423,7 @@ sample_point_on_primary_mirror(struct realisation* rs)
start->on_punched = (shape->type == SHAPE_PUNCHED);
/* set sampling normal */
S3D(primitive_get_attrib(&sampl_prim, S3D_GEOMETRY_NORMAL, start->uv, &attrib));
- CHECK(attrib.type, S3D_FLOAT3);
+ ASSERT(attrib.type == S3D_FLOAT3);
d3_set_f3(start->sampl_normal, attrib.value);
switch (shape->type) {
case SHAPE_MESH: {
@@ -553,7 +553,7 @@ receive_sunlight(struct realisation* rs)
seg->hit_instance = seg->self_instance;
seg->self_instance = NULL;
seg->hit_front = seg->self_front;
- seg->self_front = 99;
+ seg->self_front = NON_BOOL;
seg->weight = rs->data.sampled_area * sun->dni * start->cos_sun;
ASSERT(seg->weight > 0);