chiark / gitweb /
rename Area to Rect
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 25 Mar 2021 11:09:17 +0000 (11:09 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 25 Mar 2021 11:09:17 +0000 (11:09 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
base/geometry.rs
src/hand.rs
src/hidden.rs
src/prelude.rs
src/shapelib.rs

index 219ff9012b4121b765e6d78f46ff6c873f2c1a9b..f056730b332dea56307bd10e1b4ede6f2ce172a5 100644 (file)
@@ -21,8 +21,8 @@ pub type Pos = PosC<Coord>;
 #[derive(Clone,Copy,Debug,Serialize,Deserialize,Hash)]
 #[derive(Eq,PartialEq)]
 #[serde(transparent)]
-pub struct AreaC<T>(pub [PosC<T>; 2]);
-pub type Area = AreaC<Coord>;
+pub struct RectC<T>(pub [PosC<T>; 2]);
+pub type Rect = RectC<Coord>;
 
 // ---------- CheckedArith ----------
 
@@ -195,9 +195,9 @@ impl<T:Debug> PosC<T> {
   )}
 }
 
-// ---------- Area ----------
+// ---------- Rect ----------
 
-impl<T> AreaC<T> {
+impl<T> RectC<T> {
   pub fn contains(&self, p: PosC<T>) -> bool where T: PartialOrd {
     (0..2).all(|i| {
       p.0[i] >= self.0[0].0[i] &&
@@ -205,7 +205,7 @@ impl<T> AreaC<T> {
     })
   }
 
-  pub fn overlaps(&self, other: &AreaC<T>) -> bool where T: PartialOrd {
+  pub fn overlaps(&self, other: &RectC<T>) -> bool where T: PartialOrd {
     ! (0..2).any(|i| (
       other.0[1].0[i] < self .0[0].0[i] ||
       self .0[1].0[i] < other.0[0].0[i]
@@ -215,14 +215,14 @@ impl<T> AreaC<T> {
   pub fn empty() -> Self where T: Copy + num_traits::Zero + num_traits::One {
     let zero = <T as num_traits::Zero>::zero();
     let one = <T as num_traits::One>::one();
-    AreaC([
+    RectC([
       PosC([ one,  one  ]),
       PosC([ zero, zero ]),
     ])
   }
 }
 
-impl<T> AreaC<T> where T: Mean + Debug {
+impl<T> RectC<T> where T: Mean + Debug {
   pub fn middle(&self) -> PosC<T> {
     Mean::mean(&self.0[0],
                &self.0[1])
@@ -231,7 +231,7 @@ impl<T> AreaC<T> where T: Mean + Debug {
 
 #[test]
 fn empty_area() {
-  let empty = Area::empty();
+  let empty = Rect::empty();
   for x in -3..3 { for y in -3..3 {
     assert!(! empty.contains(PosC([x,y])));
   } }
@@ -241,7 +241,7 @@ fn empty_area() {
 
 #[derive(Clone,Debug,Serialize,Deserialize)]
 pub enum RegionC<T> {
-  Rectangle(AreaC<T>),
+  Rectangle(RectC<T>),
 }
 pub type Region = RegionC<Coord>;
 
@@ -261,7 +261,7 @@ impl<T> RegionC<T> {
   }
 
   pub fn empty() -> Self where T: Copy + num_traits::Zero + num_traits::One {
-    RegionC::Rectangle(AreaC::empty())
+    RegionC::Rectangle(RectC::empty())
   }
 
 }
index a6c2b7a663ef7651d9f6a4a687227840a91e4bbe..934ba895b868976f855c57e7893997ce8e51468b 100644 (file)
@@ -187,9 +187,9 @@ impl PieceTrait for Hand {
         });
         let (region, views) = (||{
           dbgc!("claiming region");
-          let area   = self.shape.outline.area  (gpc.pos)?;
+          let rect   = self.shape.outline.rect  (gpc.pos)?;
           let region = self.shape.outline.region(gpc.pos)?;
-          let displace = OccDisplacement::Rect { area };
+          let displace = OccDisplacement::Rect { rect };
           let views = OwnerOccultationView {
             owner: player,
             owner_view: OccK::Visible,
index 956b396942c45cb20b5519ecb220cffaa8379261..09355461edc287d2d04d30e41657da5bc8d979e5 100644 (file)
@@ -79,7 +79,7 @@ pub enum OccDisplacement {
     pos: Pos,
   },
   Rect {
-    area: Area,
+    rect: Rect,
   },
 }
 
@@ -285,9 +285,9 @@ impl OccDisplacement {
     use OccDisplacement as OD;
     match self {
       OD::Stack{pos} => *pos,
-      OD::Rect{area} => (|| Some({
+      OD::Rect{rect} => (|| Some({
         let notch: Coord = notch.try_into().ok()?;
-        let mut spare = ((area.0[1] - area.0[0]).ok()?
+        let mut spare = ((rect.0[1] - rect.0[0]).ok()?
                          - ppiece_use_size).ok()?;
         for s in &mut spare.0 { *s = max(*s,1) }
         let fi = 0;
@@ -299,9 +299,9 @@ impl OccDisplacement {
         let mut f_num = notch % f_count;
         let     g_num = notch / f_count;
         if g_num % 2 != 0 { f_num = f_count - 1 - f_num }
-        let f_coord = area.0[1].0[fi] - ppiece_use_size.0[fi] / 2 -
+        let f_coord = rect.0[1].0[fi] - ppiece_use_size.0[fi] / 2 -
             f_stride * f_num;
-        let g_coord = area.0[0].0[gi] + ppiece_use_size.0[gi] / 2 +
+        let g_coord = rect.0[0].0[gi] + ppiece_use_size.0[gi] / 2 +
           if g_num < g_count {
             g_stride * g_num
           } else if g_num < spare.0[gi] {
@@ -317,7 +317,7 @@ impl OccDisplacement {
         pos.0[gi] = g_coord;
         pos
       }))().unwrap_or_else(||{
-        area.middle()
+        rect.middle()
       })
     }
   }
@@ -841,7 +841,7 @@ pub fn create_occultation(
         .chain(iter::once(&views.defview))
         .filter_map(|ok| { use OccKG::*; match ok {
           Visible | Scrambled | Invisible => None,
-          Displaced((_area, ref z)) => Some(z)
+          Displaced((_region, ref z)) => Some(z)
         }})
         .max()
     } {
index 4f1c17536c6d0fddd8b7d509532f2c34a9982a9d..b927b0c34c0234286b6968aca3908ec3b42df326 100644 (file)
@@ -103,7 +103,7 @@ use nix::time::ClockId;
 pub const CLOCK_REALTIME : ClockId = ClockId::CLOCK_REALTIME ;
 pub const CLOCK_MONOTONIC: ClockId = ClockId::CLOCK_MONOTONIC;
 
-pub use otter_base::geometry::{self,Coord,Pos,PosC,Area,AreaC};
+pub use otter_base::geometry::{self,Coord,Pos,PosC,Rect,RectC};
 pub use otter_base::geometry::{CoordinateOverflow,Region};
 pub use otter_base::zcoord::{self, ZCoord};
 pub use otter_base::misc as base_misc;
index 619b5f55996d281783be19cd6f61cc40b9babe53..40a412524d7ec9696c21b56e09f89088898b0454 100644 (file)
@@ -782,24 +782,24 @@ pub struct Rectangle { pub xy: PosC<f64> }
 
 impl Rectangle {
   #[throws(CoordinateOverflow)]
-  pub fn area(&self, centre: Pos) -> AreaC<Coord> {
+  pub fn rect(&self, centre: Pos) -> RectC<Coord> {
     let offset = (self.xy * 0.5)?;
     let offset = offset.try_map(
       |c| c.floor().to_i32().ok_or(CoordinateOverflow)
     )?;
-    let region = AreaC(
+    let rect = RectC(
       [-1,1].iter().map(|&signum| Ok::<_,CoordinateOverflow>({
         (centre + (offset * signum)?)?
       }))
         .collect::<Result<ArrayVec<_>,_>>()?
         .into_inner().unwrap()
     );
-    region
+    rect
   }
 
   #[throws(CoordinateOverflow)]
   pub fn region(&self, centre: Pos) -> Region {
-    Region::Rectangle(self.area(centre)?)
+    Region::Rectangle(self.rect(centre)?)
   }
 }