From 7f69ffddf90c80eb44b78349c87bd00eaccedd11 Mon Sep 17 00:00:00 2001 From: Mikolaj Wielgus Date: Mon, 26 Feb 2024 07:23:44 +0000 Subject: [PATCH] geometry: move geometry module to from layout to root As we'll be creating a deeper hierarchy of modules subordinate to layout, we need to keep the module full paths short to prevent tem from growing uncontrollably. --- src/bin/topola-sdl2-demo/main.rs | 4 ++-- src/bin/topola-sdl2-demo/painter.rs | 2 +- src/draw.rs | 2 +- src/dsn/de.rs | 6 +++--- src/{layout => }/geometry/geometry.rs | 5 ++++- src/{layout => }/geometry/mod.rs | 0 src/{layout => }/geometry/shape.rs | 0 src/{layout => }/geometry/with_rtree.rs | 0 src/layout/band.rs | 4 ++-- src/layout/bend.rs | 4 +--- src/layout/dot.rs | 4 +--- src/layout/guide.rs | 2 +- src/layout/layout.rs | 12 ++++++------ src/layout/mod.rs | 1 - src/layout/primitive.rs | 9 +++++---- src/layout/seg.rs | 2 +- src/lib.rs | 1 + src/mesh.rs | 4 ++-- src/router.rs | 3 +-- 19 files changed, 32 insertions(+), 33 deletions(-) rename src/{layout => }/geometry/geometry.rs (98%) rename src/{layout => }/geometry/mod.rs (100%) rename src/{layout => }/geometry/shape.rs (100%) rename src/{layout => }/geometry/with_rtree.rs (100%) diff --git a/src/bin/topola-sdl2-demo/main.rs b/src/bin/topola-sdl2-demo/main.rs index b711423..12cf93c 100644 --- a/src/bin/topola-sdl2-demo/main.rs +++ b/src/bin/topola-sdl2-demo/main.rs @@ -14,9 +14,9 @@ use painter::Painter; use petgraph::visit::{EdgeRef, IntoEdgeReferences}; use topola::draw::DrawException; use topola::dsn::design::DsnDesign; +use topola::geometry::shape::{Shape, ShapeTrait}; use topola::layout::connectivity::BandIndex; use topola::layout::dot::FixedDotWeight; -use topola::layout::geometry::shape::{Shape, ShapeTrait}; use topola::layout::graph::{GeometryIndex, MakePrimitive}; use topola::layout::primitive::MakeShape; use topola::layout::rules::{Conditions, RulesTrait}; @@ -246,7 +246,7 @@ fn main() -> Result<(), anyhow::Error> { ]), }));*/ let design = DsnDesign::load_from_file("tests/data/test.dsn")?; - dbg!(&design); + //dbg!(&design); let layout = design.make_layout(); let mut router = Router::new(layout); diff --git a/src/bin/topola-sdl2-demo/painter.rs b/src/bin/topola-sdl2-demo/painter.rs index ba21614..4b0b070 100644 --- a/src/bin/topola-sdl2-demo/painter.rs +++ b/src/bin/topola-sdl2-demo/painter.rs @@ -2,7 +2,7 @@ use geo::Point; use pathfinder_canvas::{ vec2f, ArcDirection, Canvas, CanvasRenderingContext2D, ColorU, FillRule, Path2D, RectF, }; -use topola::layout::geometry::shape::{Shape, ShapeTrait}; +use topola::geometry::shape::{Shape, ShapeTrait}; pub struct Painter<'a> { canvas: &'a mut CanvasRenderingContext2D, diff --git a/src/draw.rs b/src/draw.rs index c9ccad5..dc8a0a4 100644 --- a/src/draw.rs +++ b/src/draw.rs @@ -3,10 +3,10 @@ use geo::{EuclideanLength, Point}; use thiserror::Error; use crate::{ + geometry::GetWidth, layout::{ bend::{BendIndex, LooseBendWeight}, dot::{DotIndex, FixedDotIndex, LooseDotIndex, LooseDotWeight}, - geometry::GetWidth, graph::{GetBandIndex, MakePrimitive}, guide::{Guide, Head, HeadTrait, SegbendHead}, primitive::GetOtherJoint, diff --git a/src/dsn/de.rs b/src/dsn/de.rs index aa89ae2..c4a0217 100644 --- a/src/dsn/de.rs +++ b/src/dsn/de.rs @@ -140,7 +140,7 @@ impl<'de> Deserializer<'de> { if string.len() > 0 { return Ok(string); } else { - dbg!(self.line, self.column); + //dbg!(self.line, self.column); return Err(Error::ExpectedUnquoted); } } @@ -179,10 +179,10 @@ where { let mut deserializer = Deserializer::from_str(input); let t = T::deserialize(&mut deserializer)?; - if !deserializer.input.is_empty() { + /*if !deserializer.input.is_empty() { println!("remaining input"); dbg!(deserializer.input); - } + }*/ Ok(t) } diff --git a/src/layout/geometry/geometry.rs b/src/geometry/geometry.rs similarity index 98% rename from src/layout/geometry/geometry.rs rename to src/geometry/geometry.rs index bb5eafc..fc33a55 100644 --- a/src/layout/geometry/geometry.rs +++ b/src/geometry/geometry.rs @@ -9,12 +9,15 @@ use petgraph::{ }; use crate::{ + geometry::shape::{BendShape, DotShape, SegShape, Shape}, graph::{GenericIndex, GetNodeIndex}, layout::{ bend::{BendWeight, FixedBendWeight, LooseBendWeight}, dot::{DotWeight, FixedDotWeight, LooseDotWeight}, - geometry::shape::{BendShape, DotShape, SegShape, Shape}, graph::{GeometryWeight, Retag}, + primitive::Primitive, + rules::RulesTrait, + seg::{FixedSegWeight, LoneLooseSegWeight, SegWeight, SeqLooseSegWeight}, }, math::Circle, }; diff --git a/src/layout/geometry/mod.rs b/src/geometry/mod.rs similarity index 100% rename from src/layout/geometry/mod.rs rename to src/geometry/mod.rs diff --git a/src/layout/geometry/shape.rs b/src/geometry/shape.rs similarity index 100% rename from src/layout/geometry/shape.rs rename to src/geometry/shape.rs diff --git a/src/layout/geometry/with_rtree.rs b/src/geometry/with_rtree.rs similarity index 100% rename from src/layout/geometry/with_rtree.rs rename to src/geometry/with_rtree.rs diff --git a/src/layout/band.rs b/src/layout/band.rs index fa97ebf..f621525 100644 --- a/src/layout/band.rs +++ b/src/layout/band.rs @@ -1,9 +1,9 @@ use crate::{ + geometry::{shape::ShapeTrait, GetWidth}, graph::GetNodeIndex, layout::{ connectivity::{BandIndex, BandWeight, ConnectivityWeight, GetNet}, dot::{DotIndex, FixedDotIndex}, - geometry::shape::ShapeTrait, graph::{GeometryIndex, MakePrimitive}, loose::{GetNextLoose, LooseIndex}, primitive::{GetJoints, GetOtherJoint, MakeShape}, @@ -11,7 +11,7 @@ use crate::{ }, }; -use super::{geometry::GetWidth, rules::RulesTrait}; +use super::rules::RulesTrait; pub struct Band<'a, R: RulesTrait> { pub index: BandIndex, diff --git a/src/layout/bend.rs b/src/layout/bend.rs index 000840a..bef35bf 100644 --- a/src/layout/bend.rs +++ b/src/layout/bend.rs @@ -1,10 +1,10 @@ use enum_dispatch::enum_dispatch; use crate::{ + geometry::{BendWeightTrait, GetOffset, GetWidth, SetOffset}, graph::{GenericIndex, GetNodeIndex}, layout::{ connectivity::{BandIndex, ContinentIndex}, - geometry::{BendWeightTrait, GetOffset, GetWidth}, graph::{ GeometryIndex, GeometryWeight, GetBandIndex, GetContinentIndex, GetContinentIndexMut, MakePrimitive, Retag, @@ -17,8 +17,6 @@ use crate::{ use petgraph::stable_graph::NodeIndex; -use super::geometry::SetOffset; - #[enum_dispatch(GetNodeIndex, MakePrimitive)] #[derive(Debug, Clone, Copy, PartialEq)] pub enum BendIndex { diff --git a/src/layout/dot.rs b/src/layout/dot.rs index 8729f72..0136c2d 100644 --- a/src/layout/dot.rs +++ b/src/layout/dot.rs @@ -4,10 +4,10 @@ use geo::Point; use petgraph::stable_graph::NodeIndex; use crate::{ + geometry::{DotWeightTrait, GetPos, GetWidth, SetPos}, graph::{GenericIndex, GetNodeIndex}, layout::{ connectivity::{BandIndex, ContinentIndex}, - geometry::{DotWeightTrait, GetPos, GetWidth}, graph::{ GeometryIndex, GeometryWeight, GetBandIndex, GetContinentIndex, GetContinentIndexMut, MakePrimitive, Retag, @@ -19,8 +19,6 @@ use crate::{ math::Circle, }; -use super::geometry::SetPos; - #[enum_dispatch(GetNodeIndex, MakePrimitive)] #[derive(Debug, Clone, Copy, PartialEq)] pub enum DotIndex { diff --git a/src/layout/guide.rs b/src/layout/guide.rs index 3e4c280..f545c26 100644 --- a/src/layout/guide.rs +++ b/src/layout/guide.rs @@ -2,11 +2,11 @@ use enum_dispatch::enum_dispatch; use geo::Line; use crate::{ + geometry::shape::{Shape, ShapeTrait}, layout::{ bend::BendIndex, connectivity::BandIndex, dot::{DotIndex, FixedDotIndex, LooseDotIndex}, - geometry::shape::{Shape, ShapeTrait}, graph::{GetBandIndex, MakePrimitive}, primitive::{GetCore, GetInnerOuter, GetOtherJoint, GetWeight, MakeShape}, rules::GetConditions, diff --git a/src/layout/layout.rs b/src/layout/layout.rs index 5626dac..57e1184 100644 --- a/src/layout/layout.rs +++ b/src/layout/layout.rs @@ -11,25 +11,25 @@ use super::connectivity::{ BandIndex, BandWeight, ConnectivityGraph, ConnectivityLabel, ConnectivityWeight, ContinentIndex, ContinentWeight, GetNet, }; -use super::geometry::with_rtree::GeometryWithRtree; use super::loose::{GetNextLoose, Loose, LooseIndex}; use super::rules::RulesTrait; use super::segbend::Segbend; +use crate::geometry::{ + shape::{Shape, ShapeTrait}, + with_rtree::GeometryWithRtree, + BendWeightTrait, DotWeightTrait, Geometry, GeometryLabel, GetOffset, GetPos, GetWidth, + SegWeightTrait, +}; use crate::graph::{GenericIndex, GetNodeIndex}; use crate::layout::bend::BendIndex; use crate::layout::collect::Collect; use crate::layout::dot::DotWeight; -use crate::layout::geometry::{ - BendWeightTrait, DotWeightTrait, Geometry, GeometryLabel, GetOffset, GetPos, GetWidth, - SegWeightTrait, -}; use crate::layout::guide::Guide; use crate::layout::primitive::GetLimbs; use crate::layout::rules::GetConditions; use crate::layout::{ bend::{FixedBendIndex, LooseBendIndex, LooseBendWeight}, dot::{DotIndex, FixedDotIndex, FixedDotWeight, LooseDotIndex, LooseDotWeight}, - geometry::shape::{Shape, ShapeTrait}, graph::{GeometryIndex, GeometryWeight, GetContinentIndex, MakePrimitive}, primitive::{GenericPrimitive, GetCore, GetInnerOuter, GetJoints, GetOtherJoint, MakeShape}, seg::{ diff --git a/src/layout/mod.rs b/src/layout/mod.rs index a7ece63..508c9ed 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -5,7 +5,6 @@ pub mod bend; pub mod collect; pub mod connectivity; pub mod dot; -pub mod geometry; pub mod guide; mod layout; pub mod loose; diff --git a/src/layout/primitive.rs b/src/layout/primitive.rs index 260f86f..4c7a97b 100644 --- a/src/layout/primitive.rs +++ b/src/layout/primitive.rs @@ -1,20 +1,21 @@ use enum_dispatch::enum_dispatch; use petgraph::stable_graph::NodeIndex; +use crate::geometry::{ + shape::{Shape, ShapeTrait}, + GetOffset, GetWidth, +}; use crate::graph::{GenericIndex, GetNodeIndex}; use crate::layout::dot::DotWeight; use crate::layout::seg::{ FixedSegWeight, LoneLooseSegIndex, LoneLooseSegWeight, SegIndex, SeqLooseSegIndex, SeqLooseSegWeight, }; + use crate::layout::{ bend::{BendIndex, FixedBendWeight, LooseBendIndex, LooseBendWeight}, connectivity::{BandIndex, ContinentIndex, GetNet}, dot::{DotIndex, FixedDotIndex, FixedDotWeight, LooseDotIndex, LooseDotWeight}, - geometry::{ - shape::{Shape, ShapeTrait}, - GetOffset, GetWidth, - }, graph::{GeometryIndex, GeometryWeight, GetBandIndex, GetContinentIndex, Retag}, loose::LooseIndex, Layout, diff --git a/src/layout/seg.rs b/src/layout/seg.rs index 7c63f8e..0478fa1 100644 --- a/src/layout/seg.rs +++ b/src/layout/seg.rs @@ -1,10 +1,10 @@ use enum_dispatch::enum_dispatch; use crate::{ + geometry::{GetWidth, SegWeightTrait}, graph::{GenericIndex, GetNodeIndex}, layout::{ connectivity::{BandIndex, ContinentIndex}, - geometry::{GetWidth, SegWeightTrait}, graph::{ GeometryIndex, GeometryWeight, GetBandIndex, GetContinentIndex, GetContinentIndexMut, MakePrimitive, Retag, diff --git a/src/lib.rs b/src/lib.rs index 6342aba..e0b2dac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,6 +6,7 @@ pub mod graph; #[macro_use] pub mod layout; pub mod dsn; +pub mod geometry; pub mod math; pub mod mesh; pub mod router; diff --git a/src/mesh.rs b/src/mesh.rs index 6383112..1b42f88 100644 --- a/src/mesh.rs +++ b/src/mesh.rs @@ -10,14 +10,14 @@ use spade::{HasPosition, InsertionError, Point2}; use crate::layout::rules::RulesTrait; use crate::triangulation::TriangulationEdgeReference; use crate::{ + geometry::shape::ShapeTrait, graph::GetNodeIndex, - layout::Layout, layout::{ bend::{FixedBendIndex, LooseBendIndex}, dot::FixedDotIndex, - geometry::shape::ShapeTrait, graph::{GeometryIndex, MakePrimitive}, primitive::{GetCore, MakeShape, Primitive}, + Layout, }, triangulation::{GetVertexIndex, Triangulation}, }; diff --git a/src/router.rs b/src/router.rs index c1de514..894bf35 100644 --- a/src/router.rs +++ b/src/router.rs @@ -6,14 +6,13 @@ use thiserror::Error; use crate::astar::{astar, AstarStrategy, PathTracker}; use crate::draw::DrawException; -use crate::layout::geometry::GetWidth; +use crate::geometry::{shape::ShapeTrait, GetWidth}; use crate::layout::guide::HeadTrait; use crate::layout::rules::RulesTrait; use crate::layout::Layout; use crate::layout::{ connectivity::BandIndex, dot::FixedDotIndex, - geometry::shape::ShapeTrait, graph::{GeometryIndex, MakePrimitive}, primitive::MakeShape, };