예제 #1
0
            public List <PipeGroup> GetPipeGroups(double lengthBetweenPipe_Inch)
            {
                PipeGroupCollection pipeGroups = new PipeGroupCollection();

                foreach (var slopePipes in this)
                {
                    pipeGroups.AddRange(slopePipes.GetPipeGroups(lengthBetweenPipe_Inch));
                }
                return(pipeGroups);
            }
예제 #2
0
            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);
            }