Skip to content
Snippets Groups Projects
Commit a77e3289 authored by y.zobus's avatar y.zobus
Browse files

changed to_dot to use the node_id instead of the name of the node

parent 9e011610
No related branches found
No related tags found
No related merge requests found
...@@ -13,8 +13,8 @@ fn main() { ...@@ -13,8 +13,8 @@ fn main() {
println!("default opticscenery: {:?}", scenery); println!("default opticscenery: {:?}", scenery);
println!("export to `dot` format: {}", scenery.to_dot()); println!("export to `dot` format: {}", scenery.to_dot());
let mira_node1 =scenery.add_node(OpticNode::new("mira1", Box::new(NodeDummy))); let mira_node1 =scenery.add_node(OpticNode::new("Mira", Box::new(NodeDummy)));
// let qwp_node1 =scenery.add_node(OpticNode::new("Quarter Waveplate", Box::new(NodeDummy))); let qwp_node1 =scenery.add_node(OpticNode::new("Quarter Wave Plate", Box::new(NodeDummy)));
// let pol_node1 =scenery.add_node(OpticNode::new("Polarizer", Box::new(NodeDummy))); // let pol_node1 =scenery.add_node(OpticNode::new("Polarizer", Box::new(NodeDummy)));
// let dichroic_node1 =scenery.add_node(OpticNode::new("Dichroic Mirror", Box::new(NodeDummy))); // let dichroic_node1 =scenery.add_node(OpticNode::new("Dichroic Mirror", Box::new(NodeDummy)));
// let fiber_amp_node1 =scenery.add_node(OpticNode::new("Fiber Amplifier", Box::new(NodeDummy))); // let fiber_amp_node1 =scenery.add_node(OpticNode::new("Fiber Amplifier", Box::new(NodeDummy)));
...@@ -29,7 +29,7 @@ fn main() { ...@@ -29,7 +29,7 @@ fn main() {
// let delay_node1 =scenery.add_node(OpticNode::new("Delay Stage", Box::new(NodeDummy))); // let delay_node1 =scenery.add_node(OpticNode::new("Delay Stage", Box::new(NodeDummy)));
// scenery.connect_nodes(mira_node1, qwp_node1); scenery.connect_nodes(mira_node1, qwp_node1);
// scenery.connect_nodes(qwp_node1, pol_node1); // scenery.connect_nodes(qwp_node1, pol_node1);
// scenery.connect_nodes(pol_node1, dichroic_node1); // scenery.connect_nodes(pol_node1, dichroic_node1);
// scenery.connect_nodes(pol_node1, fiber_amp_node1); // scenery.connect_nodes(pol_node1, fiber_amp_node1);
......
...@@ -54,14 +54,14 @@ impl OpticScenery { ...@@ -54,14 +54,14 @@ impl OpticScenery {
dot_string.push_str(&format!(" label=\"{}\"\n", self.description)); dot_string.push_str(&format!(" label=\"{}\"\n", self.description));
for node_idx in self.g.node_indices() { for node_idx in self.g.node_indices() {
let node=self.g.node_weight(node_idx).unwrap(); let node=self.g.node_weight(node_idx).unwrap();
dot_string.push_str(&format!(" node_idx_{} ", node_idx.index())); dot_string.push_str(&format!(" idx_{} ", node_idx.index()));
dot_string += &node.to_dot(); dot_string += &node.to_dot();
} }
for edge in self.g.edge_indices() { for edge in self.g.edge_indices() {
let end_nodes = self.g.edge_endpoints(edge).unwrap(); let end_nodes = self.g.edge_endpoints(edge).unwrap();
let node1 = self.g.node_weight(end_nodes.0).unwrap(); let node1 = self.g.node_weight(end_nodes.0).unwrap();
let node2 = self.g.node_weight(end_nodes.1).unwrap(); let node2 = self.g.node_weight(end_nodes.1).unwrap();
dot_string.push_str(&format!(" \"{}\" -> \"{}\"\n", node1.name(), node2.name())); dot_string.push_str(&format!(" idx_{} -> idx_{}\n", end_nodes.0.index(), end_nodes.1.index()));
} }
dot_string += "}"; dot_string += "}";
dot_string dot_string
...@@ -135,7 +135,7 @@ mod test { ...@@ -135,7 +135,7 @@ mod test {
scenery.add_node(OpticNode::new("Test", Box::new(NodeDummy))); scenery.add_node(OpticNode::new("Test", Box::new(NodeDummy)));
assert_eq!( assert_eq!(
scenery.to_dot(), scenery.to_dot(),
"digraph {\n label=\"SceneryTest\"\n node_idx_0 [label=\"Test\"]\n}" "digraph {\n label=\"SceneryTest\"\n idx_0 [label=\"Test\"]\n}"
); );
} }
#[test] #[test]
...@@ -147,7 +147,7 @@ mod test { ...@@ -147,7 +147,7 @@ mod test {
scenery.connect_nodes(n1,n2); scenery.connect_nodes(n1,n2);
assert_eq!( assert_eq!(
scenery.to_dot(), scenery.to_dot(),
"digraph {\n label=\"SceneryTest\"\n \"Test1\"\n \"Test2\"\n \"Test1\" -> \"Test2\"\n}" "digraph {\n label=\"SceneryTest\"\n idx_0 [label=\"Test1\"]\n idx_1 [label=\"Test2\"]\n idx_0 -> idx_1\n}"
); );
} }
#[test] #[test]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment