aboutsummaryrefslogtreecommitdiff
path: root/src/math/rect.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/rect.rs')
-rw-r--r--src/math/rect.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/math/rect.rs b/src/math/rect.rs
index adb608b..a8326bc 100644
--- a/src/math/rect.rs
+++ b/src/math/rect.rs
@@ -3,9 +3,9 @@
use super::{ExactSurface, LineSegment, Polygon, Vec2};
//use alga::general::{Additive, Identity};
use nalgebra::{RealField, Scalar};
-use num_traits::{NumCast, ToPrimitive};
+use num_traits::{NumCast, ToPrimitive, Zero};
use serde::{Deserialize, Serialize};
-use std::ops::{Add, AddAssign};
+use std::ops::{Add, AddAssign, Sub};
/// Represents a Rectangle with the value type T.
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
@@ -149,7 +149,10 @@ impl<T: Scalar + Copy> Rect<T> {
}
}
-impl<T: RealField> ExactSurface<T> for Rect<T> {
+impl<T: Scalar + Copy> ExactSurface<T> for Rect<T>
+where
+ T: Add<Output = T> + PartialOrd + Sub<Output = T> + Zero,
+{
fn contains_point(&self, point: &Vec2<T>) -> bool {
point.x >= self.x
&& point.x <= self.x + self.w