mirror of https://codeberg.org/topola/topola.git
26 lines
554 B
Rust
26 lines
554 B
Rust
use enum_dispatch::enum_dispatch;
|
|
|
|
use crate::layout::primitive::Primitive;
|
|
|
|
#[enum_dispatch]
|
|
pub trait GetConditions {
|
|
fn conditions(&self) -> Conditions;
|
|
}
|
|
|
|
#[derive(Debug, Default)]
|
|
pub struct Conditions {
|
|
pub net: i64,
|
|
pub region: Option<String>,
|
|
pub layer: Option<String>,
|
|
}
|
|
|
|
pub trait RulesTrait {
|
|
fn clearance(&self, conditions1: &Conditions, conditions2: &Conditions) -> f64;
|
|
/*fn clearance_limit(
|
|
&self,
|
|
layer: String,
|
|
netclass: String,
|
|
conditions: &PrimitiveConditions,
|
|
) -> f64;*/
|
|
}
|