veloren_common/figure/
mat_cell.rs

1use super::cell::CellData;
2use crate::vol::FilledVox;
3
4#[derive(Copy, Clone, Debug, PartialEq, Eq)]
5pub enum Material {
6    Skin,
7    SkinDark,
8    SkinLight,
9    Hair,
10    EyeDark,
11    EyeLight,
12    EyeWhite,
13    /*HairLight,
14     *HairDark,
15     *Clothing, */
16}
17
18#[derive(Copy, Clone, Debug, PartialEq, Eq)]
19pub enum MatCell {
20    None,
21    Mat(Material),
22    Normal(CellData),
23}
24
25impl FilledVox for MatCell {
26    fn default_non_filled() -> Self { MatCell::None }
27
28    fn is_filled(&self) -> bool { !matches!(self, MatCell::None) }
29}
30
31#[cfg(test)]
32mod test {
33    use super::*;
34
35    #[test]
36    fn met_cell_size() {
37        assert_eq!(5, std::mem::size_of::<MatCell>());
38        assert_eq!(1, std::mem::align_of::<MatCell>());
39    }
40}