asterion_core/view.rs
1use std::hash::Hash;
2
3#[derive(Debug, Clone, Copy, Eq, PartialEq, Hash)]
4pub enum View {
5 Cone { radius: usize },
6 Plane { radius: usize },
7 Circle { radius: usize },
8 Full,
9}
10
11impl View {
12 pub fn radius(&self) -> usize {
13 match self {
14 Self::Cone { radius, .. } => *radius,
15 Self::Plane { radius, .. } => *radius,
16 Self::Circle { radius } => *radius,
17 Self::Full => usize::MAX,
18 }
19 }
20}