From 5b41aa94a77549dec330fc29a9c7903ce15f49fd Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Tue, 25 Feb 2025 12:03:37 -0800 Subject: [PATCH] more degenerate cube tests --- lib/bsp_loader/src/brush.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/bsp_loader/src/brush.rs b/lib/bsp_loader/src/brush.rs index 56c1171..da4d716 100644 --- a/lib/bsp_loader/src/brush.rs +++ b/lib/bsp_loader/src/brush.rs @@ -300,4 +300,34 @@ mod test{ assert_eq!(faces.faces.len(),6); dbg!(faces); } + #[test] + fn test_cube_with_degernate_face2(){ + let face_list=[ + Face{normal:integer::vec3::X,dot:Planar64::ONE}, + Face{normal:integer::vec3::Y,dot:Planar64::ONE}, + Face{normal:integer::vec3::Z,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_X,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_Y,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_Z,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_X+integer::vec3::NEG_Z,dot:-Planar64::EPSILON}, + ].into_iter().collect(); + let faces=planes_to_faces(face_list).unwrap(); + assert_eq!(faces.faces.len(),5); + dbg!(faces); + } + #[test] + fn test_cube_with_degernate_face3(){ + let face_list=[ + Face{normal:integer::vec3::X,dot:Planar64::ONE}, + Face{normal:integer::vec3::Y,dot:Planar64::ONE}, + Face{normal:integer::vec3::Z,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_X,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_Y,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_Z,dot:Planar64::ONE}, + Face{normal:integer::vec3::NEG_X+integer::vec3::NEG_Z,dot:Planar64::EPSILON}, + ].into_iter().collect(); + let faces=planes_to_faces(face_list).unwrap(); + assert_eq!(faces.faces.len(),7); + dbg!(faces); + } }