From 847309adaec662e98f4c26864a77baa95ad27173 Mon Sep 17 00:00:00 2001 From: Mikolaj Wielgus Date: Thu, 1 Feb 2024 00:40:06 +0000 Subject: [PATCH] geometry: make the R-tree private with read-only ref getter --- src/layout/geometry/with_rtree.rs | 6 +++++- src/layout/layout.rs | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/layout/geometry/with_rtree.rs b/src/layout/geometry/with_rtree.rs index 0440714..45e5de7 100644 --- a/src/layout/geometry/with_rtree.rs +++ b/src/layout/geometry/with_rtree.rs @@ -29,7 +29,7 @@ pub struct GeometryWithRtree< BI: GetNodeIndex + Into + Copy, > { geometry: Geometry, - pub rtree: RTree>, + rtree: RTree>, weight_marker: PhantomData, dot_weight_marker: PhantomData, seg_weight_marker: PhantomData, @@ -210,6 +210,10 @@ impl< &self.geometry } + pub fn rtree(&self) -> &RTree> { + &self.rtree + } + pub fn graph(&self) -> &StableDiGraph { self.geometry.graph() } diff --git a/src/layout/layout.rs b/src/layout/layout.rs index 4eac187..831571d 100644 --- a/src/layout/layout.rs +++ b/src/layout/layout.rs @@ -748,7 +748,7 @@ impl Layout { pub fn nodes(&self) -> impl Iterator + '_ { self.geometry_with_rtree - .rtree + .rtree() .iter() .map(|wrapper| wrapper.data) } @@ -763,7 +763,7 @@ impl Layout { fn node_indices(&self) -> impl Iterator + '_ { self.geometry_with_rtree - .rtree + .rtree() .iter() .map(|wrapper| wrapper.data) } @@ -813,7 +813,7 @@ impl Layout { let shape = node.primitive(self).shape(); self.geometry_with_rtree - .rtree + .rtree() .locate_in_envelope_intersecting(&RTreeObject::envelope(&shape)) .filter(|wrapper| { let other_index = wrapper.data; @@ -833,7 +833,7 @@ impl Layout { let shape = node.primitive(self).shape(); self.geometry_with_rtree - .rtree + .rtree() .locate_in_envelope_intersecting(&RTreeObject::envelope(&shape)) .filter(|wrapper| { let other_index = wrapper.data;