We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent dfef8fa commit c027030Copy full SHA for c027030
src/input/trimesh.rs
@@ -1,5 +1,6 @@
1
use crate::{Mesh, MeshError, Polygon, Vertex};
2
use glam::Vec2;
3
+use num_traits::Zero;
4
use std::cmp::Ordering;
5
use std::iter;
6
@@ -70,10 +71,11 @@ impl TryFrom<Trimesh> for Mesh {
70
71
};
72
let edge_a = get_counterclockwise_edge(*index_a);
73
let edge_b = get_counterclockwise_edge(*index_b);
- if edge_a.perp_dot(edge_b) > 0. {
74
- Ordering::Less
75
- } else {
+ let det = edge_a.perp_dot(edge_b);
+ if det.is_zero() || det < 0. {
76
Ordering::Greater
77
+ } else {
78
+ Ordering::Less
79
}
80
});
81
0 commit comments