示例#1
0
        //public virtual MbePointInfo[] GetSnapPointArray()
        //{

        //    MbePointInfo[] infoArray = new MbePointInfo[posCount];
        //    for (int i = 0; i < posCount; i++) {
        //        MbePointInfo sp;
        //        //sp.layer = snapLayer;
        //        sp.layer = (ulong)layer;
        //        sp.point = GetPos(i);
        //        sp.selectFlag = false;
        //        sp.componentPinObj = null;
        //        infoArray[i] = sp;
        //    }
        //    return infoArray;
        //}

        public override MbePointInfo[] GetSnapPointArrayForMeasure()
        {
            MbePointInfo[] infoArray = GetSnapPointArray();
            Point          ptVia;

            if (getPointVia(out ptVia))
            {
                MbePointInfo sp;
                sp.layer           = (ulong)layer;
                sp.point           = ptVia;
                sp.selectFlag      = false;
                sp.componentPinObj = null;
                MbePointInfo[] infoArray_2 = new MbePointInfo[3];
                for (int i = 0; i < 2; i++)
                {
                    infoArray_2[i] = infoArray[i];
                }
                infoArray_2[2] = sp;
                return(infoArray_2);
            }
            else
            {
                return(infoArray);
            }
        }
        public override MbePointInfo[] GetSnapPointArray()
        {
            int nPoint = 1;

            if (contentsObj != null)
            {
                foreach (MbeObj obj in contentsObj)
                {
                    if (obj.Id() == MbeObjID.MbePTH ||
                        obj.Id() == MbeObjID.MbePinSMD ||
                        obj.Id() == MbeObjID.MbeHole)
                    {
                        nPoint++;
                    }
                }
            }
            MbePointInfo[] infoArray = new MbePointInfo[nPoint];
            MbePointInfo   sp;

            sp.layer           = (ulong)refNum.Layer;
            sp.point           = GetPos(0);
            sp.selectFlag      = false;
            sp.componentPinObj = null;
            infoArray[0]       = sp;
            int index = 1;

            if (contentsObj != null)
            {
                foreach (MbeObj obj in contentsObj)
                {
                    if (obj.Id() == MbeObjID.MbePTH ||
                        obj.Id() == MbeObjID.MbePinSMD ||
                        obj.Id() == MbeObjID.MbeHole)
                    {
                        sp.layer = obj.SnapLayer();
                        sp.point = obj.GetPos(0);
                        if (obj.Id() == MbeObjID.MbePTH || obj.Id() == MbeObjID.MbePinSMD)
                        {
                            sp.componentPinObj = obj; //RefNumText + "." + ((MbeObjPin)obj).PinNum;
                        }
                        else
                        {
                            sp.componentPinObj = null;
                        }
                        sp.selectFlag    = false;
                        infoArray[index] = sp;
                        index++;
                    }
                }
            }

            return(infoArray);
        }
示例#3
0
 public virtual MbePointInfo[] GetPosInfoArray()
 {
     MbePointInfo[] infoArray = new MbePointInfo[posCount];
     for (int i = 0; i < posCount; i++)
     {
         MbePointInfo sp;
         //sp.layer = snapLayer;
         sp.layer           = (ulong)layer;
         sp.point           = GetPos(i);
         sp.selectFlag      = selectFlag[i];
         sp.componentPinObj = null;
         infoArray[i]       = sp;
     }
     return(infoArray);
 }