mirror of https://codeberg.org/topola/topola.git
autorouter: store layer to layer names map in `Board`
This commit is contained in:
parent
fa8c11fa36
commit
bb6d975dac
|
|
@ -23,6 +23,7 @@ pub type NodeIndex = GenericNode<PrimitiveIndex, GenericIndex<ZoneWeight>>;
|
|||
pub struct Board<R: RulesTrait> {
|
||||
layout: Layout<R>,
|
||||
node_to_pin: HashMap<NodeIndex, String>,
|
||||
layer_to_layername: HashMap<u64, String>,
|
||||
net_to_netname: HashMap<usize, String>,
|
||||
}
|
||||
|
||||
|
|
@ -31,6 +32,7 @@ impl<R: RulesTrait> Board<R> {
|
|||
Self {
|
||||
layout,
|
||||
node_to_pin: HashMap::new(),
|
||||
layer_to_layername: HashMap::new(),
|
||||
net_to_netname: HashMap::new(),
|
||||
}
|
||||
}
|
||||
|
|
@ -114,6 +116,10 @@ impl<R: RulesTrait> Board<R> {
|
|||
zone
|
||||
}
|
||||
|
||||
pub fn bename_layer(&mut self, layer: u64, layername: String) {
|
||||
self.layer_to_layername.insert(layer, layername);
|
||||
}
|
||||
|
||||
pub fn bename_net(&mut self, net: usize, netname: String) {
|
||||
self.net_to_netname.insert(net, netname);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -323,7 +323,14 @@ impl DsnDesign {
|
|||
);
|
||||
}
|
||||
|
||||
// The clone here is bad, we'll have something better later on.
|
||||
// The clones here are bad, we'll have something better later on.
|
||||
|
||||
let layername_to_layer = &board.layout().drawing().rules().layername_to_layer.clone();
|
||||
|
||||
for (layername, layer) in layername_to_layer.iter() {
|
||||
board.bename_layer(*layer, layername.to_string());
|
||||
}
|
||||
|
||||
let netname_to_net = &board.layout().drawing().rules().netname_to_net.clone();
|
||||
|
||||
for (netname, net) in netname_to_net.iter() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue