summaryrefslogtreecommitdiff
path: root/src/geom/point.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-04-07 18:04:29 +0200
committerLaurenz <laurmaedje@gmail.com>2022-04-07 18:04:29 +0200
commit4bb6240b401605ef6d905273db07545e14f9a21f (patch)
treeb01163a5fce3fe62d16abcbdabf37bc373617ff1 /src/geom/point.rs
parent1192132dc0a9e991953fd29e93f87c8437a53ea0 (diff)
Make `Relative` generic
Diffstat (limited to 'src/geom/point.rs')
-rw-r--r--src/geom/point.rs21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/geom/point.rs b/src/geom/point.rs
index 6d77507b..afce68ba 100644
--- a/src/geom/point.rs
+++ b/src/geom/point.rs
@@ -35,20 +35,25 @@ impl Point {
Self { x: Length::zero(), y }
}
- /// Whether both components are zero.
- pub fn is_zero(self) -> bool {
- self.x.is_zero() && self.y.is_zero()
- }
-
/// Transform the point with the given transformation.
- pub fn transform(self, transform: Transform) -> Self {
+ pub fn transform(self, ts: Transform) -> Self {
Self::new(
- transform.sx.resolve(self.x) + transform.kx.resolve(self.y) + transform.tx,
- transform.ky.resolve(self.x) + transform.sy.resolve(self.y) + transform.ty,
+ ts.sx.resolve(self.x) + ts.kx.resolve(self.y) + ts.tx,
+ ts.ky.resolve(self.x) + ts.sy.resolve(self.y) + ts.ty,
)
}
}
+impl Numeric for Point {
+ fn zero() -> Self {
+ Self::zero()
+ }
+
+ fn is_finite(self) -> bool {
+ self.x.is_finite() && self.y.is_finite()
+ }
+}
+
impl Get<SpecAxis> for Point {
type Component = Length;