1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use crate::{
objects::{Cycle, Objects},
storage::Handle,
};
use super::Reverse;
impl Reverse for Handle<Cycle> {
fn reverse(self, objects: &Objects) -> Self {
let surface = self.surface().clone();
let mut edges = self
.half_edges()
.cloned()
.map(|edge| edge.reverse(objects))
.collect::<Vec<_>>();
edges.reverse();
Cycle::new(surface, edges, objects)
}
}