private TranslateTree GetSavedAlgo()
{
TranslateTree myAlgo = FindOurAlgo();
if (myAlgo == null)
return null;
ISchematicDiagramClassName diagramClassName = myAlgo.SchematicDiagramClassName;
IName pName = diagramClassName as IName;
if (pName == null)
return null;
object unk = pName.Open();
ISchematicDiagramClass diagramClass = unk as ISchematicDiagramClass;
if (diagramClass == null)
return null;
// get the default algorithms for this diagram class
IEnumSchematicAlgorithm enumAlgorithms = diagramClass.SchematicAlgorithms;
if (enumAlgorithms == null)
return null;
TranslateTree savedAlgo = null;
enumAlgorithms.Reset();
ISchematicAlgorithm algorithm;
while ((algorithm = enumAlgorithms.Next()) != null)
{
savedAlgo = algorithm as TranslateTree;
if (savedAlgo != null)
break;
}
return savedAlgo;
}