summaryrefslogtreecommitdiff
path: root/src/geometry/direction.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/geometry/direction.rs')
-rw-r--r--src/geometry/direction.rs67
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,
- ];
-}