diff options
author | Justin Wernick <justin@worthe-it.co.za> | 2022-04-19 21:27:56 +0200 |
---|---|---|
committer | Justin Wernick <justin@worthe-it.co.za> | 2022-04-19 21:27:56 +0200 |
commit | 3f5492b2bb67326be43cd7c5ba02ccf0ba1ae0e3 (patch) | |
tree | 96963ba885a9393106b4a88ffc4266203e87582e /src/geometry/direction.rs | |
parent | 4ceec65b088f05d4ad03f9ac70b1d63452fd8197 (diff) |
Refile for merging repos
Diffstat (limited to 'src/geometry/direction.rs')
-rw-r--r-- | src/geometry/direction.rs | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/src/geometry/direction.rs b/src/geometry/direction.rs deleted file mode 100644 index e37f750..0000000 --- a/src/geometry/direction.rs +++ /dev/null @@ -1,67 +0,0 @@ -use crate::geometry::vec::Vec2d; -use std::fmt; - -#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] -pub enum Direction { - North, - NorthEast, - East, - SouthEast, - South, - SouthWest, - West, - NorthWest, -} - -impl fmt::Display for Direction { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - use Direction::*; - let s = match self { - North => "N", - NorthEast => "NE", - East => "E", - SouthEast => "SE", - South => "S", - SouthWest => "SW", - West => "W", - NorthWest => "NW", - }; - f.write_str(s) - } -} - -impl Direction { - pub fn is_diagonal(&self) -> bool { - use Direction::*; - - match self { - NorthEast | SouthEast | SouthWest | NorthWest => true, - _ => false, - } - } - - pub fn as_vec(&self) -> Vec2d { - use Direction::*; - match self { - North => Vec2d::new(0, -1), - NorthEast => Vec2d::new(1, -1), - East => Vec2d::new(1, 0), - SouthEast => Vec2d::new(1, 1), - South => Vec2d::new(0, 1), - SouthWest => Vec2d::new(-1, 1), - West => Vec2d::new(-1, 0), - NorthWest => Vec2d::new(-1, -1), - } - } - - pub const ALL: [Direction; 8] = [ - Direction::North, - Direction::NorthEast, - Direction::East, - Direction::SouthEast, - Direction::South, - Direction::SouthWest, - Direction::West, - Direction::NorthWest, - ]; -} |