From 3f5492b2bb67326be43cd7c5ba02ccf0ba1ae0e3 Mon Sep 17 00:00:00 2001 From: Justin Wernick Date: Tue, 19 Apr 2022 21:27:56 +0200 Subject: Refile for merging repos --- src/geometry/direction.rs | 67 ----------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 src/geometry/direction.rs (limited to 'src/geometry/direction.rs') 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, - ]; -} -- cgit v1.2.3