mirror of https://codeberg.org/topola/topola.git
docs(drawing): rephrase docstrings
This commit is contained in:
parent
3bdfa8c12e
commit
638979364c
|
|
@ -1,22 +1,23 @@
|
||||||
use crate::drawing::{
|
use super::{
|
||||||
bend::LooseBendIndex,
|
bend::LooseBendIndex,
|
||||||
dot::LooseDotIndex,
|
dot::LooseDotIndex,
|
||||||
graph::PrimitiveIndex,
|
graph::PrimitiveIndex,
|
||||||
primitive::{GetInterior, GetJoints, GetOtherJoint, LooseBend, LooseDot},
|
primitive::{GetInterior, GetJoints, GetOtherJoint, LooseBend, LooseDot},
|
||||||
|
rules::AccessRules,
|
||||||
seg::SeqLooseSegIndex,
|
seg::SeqLooseSegIndex,
|
||||||
Drawing,
|
Drawing,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::rules::AccessRules;
|
/// A cane is a sequence consisting of a seg followed by a dot followed by a
|
||||||
|
/// bend, with the dot joining the seg with the bend as a joint.
|
||||||
|
///
|
||||||
|
/// The name "cane" comes from the iconic cane: a slender walking stick that
|
||||||
|
/// ends with a round bend that is its handle. Topola's canes are of similar
|
||||||
|
/// shape.
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
/// Geometrical structure to define Navigation Cord Head
|
|
||||||
pub struct Cane {
|
pub struct Cane {
|
||||||
/// Loose segment of the Cane
|
|
||||||
pub seg: SeqLooseSegIndex,
|
pub seg: SeqLooseSegIndex,
|
||||||
/// Loose dot of the Cane structure
|
|
||||||
pub dot: LooseDotIndex,
|
pub dot: LooseDotIndex,
|
||||||
/// Bend of the Cane
|
|
||||||
pub bend: LooseBendIndex,
|
pub bend: LooseBendIndex,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,13 +15,11 @@ pub trait GetFace {
|
||||||
fn face(&self) -> DotIndex;
|
fn face(&self) -> DotIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The head is the working part of the running end of the currently routed
|
||||||
|
/// band. Both bare and cane heads have a face, which is the fixed dot that
|
||||||
|
/// terminates the running end.
|
||||||
#[enum_dispatch(GetFace)]
|
#[enum_dispatch(GetFace)]
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
/// Defines possible Head objects
|
|
||||||
///
|
|
||||||
/// Head is the working end of routed band, which can be
|
|
||||||
/// either Bare when nothing has been routed yet, or Cane
|
|
||||||
/// when routed process has been started
|
|
||||||
pub enum Head {
|
pub enum Head {
|
||||||
Bare(BareHead),
|
Bare(BareHead),
|
||||||
Cane(CaneHead),
|
Cane(CaneHead),
|
||||||
|
|
@ -33,10 +31,12 @@ impl<'a, CW: Copy, R: AccessRules> MakeRef<'a, HeadRef<'a, CW, R>, Drawing<CW, R
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The head is bare when the routed band is not pulled out (i.e. is of zero
|
||||||
|
/// length). This happens on the first routing step and when the routed band was
|
||||||
|
/// contracted due to the routing algorithm backtracking. In these situations a
|
||||||
|
/// cane head cannot be used because there is obviously no cane behind the face.
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
/// Defines not started Head
|
|
||||||
pub struct BareHead {
|
pub struct BareHead {
|
||||||
/// Describes face of not started Head
|
|
||||||
pub face: FixedDotIndex,
|
pub face: FixedDotIndex,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -46,12 +46,12 @@ impl GetFace for BareHead {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// The head is a cane head when the routed band is of nonzero length (i.e. is
|
||||||
|
/// pulled out). It differs from the bare head by having a `cane` member, which
|
||||||
|
/// is the terminal cane on the running end of the currently routed band.
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
/// Defines Head during routing process
|
|
||||||
pub struct CaneHead {
|
pub struct CaneHead {
|
||||||
/// Describes face of not started Head
|
|
||||||
pub face: LooseDotIndex,
|
pub face: LooseDotIndex,
|
||||||
/// Last cane followed on the unfinished end
|
|
||||||
pub cane: Cane,
|
pub cane: Cane,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,16 +16,13 @@ use super::{
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
/// Structure containing information about Navigation Cord Stepper
|
/// Stepper for the Navcord.
|
||||||
///
|
|
||||||
/// Navigation Cord is a one of chosen possible ways to connect
|
|
||||||
/// both Navigation Vertex
|
|
||||||
pub struct NavcordStepper {
|
pub struct NavcordStepper {
|
||||||
/// Path of the current Navigation Cord
|
/// The currently chosen path.
|
||||||
pub path: Vec<NavvertexIndex>,
|
pub path: Vec<NavvertexIndex>,
|
||||||
/// Type of Navigaction Cord head
|
/// Head of the routed band.
|
||||||
pub head: Head,
|
pub head: Head,
|
||||||
/// Width of the cord
|
/// Width of the routed band.
|
||||||
pub width: f64,
|
pub width: f64,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ impl Navmesh {
|
||||||
trianvertex.into(),
|
trianvertex.into(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for edge in triangulation.edge_references() {
|
for edge in triangulation.edge_references() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue