public override void Validate() { base.Validate(); if(Lefts.Any(l => string.IsNullOrWhiteSpace(l)) || Rights.Any(r => string.IsNullOrWhiteSpace(r)) || Relation.Any(digit => !digit.HasValue) ) throw new NullReferenceException("Error! There are empty fields."); }
/// <summary> /// 移除队首的 /// </summary> public void PopFirst() { if (SkewPipes.Count == 0) { return; } SkewPipes.RemoveAt(0); Lefts.RemoveAt(0); Rights.RemoveAt(0); }
public void Clear() { lock (lockObject) { var array = Lefts.ToArray(); foreach (var item in array) { Remove(item); } } }
/// <summary> /// 移除队尾的 /// </summary> public void PopLast() { int index = SkewPipes.Count - 1; if (index < 0) { return; } SkewPipes.RemoveAt(index); Lefts.RemoveAt(index); Rights.RemoveAt(index); }
/// <summary> /// 加入队列 /// </summary> /// <param name="skewPipe"></param> public void Push(SkewPipe skewPipe) { //这里以X小的为左点,X大的为右点 SkewPipes.Add(skewPipe); var curve = (skewPipe.pipe.Location as LocationCurve).Curve; if (curve.GetEndPoint(0).X < curve.GetEndPoint(1).X) { Lefts.Add(ReferenceCurve.Project(curve.GetEndPoint(0)).XYZPoint); Rights.Add(ReferenceCurve.Project(curve.GetEndPoint(1)).XYZPoint); } else { Lefts.Add(ReferenceCurve.Project(curve.GetEndPoint(1)).XYZPoint); Rights.Add(ReferenceCurve.Project(curve.GetEndPoint(0)).XYZPoint); } }
public void SetListLength(int length) { while (Lefts.Count > length) { Rights.RemoveAt(Lefts.Count - 1); Lefts.RemoveAt(Lefts.Count - 1); Relation.RemoveAt(Lefts.Count - 1); } while (Lefts.Count < length) { Lefts.Add(new QPart { Text = "" }); Rights.Add(new QPart { Text = "" }); Relation.Add(Relation.Count); } }
/// <summary> /// 清空 /// </summary> public void Clear() { SkewPipes.Clear(); Lefts.Clear(); Rights.Clear(); }
public List <string> LeftsAsList() { return(Lefts.Select((text) => text.Text).ToList()); }