private Visualization_of_nw_edge_line Generate_individual_edge(string source, Visualization_nw_edge_characterisation_line_class target) { Visualization_of_nw_edge_line new_edge_line = new Visualization_of_nw_edge_line(); new_edge_line.Arrow_color = Hexadecimal_color_class.Get_hexadecimial_code_for_color(Options.Edge_color); new_edge_line.Edge_id = source + "_to_" + target.Target; new_edge_line.Source_id = source; new_edge_line.Target_id = target.Target; new_edge_line.Arrow_width = target.Edge_width.ToString(); new_edge_line.Arrow_label = (string)target.Edge_label.Clone(); switch (target.EdgeArrow_type) { case EdgeArrow_type_enum.Arrow: new_edge_line.Arrow_type = "line"; new_edge_line.Arrow_source_end = "none"; new_edge_line.Arrow_target_end = "standard"; break; case EdgeArrow_type_enum.Dotted_line: new_edge_line.Arrow_type = "dotted"; new_edge_line.Arrow_source_end = "none"; new_edge_line.Arrow_target_end = "none"; break; case EdgeArrow_type_enum.Dashed_line: new_edge_line.Arrow_type = "dashed"; new_edge_line.Arrow_source_end = "none"; new_edge_line.Arrow_target_end = "none"; break; default: throw new Exception(); } return(new_edge_line); }
public Visualization_of_nw_edge_line Deep_copy() { Visualization_of_nw_edge_line copy = (Visualization_of_nw_edge_line)this.MemberwiseClone(); copy.Target_id = (string)this.Target_id.Clone(); copy.Source_id = (string)this.Source_id.Clone(); copy.Edge_id = (string)this.Edge_id.Clone(); copy.Arrow_source_end = (string)this.Arrow_source_end.Clone(); copy.Arrow_color = (string)this.Arrow_color.Clone(); copy.Arrow_target_end = (string)this.Arrow_target_end.Clone(); copy.Arrow_type = (string)this.Arrow_type.Clone(); copy.Arrow_width = (string)this.Arrow_width.Clone(); copy.Arrow_label = (string)this.Arrow_label.Clone(); copy.Arrow_label_font_size = (string)this.Arrow_label_font_size.Clone(); return(copy); }
private void Write_individual_edge(Visualization_of_nw_edge_line edge) { string spaces = Get_spaces_string(); string text_edge = spaces + "<edge id=\"" + edge.Edge_id + "\" source=\"" + edge.Source_id + "\" target=\"" + edge.Target_id + "\">\n" + spaces + " <data key=\"" + Key.Edge_description + "\"/>\n" + spaces + " <data key=\"" + Key.Edge_graphics + "\">\n" + spaces + " <y:PolyLineEdge>\n" + spaces + " <y:Path sx=\"0.0\" sy=\"0.0\" tx=\"0.0\" ty=\"0.0\"/>\n" + spaces + " <y:LineStyle color=\"" + edge.Arrow_color + "\" type=\"" + edge.Arrow_type + "\" width=\"" + edge.Arrow_width + "\"/>\n" + spaces + " <y:Arrows source=\"" + edge.Arrow_source_end + "\" target=\"" + edge.Arrow_target_end + "\"/>\n" + spaces + " <y:EdgeLabel alignment=\"center\" configuration=\"AutoFlippingLabel\" distance=\"2.0\" fontFamily=\"Dialog\" fontSize=\"" + edge.Arrow_label_font_size + "\" fontStyle=\"plain\" hasBackgroundColor=\"false\" hasLineColor=\"false\" height=\"28.501953125\" modelName=\"two_pos\" modelPosition=\"head\" preferredPlacement=\"anywhere\" ratio=\"0.5\" textColor=\"#000000\" visible=\"true\" width=\"25.123046875\" x=\"-72.580322265625\" y=\"-84.35603932425425\">" + edge.Arrow_label + "<y:PreferredPlacementDescriptor angle=\"0.0\" angleOffsetOnRightSide=\"0\" angleReference=\"absolute\" angleRotationOnRightSide=\"co\" distance=\"-1.0\" frozen=\"true\" placement=\"anywhere\" side=\"anywhere\" sideReference=\"relative_to_edge_flow\"/>" + spaces + " </y:EdgeLabel>" + spaces + " <y:BendStyle smoothed=\"false\"/>\n" + spaces + " </y:PolyLineEdge>\n" + spaces + " </data>\n" + spaces + "</edge>"; Writer.WriteLine(text_edge); }