public Dictionary<AbstractCase, LinkedList<AbstractCase>> BuildAnalysisCaseAdjacency()
{
Dictionary<AbstractCase, LinkedList<AbstractCase>> adjancencyList = new Dictionary<AbstractCase, LinkedList<AbstractCase>>();
AnalysisCase aCase = null;
LoadCombination combo = null;
foreach (AbstractCase ac in abstractCases)
{
if ((aCase = ac as AnalysisCase) != null)
{
if (aCase.Properties.DependsOn == null)
{
if (!adjancencyList.ContainsKey(aCase))
adjancencyList.Add(aCase, new LinkedList<AbstractCase>());
}
else if (adjancencyList.ContainsKey(aCase.Properties.DependsOn))
adjancencyList[aCase.Properties.DependsOn].AddLast(aCase);
else
{
adjancencyList.Add(aCase.Properties.DependsOn, new LinkedList<AbstractCase>());
adjancencyList[aCase.Properties.DependsOn].AddLast(aCase);
}
}
else if ((combo = ac as LoadCombination) != null)
{
foreach (AbstractCaseFactor acf in combo.Cases)
{
if (adjancencyList.ContainsKey(acf.Case))
adjancencyList[acf.Case].AddLast(combo);
else
{
adjancencyList.Add(acf.Case, new LinkedList<AbstractCase>());
adjancencyList[acf.Case].AddLast(combo);
}
}
}
}
return adjancencyList;
}