mirror of https://codeberg.org/topola/topola.git
geometry: move `Geometry` to a new module that is one level deeper
This commit is contained in:
parent
7f044f018f
commit
ca23d45673
|
|
@ -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},
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#[macro_use]
|
||||
mod geometry;
|
||||
pub use geometry::*;
|
||||
|
|
@ -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>;
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#[macro_use]
|
||||
pub mod geometry;
|
||||
pub mod bend;
|
||||
pub mod dot;
|
||||
pub mod seg;
|
||||
|
||||
mod layout;
|
||||
pub use layout::*;
|
||||
|
|
@ -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},
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue