1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::objects::Cycle;

use super::Reverse;

impl Reverse for Cycle {
    fn reverse(self) -> Self {
        let surface = *self.surface();

        let mut edges = self
            .into_half_edges()
            .map(|edge| edge.reverse())
            .collect::<Vec<_>>();

        edges.reverse();

        Cycle::new(surface, edges)
    }
}