29 lines
498 B
Rust
29 lines
498 B
Rust
|
|
||
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||
|
pub enum Axis {
|
||
|
Y,
|
||
|
Z,
|
||
|
X,
|
||
|
None
|
||
|
}
|
||
|
|
||
|
impl Axis {
|
||
|
pub fn as_string(&self) -> &'static str {
|
||
|
match *self {
|
||
|
Axis::X => "x",
|
||
|
Axis::Y => "y",
|
||
|
Axis::Z => "z",
|
||
|
Axis::None => "none",
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pub fn index(&self) -> usize {
|
||
|
match *self {
|
||
|
Axis::Y => 0,
|
||
|
Axis::Z => 2,
|
||
|
Axis::X => 1,
|
||
|
Axis::None => 3,
|
||
|
}
|
||
|
}
|
||
|
}
|