geometry: move `Geometry` to a new module that is one level deeper

This commit is contained in:
Mikolaj Wielgus 2024-01-30 00:02:32 +00:00
parent 7f044f018f
commit ca23d45673
7 changed files with 32 additions and 27 deletions

View File

@ -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},
};

View File

@ -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},
};

View File

@ -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<GeometryIndex>)]
#[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<GeometryIndex>)]
#[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,

View File

@ -0,0 +1,3 @@
#[macro_use]
mod geometry;
pub use geometry::*;

View File

@ -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<Shape, GeometryIndex>;

8
src/layout/mod.rs Normal file
View File

@ -0,0 +1,8 @@
#[macro_use]
pub mod geometry;
pub mod bend;
pub mod dot;
pub mod seg;
mod layout;
pub use layout::*;

View File

@ -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},
};