Autorouter: general modules descriptions

This commit is contained in:
hakki 2024-10-01 19:34:11 +02:00
parent e1d80fe2c4
commit 3fb01e9f48
8 changed files with 31 additions and 0 deletions

View File

@ -1,6 +1,7 @@
//! Manages autorouting of ratlines in a layout, tracking status and processed
//! routing steps. Provides access to navigation meshes, traces, ghost shapes,
//! and obstacles encountered during routing.
use petgraph::graph::EdgeIndex;
use crate::{

View File

@ -1,3 +1,8 @@
//! Manages the comparison of detours between two ratlines, tracking their
//! routing statuses and lengths. Facilitates stepwise processing of routing
//! while providing access to navigation meshes, traces, ghost shapes, and
//! obstacles encountered.
use petgraph::graph::EdgeIndex;
use crate::{

View File

@ -1,3 +1,7 @@
//! Manages command history operations, allowing for undoing and redoing commands.
//! Handles error scenarios related to command history, maintaining lists of executed
//! and undone commands for easy navigation.
use serde::{Deserialize, Serialize};
use thiserror::Error;

View File

@ -1,3 +1,6 @@
//! This module defines the Invoker structure, which manages the execution of
//! routing commands within the autorouting system.
use std::cmp::Ordering;
use contracts::debug_requires;

View File

@ -1,3 +1,7 @@
//! This module provides functionality for measuring the total length of selected
//! bands in a PCB layout. It interacts with the autorouter to calculate and return
//! the length of specified band selections.
use crate::{
board::mesadata::AccessMesadata,
drawing::graph::PrimitiveIndex,

View File

@ -1,3 +1,7 @@
//! This module provides functionality for placing vias in a PCB layout.
//! It manages the process of inserting a via with a specified weight and
//! checks if the via has already been placed.
use crate::{
board::mesadata::AccessMesadata,
drawing::graph::PrimitiveIndex,

View File

@ -1,3 +1,8 @@
//! This module defines data structures and methods for managing a graph
//! used in layout triangulation and routing tasks. It includes vertex and edge
//! structures for representing graph nodes and edges with associated metadata,
//! as well as functions for constructing and manipulating these graphs.
use std::collections::HashMap;
use enum_dispatch::enum_dispatch;

View File

@ -1,3 +1,8 @@
//! This module provides functionality to remove bands from the layout in an
//! autorouting context. It defines a struct that interacts with the autorouter
//! to remove selected bands, and implements necessary traits for working
//! with navigation meshes, traces, and obstacles.
use crate::{
board::mesadata::AccessMesadata,
drawing::graph::PrimitiveIndex,