mirror of https://codeberg.org/topola/topola.git
geometry: make the R-tree private with read-only ref getter
This commit is contained in:
parent
4be2a0ca73
commit
847309adae
|
|
@ -29,7 +29,7 @@ pub struct GeometryWithRtree<
|
||||||
BI: GetNodeIndex + Into<GI> + Copy,
|
BI: GetNodeIndex + Into<GI> + Copy,
|
||||||
> {
|
> {
|
||||||
geometry: Geometry<GW, DW, SW, BW, GI, DI, SI, BI>,
|
geometry: Geometry<GW, DW, SW, BW, GI, DI, SI, BI>,
|
||||||
pub rtree: RTree<BboxedShapeAndIndex<GI>>,
|
rtree: RTree<BboxedShapeAndIndex<GI>>,
|
||||||
weight_marker: PhantomData<GW>,
|
weight_marker: PhantomData<GW>,
|
||||||
dot_weight_marker: PhantomData<DW>,
|
dot_weight_marker: PhantomData<DW>,
|
||||||
seg_weight_marker: PhantomData<SW>,
|
seg_weight_marker: PhantomData<SW>,
|
||||||
|
|
@ -210,6 +210,10 @@ impl<
|
||||||
&self.geometry
|
&self.geometry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn rtree(&self) -> &RTree<BboxedShapeAndIndex<GI>> {
|
||||||
|
&self.rtree
|
||||||
|
}
|
||||||
|
|
||||||
pub fn graph(&self) -> &StableDiGraph<GW, GeometryLabel, usize> {
|
pub fn graph(&self) -> &StableDiGraph<GW, GeometryLabel, usize> {
|
||||||
self.geometry.graph()
|
self.geometry.graph()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -748,7 +748,7 @@ impl Layout {
|
||||||
|
|
||||||
pub fn nodes(&self) -> impl Iterator<Item = GeometryIndex> + '_ {
|
pub fn nodes(&self) -> impl Iterator<Item = GeometryIndex> + '_ {
|
||||||
self.geometry_with_rtree
|
self.geometry_with_rtree
|
||||||
.rtree
|
.rtree()
|
||||||
.iter()
|
.iter()
|
||||||
.map(|wrapper| wrapper.data)
|
.map(|wrapper| wrapper.data)
|
||||||
}
|
}
|
||||||
|
|
@ -763,7 +763,7 @@ impl Layout {
|
||||||
|
|
||||||
fn node_indices(&self) -> impl Iterator<Item = GeometryIndex> + '_ {
|
fn node_indices(&self) -> impl Iterator<Item = GeometryIndex> + '_ {
|
||||||
self.geometry_with_rtree
|
self.geometry_with_rtree
|
||||||
.rtree
|
.rtree()
|
||||||
.iter()
|
.iter()
|
||||||
.map(|wrapper| wrapper.data)
|
.map(|wrapper| wrapper.data)
|
||||||
}
|
}
|
||||||
|
|
@ -813,7 +813,7 @@ impl Layout {
|
||||||
let shape = node.primitive(self).shape();
|
let shape = node.primitive(self).shape();
|
||||||
|
|
||||||
self.geometry_with_rtree
|
self.geometry_with_rtree
|
||||||
.rtree
|
.rtree()
|
||||||
.locate_in_envelope_intersecting(&RTreeObject::envelope(&shape))
|
.locate_in_envelope_intersecting(&RTreeObject::envelope(&shape))
|
||||||
.filter(|wrapper| {
|
.filter(|wrapper| {
|
||||||
let other_index = wrapper.data;
|
let other_index = wrapper.data;
|
||||||
|
|
@ -833,7 +833,7 @@ impl Layout {
|
||||||
let shape = node.primitive(self).shape();
|
let shape = node.primitive(self).shape();
|
||||||
|
|
||||||
self.geometry_with_rtree
|
self.geometry_with_rtree
|
||||||
.rtree
|
.rtree()
|
||||||
.locate_in_envelope_intersecting(&RTreeObject::envelope(&shape))
|
.locate_in_envelope_intersecting(&RTreeObject::envelope(&shape))
|
||||||
.filter(|wrapper| {
|
.filter(|wrapper| {
|
||||||
let other_index = wrapper.data;
|
let other_index = wrapper.data;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue