graph: Merge `FixedEnd` and `LooseEnd` into one `Adjacent`

This commit is contained in:
Mikolaj Wielgus 2023-10-23 01:55:28 +00:00
parent d5acfaccb5
commit 62579d98ba
3 changed files with 15 additions and 16 deletions

View File

@ -167,8 +167,7 @@ impl_type!(LooseBendWeight, LooseBend, LooseBendIndex);
#[derive(Debug, EnumAsInner, Clone, Copy, PartialEq)] #[derive(Debug, EnumAsInner, Clone, Copy, PartialEq)]
pub enum Label { pub enum Label {
FixedEnd, Adjacent,
LooseEnd,
Outer, Outer,
Core, Core,
} }

View File

@ -98,9 +98,9 @@ impl Layout {
let seg = FixedSegIndex::new(self.graph.add_node(weight.into())); let seg = FixedSegIndex::new(self.graph.add_node(weight.into()));
self.graph self.graph
.add_edge(from.node_index(), seg.node_index(), Label::FixedEnd); .add_edge(from.node_index(), seg.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(seg.node_index(), to.node_index(), Label::FixedEnd); .add_edge(seg.node_index(), to.node_index(), Label::Adjacent);
self.insert_into_rtree(seg.into()); self.insert_into_rtree(seg.into());
self.fail_and_remove_if_collides_except(seg.into(), &[])?; self.fail_and_remove_if_collides_except(seg.into(), &[])?;
@ -132,9 +132,9 @@ impl Layout {
let seg = FixedSegIndex::new(self.graph.add_node(weight.into())); let seg = FixedSegIndex::new(self.graph.add_node(weight.into()));
self.graph self.graph
.add_edge(from.node_index(), seg.node_index(), Label::FixedEnd); .add_edge(from.node_index(), seg.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(seg.node_index(), to.node_index(), Label::LooseEnd); .add_edge(seg.node_index(), to.node_index(), Label::Adjacent);
self.insert_into_rtree(seg.into()); self.insert_into_rtree(seg.into());
self.fail_and_remove_if_collides_except(seg.into(), &[])?; self.fail_and_remove_if_collides_except(seg.into(), &[])?;
@ -166,9 +166,9 @@ impl Layout {
let seg = FixedSegIndex::new(self.graph.add_node(weight.into())); let seg = FixedSegIndex::new(self.graph.add_node(weight.into()));
self.graph self.graph
.add_edge(from.node_index(), seg.node_index(), Label::LooseEnd); .add_edge(from.node_index(), seg.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(seg.node_index(), to.node_index(), Label::LooseEnd); .add_edge(seg.node_index(), to.node_index(), Label::Adjacent);
self.insert_into_rtree(seg.into()); self.insert_into_rtree(seg.into());
self.fail_and_remove_if_collides_except(seg.into(), &[])?; self.fail_and_remove_if_collides_except(seg.into(), &[])?;
@ -235,9 +235,9 @@ impl Layout {
let bend = FixedBendIndex::new(self.graph.add_node(weight.into())); let bend = FixedBendIndex::new(self.graph.add_node(weight.into()));
self.graph self.graph
.add_edge(from.node_index(), bend.node_index(), Label::FixedEnd); .add_edge(from.node_index(), bend.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(bend.node_index(), to.node_index(), Label::FixedEnd); .add_edge(bend.node_index(), to.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(bend.node_index(), core.node_index(), Label::Core); .add_edge(bend.node_index(), core.node_index(), Label::Core);
@ -274,9 +274,9 @@ impl Layout {
let bend = FixedBendIndex::new(self.graph.add_node(weight.into())); let bend = FixedBendIndex::new(self.graph.add_node(weight.into()));
self.graph self.graph
.add_edge(from.node_index(), bend.node_index(), Label::FixedEnd); .add_edge(from.node_index(), bend.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(bend.node_index(), to.node_index(), Label::FixedEnd); .add_edge(bend.node_index(), to.node_index(), Label::Adjacent);
self.graph self.graph
.add_edge(bend.node_index(), core.node_index(), Label::Core); .add_edge(bend.node_index(), core.node_index(), Label::Core);
self.graph self.graph

View File

@ -79,7 +79,7 @@ impl<'a, W> GenericPrimitive<'a, W> {
self.graph self.graph
.edge_weight(self.graph.find_edge(*ni, self.index.node_index()).unwrap()) .edge_weight(self.graph.find_edge(*ni, self.index.node_index()).unwrap())
.unwrap() .unwrap()
.is_fixed_end() .is_adjacent()
}) })
.next() .next()
} }
@ -91,7 +91,7 @@ impl<'a, W> GenericPrimitive<'a, W> {
self.graph self.graph
.edge_weight(self.graph.find_edge(self.index.node_index(), *ni).unwrap()) .edge_weight(self.graph.find_edge(self.index.node_index(), *ni).unwrap())
.unwrap() .unwrap()
.is_fixed_end() .is_adjacent()
}) })
.next() .next()
} }
@ -145,7 +145,7 @@ impl<'a, W> Ends<FixedDotIndex, FixedDotIndex> for GenericPrimitive<'a, W> {
.0, .0,
) )
.unwrap() .unwrap()
.is_fixed_end() .is_adjacent()
}) })
.filter(|ni| self.graph.node_weight(*ni).unwrap().is_fixed_dot()) .filter(|ni| self.graph.node_weight(*ni).unwrap().is_fixed_dot())
.map(|ni| FixedDotIndex::new(ni)) .map(|ni| FixedDotIndex::new(ni))
@ -201,7 +201,7 @@ impl<'a> FixedDot<'a> {
.0, .0,
) )
.unwrap() .unwrap()
.is_fixed_end() .is_adjacent()
}) })
.filter(|ni| self.graph.node_weight(*ni).unwrap().is_fixed_bend()) .filter(|ni| self.graph.node_weight(*ni).unwrap().is_fixed_bend())
.map(|ni| FixedBendIndex::new(ni)) .map(|ni| FixedBendIndex::new(ni))