From 93781cae4a0182026d704afa021cbf469217bbb0 Mon Sep 17 00:00:00 2001 From: Jean-Gabriel Gill-Couture Date: Sun, 23 Jul 2023 23:55:04 -0400 Subject: [PATCH] Thought about it for 2 minutes and found an ok solution : very close to something working for this 2nd strategy that feels a lot better --- src/space_colonization/space_colonization.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/space_colonization/space_colonization.rs b/src/space_colonization/space_colonization.rs index 9003236..24140fa 100644 --- a/src/space_colonization/space_colonization.rs +++ b/src/space_colonization/space_colonization.rs @@ -132,13 +132,19 @@ impl SpaceColonization { } } if let Some(node) = closest_node { - let attractors = match growing_paths.get_mut(node) { - Some(a) => a.take(), - None => Vec::new(), - }; + if let Some(attractors) = growing_paths.get_mut(node) { + attractors.push(a); + } else { + let mut attractors = Vec::new(); + attractors.push(a); + growing_paths.insert(node, attractors); + } } } - console::log_1(&format!("found {} pairs ", growing_paths.len()).into()); + console::log_1(&format!("found {:?} pairs ", growing_paths).into()); + for node in growing_paths { + todo!("calculate new node position averaging all attractors"); + } } }