diff --git a/src/layout/bend.rs b/src/layout/bend.rs index c7ec4da..6f49829 100644 --- a/src/layout/bend.rs +++ b/src/layout/bend.rs @@ -2,8 +2,8 @@ use enum_dispatch::enum_dispatch; use crate::{ connectivity::{BandIndex, ComponentIndex}, - graph::GenericIndex, - layout::{GetNodeIndex, Layout}, + graph::{GenericIndex, GetNodeIndex}, + layout::Layout, primitive::{GenericPrimitive, Primitive}, }; diff --git a/src/layout/dot.rs b/src/layout/dot.rs index bb9fedf..c054069 100644 --- a/src/layout/dot.rs +++ b/src/layout/dot.rs @@ -3,8 +3,8 @@ use geo::Point; use crate::{ connectivity::{BandIndex, ComponentIndex}, - graph::GenericIndex, - layout::{GetNodeIndex, Layout}, + graph::{GenericIndex, GetNodeIndex}, + layout::Layout, math::Circle, primitive::{GenericPrimitive, Primitive}, }; diff --git a/src/layout/geometry.rs b/src/layout/geometry/geometry.rs similarity index 99% rename from src/layout/geometry.rs rename to src/layout/geometry/geometry.rs index 2ab77ea..b853334 100644 --- a/src/layout/geometry.rs +++ b/src/layout/geometry/geometry.rs @@ -17,7 +17,7 @@ use crate::{ shape::{BendShape, DotShape, SegShape, Shape}, }; -use super::{ +use super::super::{ bend::{FixedBendIndex, FixedBendWeight, LooseBendIndex, LooseBendWeight}, dot::{FixedDotIndex, FixedDotWeight, LooseDotIndex, LooseDotWeight}, seg::{ @@ -107,18 +107,6 @@ macro_rules! impl_loose_weight { }; } -#[enum_dispatch(GetWidth, Retag)] -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum GeometryWeight { - FixedDot(FixedDotWeight), - LooseDot(LooseDotWeight), - FixedSeg(FixedSegWeight), - LoneLooseSeg(LoneLooseSegWeight), - SeqLooseSeg(SeqLooseSegWeight), - FixedBend(FixedBendWeight), - LooseBend(LooseBendWeight), -} - #[enum_dispatch(GetNodeIndex, MakePrimitive)] #[derive(Debug, Clone, Copy, PartialEq)] pub enum GeometryIndex { @@ -131,6 +119,18 @@ pub enum GeometryIndex { LooseBend(LooseBendIndex), } +#[enum_dispatch(GetWidth, Retag)] +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum GeometryWeight { + FixedDot(FixedDotWeight), + LooseDot(LooseDotWeight), + FixedSeg(FixedSegWeight), + LoneLooseSeg(LoneLooseSegWeight), + SeqLooseSeg(SeqLooseSegWeight), + FixedBend(FixedBendWeight), + LooseBend(LooseBendWeight), +} + #[derive(Debug, Clone, Copy, PartialEq)] pub enum GeometryLabel { Connection, diff --git a/src/layout/geometry/mod.rs b/src/layout/geometry/mod.rs new file mode 100644 index 0000000..ee2bec5 --- /dev/null +++ b/src/layout/geometry/mod.rs @@ -0,0 +1,3 @@ +#[macro_use] +mod geometry; +pub use geometry::*; diff --git a/src/layout.rs b/src/layout/layout.rs similarity index 99% rename from src/layout.rs rename to src/layout/layout.rs index ccebf3f..2276c70 100644 --- a/src/layout.rs +++ b/src/layout/layout.rs @@ -1,9 +1,3 @@ -#[macro_use] -pub mod geometry; -pub mod bend; -pub mod dot; -pub mod seg; - use contracts::{debug_ensures, debug_invariant}; use enum_dispatch::enum_dispatch; use geo::Point; @@ -43,8 +37,8 @@ use crate::segbend::Segbend; use crate::shape::{Shape, ShapeTrait}; use crate::wraparoundable::{GetWraparound, Wraparoundable, WraparoundableIndex}; -use self::bend::BendWeight; -use self::seg::SegWeight; +use super::bend::BendWeight; +use super::seg::SegWeight; pub type RTreeWrapper = GeomWithData; diff --git a/src/layout/mod.rs b/src/layout/mod.rs new file mode 100644 index 0000000..8aa4937 --- /dev/null +++ b/src/layout/mod.rs @@ -0,0 +1,8 @@ +#[macro_use] +pub mod geometry; +pub mod bend; +pub mod dot; +pub mod seg; + +mod layout; +pub use layout::*; diff --git a/src/layout/seg.rs b/src/layout/seg.rs index cbf6bf4..44787b7 100644 --- a/src/layout/seg.rs +++ b/src/layout/seg.rs @@ -2,8 +2,8 @@ use enum_dispatch::enum_dispatch; use crate::{ connectivity::{BandIndex, ComponentIndex}, - graph::GenericIndex, - layout::{GetNodeIndex, Layout}, + graph::{GenericIndex, GetNodeIndex}, + layout::Layout, primitive::{GenericPrimitive, Primitive}, };