Skip to content

Commit 23fa138

Browse files
authored
Mesh v3 format support. (#101)
This adds support for reading the v3 `.mesh` format that the original polyanya authors use. I didn't add support for writing to the v3 format. The 35 meshes and accompanying pathfinding scenarios from Iron Harvest (https://bitbucket.org/shortestpathlab/benchmarks/src/master/mesh-maps/iron-harvest/) are provided in a bunch of different formats making them useful for benchmarking and comparing different pathfinding libraries (mainly due to having both grid and navmesh formats with the same scenarios). Closes #100
1 parent c38d4f1 commit 23fa138

23 files changed

+14805
-64
lines changed

benches/baking.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use criterion::{criterion_group, criterion_main, Criterion};
22
use polyanya::{Mesh, PolyanyaFile};
33

44
fn baking(c: &mut Criterion) {
5-
let mut mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
5+
let mut mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
66
.try_into()
77
.unwrap();
88
c.bench_function(&"baking".to_string(), |b| {

benches/is_in_mesh.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use glam::Vec2;
33
use polyanya::{Mesh, PolyanyaFile};
44

55
fn is_in_mesh(c: &mut Criterion) {
6-
let mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
6+
let mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
77
.try_into()
88
.unwrap();
99
[
@@ -25,7 +25,7 @@ fn is_in_mesh(c: &mut Criterion) {
2525
}
2626

2727
fn is_not_in_mesh(c: &mut Criterion) {
28-
let mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
28+
let mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
2929
.try_into()
3030
.unwrap();
3131
[

benches/no_path.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use glam::Vec2;
33
use polyanya::{Mesh, PolyanyaFile};
44

55
fn no_path(c: &mut Criterion) {
6-
let mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
6+
let mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
77
.try_into()
88
.unwrap();
99
[

benches/path.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ macro_rules! assert_delta {
1313
}
1414

1515
fn get_path(c: &mut Criterion) {
16-
let mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
16+
let mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
1717
.try_into()
1818
.unwrap();
1919
[

examples/aurora.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fn main() {
1818
)
1919
.expect("set up the subscriber");
2020

21-
let mesh: Mesh = PolyanyaFile::from_file("meshes/aurora-merged.mesh")
21+
let mesh: Mesh = PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
2222
.try_into()
2323
.unwrap();
2424
assert_delta!(

examples/tests-aurora-merged.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ macro_rules! assert_delta {
1717

1818
#[cfg(test)]
1919
fn aurora_mesh() -> Mesh {
20-
PolyanyaFile::from_file("meshes/aurora-merged.mesh")
20+
PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
2121
.try_into()
2222
.unwrap()
2323
}

examples/tests-aurora.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ macro_rules! assert_delta {
1717

1818
#[cfg(test)]
1919
fn aurora_mesh() -> Mesh {
20-
PolyanyaFile::from_file("meshes/aurora.mesh")
20+
PolyanyaFile::from_file("meshes/v2/aurora.mesh")
2121
.try_into()
2222
.unwrap()
2323
}

examples/traced/src/bin/paths.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ fn main() {
1010
let mesh: Mesh = {
1111
let _execution_span: tracing::span::EnteredSpan =
1212
tracing::info_span!("loading mesh").entered();
13-
PolyanyaFile::from_file("meshes/aurora-merged.mesh")
13+
PolyanyaFile::from_file("meshes/v2/aurora-merged.mesh")
1414
.try_into()
1515
.unwrap()
1616
};
File renamed without changes.

0 commit comments

Comments
 (0)