/// <summary> /// 添加到螺钉组合的链表中; /// </summary> /// <param name="mrBoltArray"></param> public void AppendMrBoltArray(CMrBoltArray mrBoltArray) { if (mrBoltArrayList.Contains(mrBoltArray)) { return; } mrBoltArrayList.Add(mrBoltArray); }
/// <summary> /// 构建与顶部板平行的零部件与其最近的零部件之间的关系; /// </summary> /// <param name="mrPartList"></param> public void BuildMostNearPartToPartList(List <CMrPart> mrPartList) { mDicPartToPartList.Clear(); foreach (CMrPart mrPart in mrPartList) { Vector normal = mrPart.mNormal; if (!mrPart.IsHaveBolt()) { continue; } //如果零部件的法向与主梁顶板的法向平行; if (CDimTools.GetInstance().IsTwoVectorParallel(normal, mTopBeam.mNormal)) { CMrBoltArray mrBoltArray = mrPart.GetBoltArrayList()[0]; Point boltPoint = mrBoltArray.GetMaxXPoint(); //需要寻找与该零件最近的零部件; CMrPart mostNearPart = CMrBeamDoorManager.GetInstance().GetMostNearPart(boltPoint); if (mDicPartToPartList.ContainsKey(mostNearPart)) { List <CMrPart> dimPartList = mDicPartToPartList[mostNearPart]; dimPartList.Add(mrPart); } else { List <CMrPart> dimPartList = new List <CMrPart>(); dimPartList.Add(mrPart); mDicPartToPartList[mostNearPart] = dimPartList; } } } }
/// <summary> /// 添加螺栓组; /// </summary> /// <param name="mrBolt"></param> public void AppendMrBoltArray(CMrBoltArray mrBoltArray) { mBoltArrayList.Add(mrBoltArray); }
/// <summary> /// 构造函数; /// </summary> /// <param name="mrBoltArray"></param> public CMrBoltArrayInfo(CMrBoltArray mrBoltArray) { this.mrBoltArray = mrBoltArray; }