Remove number of pathfinidng nodes to improve performance

This commit is contained in:
Manuel Vögele
2022-02-01 20:23:38 +01:00
parent 9253f3decd
commit 0f288b65d9
+10 -2
View File
@@ -176,12 +176,20 @@ impl Pathfinder {
if angle1 == angle2 { if angle1 == angle2 {
continue; continue;
} }
let angle_between = (angle2 - angle1) / 2.0 + angle1; let angle_diff = angle2 - angle1;
if angle_diff < PI {
continue;
}
let angle_between = angle_diff / 2.0 + angle1;
nodes.push(calc_pathfinding_node(point, angle_between)); nodes.push(calc_pathfinding_node(point, angle_between));
} }
let angle1 = angles.last().unwrap(); let angle1 = angles.last().unwrap();
let angle2 = angles.first().unwrap() + 2.0 * PI; let angle2 = angles.first().unwrap() + 2.0 * PI;
let angle_between = (angle2 - angle1) / 2.0 + angle1; let angle_diff = angle2 - angle1;
if angle_diff < PI {
continue;
}
let angle_between = angle_diff / 2.0 + angle1;
let angle_between = angle_between.rem_euclid(2.0 * PI); let angle_between = angle_between.rem_euclid(2.0 * PI);
nodes.push(calc_pathfinding_node(point, angle_between)); nodes.push(calc_pathfinding_node(point, angle_between));
} }