mirror of https://codeberg.org/topola/topola.git
specctra/design: remove code duplication at padstack lookup
This commit is contained in:
parent
cd12775f46
commit
60d9880ab2
|
|
@ -242,12 +242,10 @@ impl SpecctraDesign {
|
||||||
let pinname = format!("{}-{}", place.name, pin.id);
|
let pinname = format!("{}-{}", place.name, pin.id);
|
||||||
let net = pin_nets.get(&pinname).unwrap();
|
let net = pin_nets.get(&pinname).unwrap();
|
||||||
|
|
||||||
let padstack = &self
|
let padstack = self
|
||||||
.pcb
|
.pcb
|
||||||
.library
|
.library
|
||||||
.padstacks
|
.find_padstack_by_name(&pin.name)
|
||||||
.iter()
|
|
||||||
.find(|padstack| padstack.name == pin.name)
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
for shape in padstack.shapes.iter() {
|
for shape in padstack.shapes.iter() {
|
||||||
|
|
@ -319,13 +317,10 @@ impl SpecctraDesign {
|
||||||
.netname_net(&via.net)
|
.netname_net(&via.net)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
// find the padstack referenced by this via placement
|
let padstack = self
|
||||||
let padstack = &self
|
|
||||||
.pcb
|
.pcb
|
||||||
.library
|
.library
|
||||||
.padstacks
|
.find_padstack_by_name(&via.name)
|
||||||
.iter()
|
|
||||||
.find(|padstack| padstack.name == via.name)
|
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let get_layer = |board: &Board<SpecctraMesadata>, name: &str|
|
let get_layer = |board: &Board<SpecctraMesadata>, name: &str|
|
||||||
|
|
|
||||||
|
|
@ -169,6 +169,12 @@ pub struct Library {
|
||||||
pub padstacks: Vec<Padstack>,
|
pub padstacks: Vec<Padstack>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Library {
|
||||||
|
pub fn find_padstack_by_name(&self, name: &str) -> Option<&Padstack> {
|
||||||
|
self.padstacks.iter().find(|padstack| &padstack.name == name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(ReadDsn, WriteSes, Debug)]
|
#[derive(ReadDsn, WriteSes, Debug)]
|
||||||
pub struct Image {
|
pub struct Image {
|
||||||
#[anon]
|
#[anon]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue