Parameterize priority queue
This commit is contained in:
parent
6f74f1345e
commit
ffe51bede9
14 changed files with 276 additions and 183 deletions
|
|
@ -12,3 +12,4 @@ clap = { version = "4.5.26", features = ["derive"] }
|
|||
serde = "1.0.217"
|
||||
serde_json = "1.0.135"
|
||||
flate2 = "1.0.35"
|
||||
tracing = "0.1.41"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use factorio_graph::{
|
|||
priority_queue::binary_heap::FastBinaryHeap,
|
||||
wheighted_graph::{WheightedGraph, shortest_path::dijkstra, steiner_tree},
|
||||
};
|
||||
use tracing::trace_span;
|
||||
|
||||
use super::*;
|
||||
|
||||
|
|
@ -112,6 +113,7 @@ fn power_connections(
|
|||
|
||||
impl Blueprint {
|
||||
pub fn connect_power_networks(&mut self) {
|
||||
let _complete_span = trace_span!("connect power networks").entered();
|
||||
let mut power_pole_map = self
|
||||
.entities
|
||||
.iter()
|
||||
|
|
@ -246,6 +248,7 @@ where
|
|||
|
||||
impl Blueprint {
|
||||
pub fn connect_roboport_power(&mut self) {
|
||||
let _complete_span = trace_span!("connect roboport power").entered();
|
||||
let mut roboportmap = self
|
||||
.entities
|
||||
.iter()
|
||||
|
|
@ -287,8 +290,8 @@ impl Blueprint {
|
|||
{
|
||||
let placibility = self.placibility_map();
|
||||
for (electric_pole_type, dist) in [
|
||||
(ElectricPoleType::Small, 9),
|
||||
(ElectricPoleType::Medium, 11),
|
||||
(ElectricPoleType::Small, 7),
|
||||
(ElectricPoleType::Medium, 9),
|
||||
(ElectricPoleType::Big, 6),
|
||||
] {
|
||||
for (x, y) in
|
||||
|
|
@ -314,6 +317,7 @@ impl Blueprint {
|
|||
let mut visited_roboports = vec![start_roboport];
|
||||
|
||||
while !roboportmap.is_empty() {
|
||||
let _inner = trace_span!("inner").entered();
|
||||
let placibility = self.placibility_map();
|
||||
let mut power_pole_map = self
|
||||
.entities
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use factorio_graph::{
|
|||
priority_queue::binary_heap::FastBinaryHeap,
|
||||
set_cover::{greedy_connected_set_cover_priority_queue, greedy_set_cover_priority_queue},
|
||||
};
|
||||
use tracing::trace_span;
|
||||
|
||||
use crate::abstraction::Entity;
|
||||
|
||||
|
|
@ -31,6 +32,7 @@ impl Graph for RoboportGraph<'_> {
|
|||
|
||||
impl Blueprint {
|
||||
pub fn add_roboport_network(&mut self) {
|
||||
let _complete_span = trace_span!("roboport_network").entered();
|
||||
let aabb = self.get_aabb().unwrap();
|
||||
|
||||
let universe = self.entities.len();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue