From: Ian Jackson Date: Thu, 25 Mar 2021 11:09:17 +0000 (+0000) Subject: rename Area to Rect X-Git-Tag: otter-0.5.0~425 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=168e982c177018d50eeaa9c8e74b8b4528dc5d11;p=otter.git rename Area to Rect Signed-off-by: Ian Jackson --- diff --git a/base/geometry.rs b/base/geometry.rs index 219ff901..f056730b 100644 --- a/base/geometry.rs +++ b/base/geometry.rs @@ -21,8 +21,8 @@ pub type Pos = PosC; #[derive(Clone,Copy,Debug,Serialize,Deserialize,Hash)] #[derive(Eq,PartialEq)] #[serde(transparent)] -pub struct AreaC(pub [PosC; 2]); -pub type Area = AreaC; +pub struct RectC(pub [PosC; 2]); +pub type Rect = RectC; // ---------- CheckedArith ---------- @@ -195,9 +195,9 @@ impl PosC { )} } -// ---------- Area ---------- +// ---------- Rect ---------- -impl AreaC { +impl RectC { pub fn contains(&self, p: PosC) -> bool where T: PartialOrd { (0..2).all(|i| { p.0[i] >= self.0[0].0[i] && @@ -205,7 +205,7 @@ impl AreaC { }) } - pub fn overlaps(&self, other: &AreaC) -> bool where T: PartialOrd { + pub fn overlaps(&self, other: &RectC) -> 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 AreaC { pub fn empty() -> Self where T: Copy + num_traits::Zero + num_traits::One { let zero = ::zero(); let one = ::one(); - AreaC([ + RectC([ PosC([ one, one ]), PosC([ zero, zero ]), ]) } } -impl AreaC where T: Mean + Debug { +impl RectC where T: Mean + Debug { pub fn middle(&self) -> PosC { Mean::mean(&self.0[0], &self.0[1]) @@ -231,7 +231,7 @@ impl AreaC 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 { - Rectangle(AreaC), + Rectangle(RectC), } pub type Region = RegionC; @@ -261,7 +261,7 @@ impl RegionC { } pub fn empty() -> Self where T: Copy + num_traits::Zero + num_traits::One { - RegionC::Rectangle(AreaC::empty()) + RegionC::Rectangle(RectC::empty()) } } diff --git a/src/hand.rs b/src/hand.rs index a6c2b7a6..934ba895 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -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, diff --git a/src/hidden.rs b/src/hidden.rs index 956b3969..09355461 100644 --- a/src/hidden.rs +++ b/src/hidden.rs @@ -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() } { diff --git a/src/prelude.rs b/src/prelude.rs index 4f1c1753..b927b0c3 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -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; diff --git a/src/shapelib.rs b/src/shapelib.rs index 619b5f55..40a41252 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -782,24 +782,24 @@ pub struct Rectangle { pub xy: PosC } impl Rectangle { #[throws(CoordinateOverflow)] - pub fn area(&self, centre: Pos) -> AreaC { + pub fn rect(&self, centre: Pos) -> RectC { 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::,_>>()? .into_inner().unwrap() ); - region + rect } #[throws(CoordinateOverflow)] pub fn region(&self, centre: Pos) -> Region { - Region::Rectangle(self.area(centre)?) + Region::Rectangle(self.rect(centre)?) } }