shambler 0.2.0

A rusty, hulking, lighting-tossing geometry processor.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::collections::BTreeMap;

use usage::Usage;

use crate::{brush::BrushId, BrushFaces};

use super::FaceId;

pub enum FaceBrushesTag {}

pub type FaceBrushes = Usage<FaceBrushesTag, BTreeMap<FaceId, BrushId>>;

pub fn face_brushes(brush_faces: &BrushFaces) -> FaceBrushes {
    brush_faces
        .iter()
        .flat_map(|(brush, faces)| faces.iter().map(move |face| (*face, *brush)))
        .collect()
}