Skip to main content

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}