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 net = pin_nets.get(&pinname).unwrap();
|
||||
|
||||
let padstack = &self
|
||||
let padstack = self
|
||||
.pcb
|
||||
.library
|
||||
.padstacks
|
||||
.iter()
|
||||
.find(|padstack| padstack.name == pin.name)
|
||||
.find_padstack_by_name(&pin.name)
|
||||
.unwrap();
|
||||
|
||||
for shape in padstack.shapes.iter() {
|
||||
|
|
@ -319,13 +317,10 @@ impl SpecctraDesign {
|
|||
.netname_net(&via.net)
|
||||
.unwrap();
|
||||
|
||||
// find the padstack referenced by this via placement
|
||||
let padstack = &self
|
||||
let padstack = self
|
||||
.pcb
|
||||
.library
|
||||
.padstacks
|
||||
.iter()
|
||||
.find(|padstack| padstack.name == via.name)
|
||||
.find_padstack_by_name(&via.name)
|
||||
.unwrap();
|
||||
|
||||
let get_layer = |board: &Board<SpecctraMesadata>, name: &str|
|
||||
|
|
|
|||
|
|
@ -169,6 +169,12 @@ pub struct Library {
|
|||
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)]
|
||||
pub struct Image {
|
||||
#[anon]
|
||||
|
|
|
|||
Loading…
Reference in New Issue