public List <PipeGroup> GetPipeGroups(double lengthBetweenPipe_Inch) { PipeGroupCollection pipeGroups = new PipeGroupCollection(); foreach (var slopePipes in this) { pipeGroups.AddRange(slopePipes.GetPipeGroups(lengthBetweenPipe_Inch)); } return(pipeGroups); }
public List <PipeGroup> GetPipeGroups(double lengthBetweenPipe_Inch) { PipeGroupCollection pipeGroups = new PipeGroupCollection(); SkewPipe start; SkewPipe pre, cur; start = pre = cur = SkewPipes[0]; OverlapChecker overlap = new OverlapChecker(cur, lengthBetweenPipe_Inch); for (int i = 1; i < SkewPipes.Count(); i++) { var result = overlap.Push(SkewPipes[i]); if (result != null && result.Count != 0) { pipeGroups.AddRange(result); } } pipeGroups.AddRange(overlap.Clear()); return(pipeGroups); }