fix: The last six elusive edges

This commit is contained in:
Glen Whitney 2025-09-22 16:34:53 -07:00
parent a1b7c1fcb0
commit 0b03ea2a0d

View file

@ -836,8 +836,8 @@ const_array!(ACRON554_COMMON: (&str, [f64; 3], bool, usize, &str) = [
("Y_SW", [-0.104, -0.11, 1.019], F, 3, "B_SW"), ("Y_SW", [-0.104, -0.11, 1.019], F, 3, "B_SW"),
("C_N", [ 0., 1., RTPHIPH], P, 4, "Y_NE,Y_NW"), ("C_N", [ 0., 1., RTPHIPH], P, 4, "Y_NE,Y_NW"),
("C_W", [-1., 0., RTPHIPH], P, 4, "Y_NW,Y_SW"), ("C_W", [-1., 0., RTPHIPH], P, 4, "Y_NW,Y_SW"),
("C_E", [ 1.003, -0.003, 1.454], F, 4, "B_NE,B_SE,Y_NE,Y_SE"), ("C_E", [ 1.003, -0.003, 1.454], F, 4, "Z_E,B_NE,B_SE,Y_NE,Y_SE"),
("C_S", [ 0.003, -1.003, 1.454], F, 4, "B_SE,B_SW,Y_SE,Y_SW"), ("C_S", [ 0.003, -1.003, 1.454], F, 4, "Z_S,B_SE,B_SW,Y_SE,Y_SW"),
("D_NE", [ 0.195, 0.186, 2.012], F, 5, "Y_NE,C_N,C_E"), ("D_NE", [ 0.195, 0.186, 2.012], F, 5, "Y_NE,C_N,C_E"),
("D_NW", [-0.186, 0.186, 2.012], F, 5, "Y_NW,C_N,C_W"), ("D_NW", [-0.186, 0.186, 2.012], F, 5, "Y_NW,C_N,C_W"),
("D_SE", [ 0.195, -0.195, 2.011], F, 5, "Y_SE,C_E,C_S"), ("D_SE", [ 0.195, -0.195, 2.011], F, 5, "Y_SE,C_E,C_S"),
@ -964,23 +964,36 @@ fn load_554aug2(assembly: &Assembly) {
} }
} }
const_array!(ACRON554_DOME: (&str, [f64; 3], bool, usize, &str) = [ const_array!(ACRON554_INDOME: (&str, [f64; 3], bool, usize, &str) = [
// id, coordinates, Pin/Free, level, earlier neighbor IDs. // id, coordinates, Pin/Free, level, earlier neighbor IDs.
("H_E", [ 0.359, -0.006, 3.161], F, 9, "G_2,G_4"), ("H_E", [ 0.359, -0.006, 3.161], F, 9, "G_2,G_4"),
("H_N", [ 0.005, 0.348, 3.158], F, 9, "G_1,G_11"), ("H_N", [ 0.005, 0.348, 3.158], F, 9, "G_1,G_11"),
("H_S", [ 0.006, 0.359, 3.159], F, 9, "G_5,G_7"), ("H_S", [ 0.006, -0.359, 3.159], F, 9, "G_5,G_7"),
("H_W", [-0.347, -0.005, 3.163], F, 9, "G_8,G_10"), ("H_W", [-0.347, -0.005, 3.163], F, 9, "G_8,G_10"),
("I_NE", [ 0.507, 0.493, 4.015], F, 10, "G_1,G_2,H_E,H_N"), ("I_NE", [ 0.507, 0.493, 4.015], F, 10, "G_1,G_2,H_E,H_N"),
("I_NW", [-0.493, 0.493, 4.013], F, 10, "G_10,G_11,H_N,H_W"), ("I_NW", [-0.493, 0.493, 4.013], F, 10, "G_10,G_11,H_N,H_W,I_NE"),
("I_SE", [ 0.507, -0.507, 4.012], F, 10, "G_4,G_5,H_E,H_S"), ("I_SE", [ 0.507, -0.507, 4.012], F, 10, "G_4,G_5,H_E,H_S,I_NE"),
("I_SW", [-0.493, -0.507, 4.015], F, 10, "G_7,G_8,H_S,H_W"), ("I_SW", [-0.493, -0.507, 4.015], F, 10, "G_7,G_8,H_S,H_W,I_NW,I_SE"),
("J", [ 0.004, -0.010, 3.303], F, 11, "I_NE,I_NW,I_SE,I_SW"), ("J", [ 0.004, -0.010, 3.303], F, 11, "I_NE,I_NW,I_SE,I_SW"),
]); ]);
const_array!(ACRON554_OUTDOME: (&str, [f64; 3], bool, usize, &str) = [
// id, coordinates, Pin/Free, level, earlier neighbor IDs.
("H_E", [ 1.361, -0.007, 4.16], F, 9, "G_2,G_4"),
("H_N", [ 0.007, 1.346, 4.164], F, 9, "G_1,G_11"),
("H_S", [ 0.007, -1.361, 4.16], F, 9, "G_5,G_7"),
("H_W", [-1.346, -0.007, 4.164], F, 9, "G_8,G_10"),
("I_NE", [ 0.507, 0.493, 4.015], F, 10, "G_1,G_2,H_E,H_N"),
("I_NW", [-0.493, 0.493, 4.013], F, 10, "G_10,G_11,H_N,H_W,I_NE"),
("I_SE", [ 0.507, -0.507, 4.012], F, 10, "G_4,G_5,H_E,H_S,I_NE"),
("I_SW", [-0.493, -0.507, 4.015], F, 10, "G_7,G_8,H_S,H_W,I_NW,I_SE"),
("J", [ 0.008, -0.008, 4.722], F, 11, "I_NE,I_NW,I_SE,I_SW"),
]);
fn load_554domed(assembly: &Assembly) { fn load_554domed(assembly: &Assembly) {
load_554aug2(assembly); load_554aug2(assembly);
// Now process the additional data // Now process the additional data
for (id, v, _pinned, l, neighbors) in ACRON554_DOME { for (id, v, _pinned, l, neighbors) in ACRON554_INDOME {
let pt = Point::new(id, id, LEVEL_COLORS[l], point(v[0], v[1], v[2])); let pt = Point::new(id, id, LEVEL_COLORS[l], point(v[0], v[1], v[2]));
assembly.try_insert_element(pt); assembly.try_insert_element(pt);
let pt_rc = assembly.find_element(id); let pt_rc = assembly.find_element(id);