From 94ccc5c29b71ec8c7d5763ca699bba77d053f5aa Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Thu, 1 Aug 2024 00:35:27 +0800 Subject: [PATCH] allow ignore for occupancy calculation Signed-off-by: Reuben Thomas --- rmf_site_editor/src/occupancy.rs | 10 ++++++++++ rmf_site_editor/src/widgets/view_occupancy.rs | 2 ++ 2 files changed, 12 insertions(+) diff --git a/rmf_site_editor/src/occupancy.rs b/rmf_site_editor/src/occupancy.rs index 7dea7f08..945b1031 100644 --- a/rmf_site_editor/src/occupancy.rs +++ b/rmf_site_editor/src/occupancy.rs @@ -140,6 +140,8 @@ pub struct CalculateGrid { pub floor: f32, /// Ignore meshes above this height pub ceiling: f32, + // Ignore these entities + pub ignore: Option>, } enum Group { @@ -180,6 +182,14 @@ fn calculate_grid( let physical_entities = collect_physical_entities(&bodies, &meta); info!("Checking {:?} physical entities", physical_entities.len()); for e in &physical_entities { + if request + .ignore + .as_ref() + .is_some_and(|ignored_set| ignored_set.contains(e)) + { + continue; + } + let (_, mesh, aabb, tf) = match bodies.get(*e) { Ok(body) => body, Err(_) => continue, diff --git a/rmf_site_editor/src/widgets/view_occupancy.rs b/rmf_site_editor/src/widgets/view_occupancy.rs index 2580c3a8..27a17de4 100644 --- a/rmf_site_editor/src/widgets/view_occupancy.rs +++ b/rmf_site_editor/src/widgets/view_occupancy.rs @@ -60,6 +60,7 @@ impl<'w> ViewOccupancy<'w> { cell_size: self.display_occupancy.cell_size, floor: 0.01, ceiling: 1.5, + ignore: None, }); } if ui @@ -75,6 +76,7 @@ impl<'w> ViewOccupancy<'w> { cell_size: self.display_occupancy.cell_size, floor: 0.01, ceiling: 1.5, + ignore: None, }); } }