CyPhy2CAD_CSharp.CommonTraversal.VisitConnector C# (CSharp) Method

VisitConnector() private method

private VisitConnector ( ISIS.GME.Dsml.CyPhyML.Interfaces connector, MgaFCO parent ) : void
connector ISIS.GME.Dsml.CyPhyML.Interfaces
parent MgaFCO
return void
        private void VisitConnector(CyPhy.Connector connector, MgaFCO parent)
        {
            if (!visitedPorts.Contains(connector.ID + "_" + parent.ID))
            {
                visitedPorts.Add(connector.ID + "_" + parent.ID);

                bool parentIsComponent = (connector.ParentContainer is CyPhy.Component);
                bool isStart = (connector.ID == startNodeID);

                if (!isStart && parentIsComponent)
                {
                    FoundConnectedNodes.Add(connector);
                }

                foreach (CyPhy.ConnectorComposition conn in connector.SrcConnections.ConnectorCompositionCollection)
                {
                    if (topAssembly != null && !IsParent(conn, topAssembly))
                    {
                        continue;
                    }

                    if (parent.ObjType != GME.MGA.Meta.objtype_enum.OBJTYPE_REFERENCE ||
                       GetRefportOrParent((MgaConnection)conn.Impl, "src").ID == parent.ID)
                    {
                        VisitConnector(conn.SrcEnds.Connector, parent);
                    }
                }

                foreach (CyPhy.ConnectorComposition conn in connector.DstConnections.ConnectorCompositionCollection)
                {
                    if (topAssembly != null && !IsParent(conn, topAssembly))
                    {
                        continue;
                    }

                    if (parent.ObjType != GME.MGA.Meta.objtype_enum.OBJTYPE_REFERENCE ||
                       GetRefportOrParent((MgaConnection)conn.Impl, "dst").ID == parent.ID)
                    {
                        VisitConnector(conn.DstEnds.Connector, parent);
                    }
                }
            }
        }