From 6b4dc860466ce4794b346533162291046a6ee96c Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 16 Jul 2009 01:16:33 +0000 Subject: New C++ wrapper for dmnsn_texture*. --- libdimension/objects.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'libdimension/objects.c') diff --git a/libdimension/objects.c b/libdimension/objects.c index 780c06b..3c772d1 100644 --- a/libdimension/objects.c +++ b/libdimension/objects.c @@ -100,7 +100,7 @@ dmnsn_new_cube() dmnsn_object *cube = dmnsn_new_object(); if (cube) { cube->intersection_fn = &dmnsn_cube_intersection_fn; - cube->inside_fn = &dmnsn_cube_inside_fn; + cube->inside_fn = &dmnsn_cube_inside_fn; } return cube; } @@ -126,7 +126,7 @@ dmnsn_cube_intersection_fn(const dmnsn_object *cube, dmnsn_line line) /* x = 1.0 */ t_temp = (1.0 - line.x0.x)/line.n.x; - p = dmnsn_line_point(line, t); + p = dmnsn_line_point(line, t_temp); if (p.y >= -1.0 && p.y <= 1.0 && p.z >= -1.0 && p.z <= 1.0 && t_temp >= 0.0 && (t < 0.0 || t_temp < t)) { t = t_temp; @@ -136,16 +136,16 @@ dmnsn_cube_intersection_fn(const dmnsn_object *cube, dmnsn_line line) if (line.n.y != 0.0) { /* y = -1.0 */ t_temp = (-1.0 - line.x0.y)/line.n.y; - p = dmnsn_line_point(line, t); - if (p.y >= -1.0 && p.y <= 1.0 && p.z >= -1.0 && p.z <= 1.0 + p = dmnsn_line_point(line, t_temp); + if (p.x >= -1.0 && p.x <= 1.0 && p.z >= -1.0 && p.z <= 1.0 && t_temp >= 0.0 && (t < 0.0 || t_temp < t)) { t = t_temp; } /* y = 1.0 */ t_temp = (1.0 - line.x0.y)/line.n.y; - p = dmnsn_line_point(line, t); - if (p.y >= -1.0 && p.y <= 1.0 && p.z >= -1.0 && p.z <= 1.0 + p = dmnsn_line_point(line, t_temp); + if (p.x >= -1.0 && p.x <= 1.0 && p.z >= -1.0 && p.z <= 1.0 && t_temp >= 0.0 && (t < 0.0 || t_temp < t)) { t = t_temp; } @@ -154,16 +154,16 @@ dmnsn_cube_intersection_fn(const dmnsn_object *cube, dmnsn_line line) if (line.n.z != 0.0) { /* z = -1.0 */ t_temp = (-1.0 - line.x0.z)/line.n.z; - p = dmnsn_line_point(line, t); - if (p.y >= -1.0 && p.y <= 1.0 && p.z >= -1.0 && p.z <= 1.0 + p = dmnsn_line_point(line, t_temp); + if (p.x >= -1.0 && p.x <= 1.0 && p.y >= -1.0 && p.y <= 1.0 && t_temp >= 0.0 && (t < 0.0 || t_temp < t)) { t = t_temp; } /* z = 1.0 */ t_temp = (1.0 - line.x0.z)/line.n.z; - p = dmnsn_line_point(line, t); - if (p.y >= -1.0 && p.y <= 1.0 && p.z >= -1.0 && p.z <= 1.0 + p = dmnsn_line_point(line, t_temp); + if (p.x >= -1.0 && p.x <= 1.0 && p.y >= -1.0 && p.y <= 1.0 && t_temp >= 0.0 && (t < 0.0 || t_temp < t)) { t = t_temp; } -- cgit v1.2.3