use glam::vec2;
use polyanya::{Layer, Mesh, Triangulation};
#[test]
fn baking_a_layer_without_polygons_returns() {
let mut layer = Layer::default();
layer.bake();
let mesh = Mesh {
layers: vec![layer],
..Default::default()
};
assert!(!mesh.point_in_mesh(vec2(0.0, 0.0)));
}
#[test]
fn a_layer_covered_by_an_obstacle_bakes() {
let outline = [
vec2(0.0, 0.0),
vec2(10.0, 0.0),
vec2(10.0, 10.0),
vec2(0.0, 10.0),
];
let mut triangulation = Triangulation::from_outer_edges(&outline);
triangulation.add_obstacle(vec![
vec2(-1.0, -1.0),
vec2(-1.0, 11.0),
vec2(11.0, 11.0),
vec2(11.0, -1.0),
]);
let mut layer = triangulation.as_layer();
assert!(layer.polygons.is_empty());
layer.bake();
let mesh = Mesh {
layers: vec![layer],
..Default::default()
};
assert!(!mesh.point_in_mesh(vec2(5.0, 5.0)));
}