private void VisitCADDatum(CyPhy.CADDatum datum)
{
if (!visitedPorts.Contains(datum.ID))
{
visitedPorts.Add(datum.ID);
bool parentIsComponent = (datum.ParentContainer is CyPhy.Component);
bool isStart = (datum.ID == startNodeID);
if (!isStart && parentIsComponent)
{
FoundConnectedNodes.Add(datum);
}
foreach (CyPhy.PortComposition conn in datum.SrcConnections.PortCompositionCollection)
{
visitedConns.Add(conn.ID);
VisitCADDatum(conn.SrcEnds.CADDatum);
}
foreach (CyPhy.PortComposition conn in datum.DstConnections.PortCompositionCollection)
{
visitedConns.Add(conn.ID);
VisitCADDatum(conn.DstEnds.CADDatum);
}
}
}