コード例 #1
0
ファイル: EleLine.cs プロジェクト: 741645596/Lab
    private void SetLinkInfo(CircuitObject Info)
    {
        m_LineAction.SetCtrlPositionInfo(Info.GetCtrlInfo());

        foreach (NDleapObject leap in m_HaveLeap)
        {
            if (leap == null)
            {
                continue;
            }
            LeapObject obj = Info.GetLinkInfo(leap.LeapIndex);
            if (obj != null)
            {
                //link
                NDlabObject lab = NDlabObject.FindLabObject(obj.linkCircuitObjectID);
                if (lab != null && lab is NDCircuitObject)
                {
                    NDleapObject leapobj = (lab as NDCircuitObject).FindLeap(obj.linkCircuitLeapIndex);
                    if (leapobj != null && leapobj is NDCircuitLeap)
                    {
                        (leap as NDLineLeap).Link = (leapobj as NDCircuitLeap);
                        (leapobj as NDCircuitLeap).AddLinkLine(this);
                    }
                }
            }
        }
    }
コード例 #2
0
    /// <summary>
    /// 获取连接的导线,
    /// </summary>
    public List <CircuitNodeLine> GetLinkLineNode()
    {
        List <CircuitNodeLine> lLineNode = new List <CircuitNodeLine>();

        NDlabObject obj = NDlabObject.FindLabObject(this.LabID);

        if (obj == null || (obj is NDCircuitObject) == false)
        {
            return(lLineNode);
        }

        NDCircuitObject cirobj = (obj as NDCircuitObject);
        List <EleLine>  l      = cirobj.GetLeapLinkLine(this.Type);

        foreach (EleLine v in l)
        {
            if (v == null)
            {
                continue;
            }

            lLineNode.Add(new CircuitNodeLine(this, v));
        }
        return(lLineNode);
    }