From 8f7e44228b61a715ef005ea4e780a3b2c4656eea Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Wed, 5 Feb 2025 13:51:05 -0800 Subject: [PATCH] test degenerate face --- lib/bsp_loader/src/brush.rs | 46 ++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/lib/bsp_loader/src/brush.rs b/lib/bsp_loader/src/brush.rs index 4e8d11c..8d7c040 100644 --- a/lib/bsp_loader/src/brush.rs +++ b/lib/bsp_loader/src/brush.rs @@ -10,6 +10,7 @@ struct Face{ dot:integer::Planar64, } +#[derive(Debug)] struct Faces{ faces:Vec<Vec<integer::Planar64Vec3>>, } @@ -178,19 +179,6 @@ fn planes_to_faces(face_list:std::collections::HashSet<Face>)->Result<Faces,Plan } } -#[test] -fn test_planes_to_faces(){ - 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}, - ].into_iter().collect(); - let faces=planes_to_faces(face_list).unwrap(); -} - #[derive(Debug)] pub enum BrushToMeshError{ SliceBrushSides, @@ -252,3 +240,35 @@ pub fn brush_to_mesh(bsp:&vbsp::Bsp,brush:&vbsp::Brush)->Result<model::Mesh,Brus Ok(mb.build(polygon_groups,graphics_groups,physics_groups)) } + +#[cfg(test)] +mod test{ + use super::*; + #[test] + fn test_cube(){ + 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}, + ].into_iter().collect(); + let faces=planes_to_faces(face_list).unwrap(); + dbg!(faces); + } + #[test] + fn test_cube_with_degernate_face(){ + 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_Z,dot:Planar64::EPSILON}, + ].into_iter().collect(); + let faces=planes_to_faces(face_list).unwrap(); + dbg!(faces); + } +}