Example #1
0
    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);
                    }
                }
            }
        }
    }
Example #2
0
    /// <summary>
    /// 计算距离
    /// </summary>
    protected float CalcDistance(NDleapObject leap1, NDleapObject leap2)
    {
        if (leap1 == null || leap2 == null)
        {
            return(10000.0f);
        }
        Vector3 v1 = U3DUtil.SetZ(leap1.ScreenPos, 0);
        Vector3 v2 = U3DUtil.SetZ(leap2.ScreenPos, 0);

        return(Vector2.Distance(v1, v2));
    }
Example #3
0
    public bool CheckLineInConnect(NDleapObject leap)
    {
        if (leap != null && leap is NDCircuitLeap)
        {
            NDCircuitLeap l = leap as NDCircuitLeap;
            if (l.HaveLine == false)
            {
                return(false);
            }
            foreach (EleLine line in l.LinkLine)
            {
                if (line.ConnectLink)
                {
                    return(true);
                }
            }
        }

        return(false);
    }