or
Hello,
when I populate the graph with so many connections outgoing from a specific node, it takes so so so much time!
Here is my graph source
class GraphSource : GraphSourceBase<
Node
, Link>
{
List<
Cluster
> clusters = new List<
Cluster
>();
public GraphSource()
{
Cluster c1 = new Cluster("Cluster1");
Cluster c2 = new Cluster("Cluster2");
Cluster c3 = new Cluster("Cluster3");
Cluster c4 = new Cluster("Cluster4");
Cluster c5 = new Cluster("Cluster5");
Cluster c6 = new Cluster("Cluster6");
ECU eCU1 = new ECU("ECU1");
ECU eCU2= new ECU("ECU2");
ECU eCU3 = new ECU("ECU3");
ECU eCU4 = new ECU("ECU4");
ECU eCU5 = new ECU("ECU5");
ECU eCU6 = new ECU("ECU6");
ECU eCU7 = new ECU("ECU7");
ECU eCU8 = new ECU("ECU8");
ECU eCU9 = new ECU("ECU9");
ECU eCU10 = new ECU("ECU10");
ECU eCU11 = new ECU("ECU11");
ECU eCU12 = new ECU("ECU12");
ECU eCU13 = new ECU("ECU13");
ECU eCU14 = new ECU("ECU14");
ECU eCU15 = new ECU("ECU15");
ECU eCU16 = new ECU("ECU16");
ECU eCU17 = new ECU("ECU17");
ECU eCU18 = new ECU("ECU18");
ECU eCU19 = new ECU("ECU19");
ECU eCU20 = new ECU("ECU20");
c1.AddECU(eCU1);
c1.AddECU(eCU2);
c1.AddECU(eCU3);
c1.AddECU(eCU4);
c1.AddECU(eCU5);
c2.AddECU(eCU1);
c2.AddECU(eCU6);
c2.AddECU(eCU7);
c2.AddECU(eCU8);
c2.AddECU(eCU9);
c2.AddECU(eCU10);
c2.AddECU(eCU11);
c2.AddECU(eCU12);
c2.AddECU(eCU13);
c3.AddECU(eCU13);
c3.AddECU(eCU17);
c3.AddECU(eCU18);
c3.AddECU(eCU19);
c4.AddECU(eCU11);
c4.AddECU(eCU12);
c4.AddECU(eCU13);
c4.AddECU(eCU14);
c5.AddECU(eCU15);
c5.AddECU(eCU16);
c5.AddECU(eCU17);
c5.AddECU(eCU18);
c6.AddECU(eCU19);
c6.AddECU(eCU20);
clusters.Add(c1);
clusters.Add(c2);
clusters.Add(c3);
clusters.Add(c4);
clusters.Add(c5);
clusters.Add(c6);
}
public void PopulateGraph()
{
foreach (Cluster cluster in clusters)
{
Node vNode = new Node() { Width=10,Height=10};
this.AddNode(vNode);
foreach (ECU eCU in cluster.GetECUs())
{
IEnumerable<
Node
> res = from Node nn in this.Items where eCU.Name.Equals(nn.Content) select nn;
if (res.Count() == 0)
{
Node eNode = new Node() { Content = eCU.Name };
this.AddNode(eNode);
this.AddLink(new Link(vNode, eNode));
}
else
{
this.AddLink(new Link(vNode, res.First()));
}
}
}
}
}
Thanks in advance,
Hassan
<
telerik:RadRibbonTab
xmlns
=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
<br> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" <
br
> x:Class="TelerikWpfApp1.Views.HomeRibbonView"<
br
> xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.RibbonView"<
br
> Header="Home"><
br
> <
telerik:RadRibbonGroup
Header
=
"Jobs"
><
br
> <
telerik:RadRibbonButton
Content
=
"Job List"
Command
=
"{Binding OpenJobListCommand}"
/><
br
> </
telerik:RadRibbonGroup
><
br
> <
telerik:RadRibbonGroup
Header
=
"Data"
><
br
> <
telerik:RadRibbonButton
Content
=
"Sync Data"
Command
=
"{Binding OpenSyncViewCommand}"
/><
br
> </
telerik:RadRibbonGroup
><
br
></
telerik:RadRibbonTab
>