From 05757a852b46c40354f18d4f0c547d6b339054ab Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 30 Oct 2009 11:58:37 -0400 Subject: Don't flip boxes that are specified backwards. --- dimension/realize.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'dimension') diff --git a/dimension/realize.c b/dimension/realize.c index 286bae7..38a74e6 100644 --- a/dimension/realize.c +++ b/dimension/realize.c @@ -20,6 +20,7 @@ #include "realize.h" #include "parse.h" #include "utility.h" +#include static dmnsn_vector dmnsn_realize_vector(dmnsn_astnode astnode) @@ -59,9 +60,11 @@ dmnsn_realize_box(dmnsn_astnode astnode) x2 = dmnsn_realize_vector(corner2); dmnsn_object *box = dmnsn_new_cube(); - box->trans = dmnsn_scale_matrix(dmnsn_vector_construct((x2.x - x1.x)/2.0, - (x2.y - x1.y)/2.0, - (x2.z - x1.z)/2.0)); + box->trans = dmnsn_scale_matrix( + dmnsn_vector_construct(fabs(x2.x - x1.x)/2.0, + fabs(x2.y - x1.y)/2.0, + fabs(x2.z - x1.z)/2.0) + ); box->trans = dmnsn_matrix_mul( dmnsn_translation_matrix(dmnsn_vector_construct((x2.x + x1.x)/2.0, (x2.y + x1.y)/2.0, -- cgit v1.2.3