From 53d376eaeef991850d35318b147f75c8f103319d Mon Sep 17 00:00:00 2001 From: Arne Dußin Date: Sun, 27 Dec 2020 21:54:31 +0100 Subject: Change to polygongraph instead of polygon in roomtool The polygon room tool used a convoluted process for determining what the user actually wants to draw. I have changed to the polygon graph instead, which makes the checks easier and restricts the user a bit less. In the process however I found a serious problem with my handling float, so everything needed to change to margin compares (which I of course should have done in the beginning. Guys, take the warning seriously and don't ignore it for ten years like I did. It will come back to haunt you.. apparently) instead of direct equality. --- src/math/rect.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/math/rect.rs') diff --git a/src/math/rect.rs b/src/math/rect.rs index 6f993d1..b019ad5 100644 --- a/src/math/rect.rs +++ b/src/math/rect.rs @@ -1,9 +1,8 @@ //! Rectangles where the sides are parallel to the x and y-axes. -use super::{LineSegment, Polygon, Surface, Vec2}; +use super::{ExactSurface, LineSegment, Polygon, Vec2}; //use alga::general::{Additive, Identity}; -use nalgebra::{ClosedAdd, ClosedSub, RealField, Scalar}; -use num_traits::identities::Zero; +use nalgebra::{RealField, Scalar}; use num_traits::{NumCast, ToPrimitive}; use serde::{Deserialize, Serialize}; use std::ops::{Add, AddAssign}; @@ -150,7 +149,7 @@ impl Rect { } } -impl Surface for Rect { +impl ExactSurface for Rect { fn contains_point(&self, point: &Vec2) -> bool { point.x >= self.x && point.x <= self.x + self.w -- cgit v1.2.3-70-g09d2