Skip to content

Commit c027030

Browse files
committed
try to fix incorrect-total-order
1 parent dfef8fa commit c027030

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

Diff for: src/input/trimesh.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::{Mesh, MeshError, Polygon, Vertex};
22
use glam::Vec2;
3+
use num_traits::Zero;
34
use std::cmp::Ordering;
45
use std::iter;
56

@@ -70,10 +71,11 @@ impl TryFrom<Trimesh> for Mesh {
7071
};
7172
let edge_a = get_counterclockwise_edge(*index_a);
7273
let edge_b = get_counterclockwise_edge(*index_b);
73-
if edge_a.perp_dot(edge_b) > 0. {
74-
Ordering::Less
75-
} else {
74+
let det = edge_a.perp_dot(edge_b);
75+
if det.is_zero() || det < 0. {
7676
Ordering::Greater
77+
} else {
78+
Ordering::Less
7779
}
7880
});
7981

0 commit comments

Comments
 (0)