pub struct RoutingEngine { /* private fields */ }Expand description
Routing engine for wire connections.
Implementations§
Source§impl RoutingEngine
impl RoutingEngine
Sourcepub fn set_max_iterations(&mut self, max: usize)
pub fn set_max_iterations(&mut self, max: usize)
Set maximum iterations for routing.
Sourcepub fn update_obstacles(
&mut self,
primitives: &[SchRecord],
layout: &LayoutEngine,
)
pub fn update_obstacles( &mut self, primitives: &[SchRecord], layout: &LayoutEngine, )
Update obstacles from schematic primitives.
Sourcepub fn route(&self, start: CoordPoint, end: CoordPoint) -> Option<RoutingPath>
pub fn route(&self, start: CoordPoint, end: CoordPoint) -> Option<RoutingPath>
Route a wire between two points using A* pathfinding.
Sourcepub fn find_junctions(&self, path: &RoutingPath) -> Vec<CoordPoint>
pub fn find_junctions(&self, path: &RoutingPath) -> Vec<CoordPoint>
Find junctions where new wires intersect existing wires.
Sourcepub fn auto_route_all(
&mut self,
connections: &[(CoordPoint, CoordPoint)],
) -> Vec<Option<RoutingPath>>
pub fn auto_route_all( &mut self, connections: &[(CoordPoint, CoordPoint)], ) -> Vec<Option<RoutingPath>>
Auto-route multiple connections, trying to minimize crossings.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RoutingEngine
impl RefUnwindSafe for RoutingEngine
impl Send for RoutingEngine
impl Sync for RoutingEngine
impl Unpin for RoutingEngine
impl UnwindSafe for RoutingEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more