From 94a8d77ac4059952be3e26395a47a6a51d0192a3 Mon Sep 17 00:00:00 2001 From: hgn Date: Fri, 21 Jul 2023 10:02:46 +0100 Subject: [PATCH] expand_aabb_aabb --- vg_m.h | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/vg_m.h b/vg_m.h index 8b354d6..91282f0 100644 --- a/vg_m.h +++ b/vg_m.h @@ -1194,8 +1194,7 @@ static void m4x3_decompose( m4x3f m, v3f co, v4f q, v3f s ) m3x3_q( rot, q ); } -static void m4x3_expand_aabb_point( m4x3f m, boxf box, v3f point ) -{ +static void m4x3_expand_aabb_point( m4x3f m, boxf box, v3f point ){ v3f v; m4x3_mulv( m, point, v ); @@ -1203,26 +1202,19 @@ static void m4x3_expand_aabb_point( m4x3f m, boxf box, v3f point ) v3_maxv( box[1], v, box[1] ); } -static void m4x3_transform_aabb( m4x3f m, boxf box ) -{ +static void m4x3_expand_aabb_aabb( m4x3f m, boxf boxa, boxf boxb ){ v3f a; v3f b; - - v3_copy( box[0], a ); - v3_copy( box[1], b ); - v3_fill( box[0], INFINITY ); - v3_fill( box[1], -INFINITY ); - - m4x3_expand_aabb_point( m, box, (v3f){ a[0], a[1], a[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ a[0], b[1], a[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ b[0], b[1], a[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ b[0], a[1], a[2] } ); - - m4x3_expand_aabb_point( m, box, (v3f){ a[0], a[1], b[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ a[0], b[1], b[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ b[0], b[1], b[2] } ); - m4x3_expand_aabb_point( m, box, (v3f){ b[0], a[1], b[2] } ); + v3_copy( boxb[0], a ); + v3_copy( boxb[1], b ); + m4x3_expand_aabb_point( m, boxa, (v3f){ a[0], a[1], a[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ a[0], b[1], a[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ b[0], b[1], a[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ b[0], a[1], a[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ a[0], a[1], b[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ a[0], b[1], b[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ b[0], b[1], b[2] } ); + m4x3_expand_aabb_point( m, boxa, (v3f){ b[0], a[1], b[2] } ); } - static inline void m4x3_lookat( m4x3f m, v3f pos, v3f target, v3f up ) { v3f dir; @@ -1457,8 +1449,7 @@ static int box_within( boxf greater, boxf lesser ) return 0; } -static inline void box_init_inf( boxf box ) -{ +static inline void box_init_inf( boxf box ){ v3_fill( box[0], INFINITY ); v3_fill( box[1], -INFINITY ); } -- 2.25.1